@import url('https://fonts.googleapis.com/css2?family=Abhaya+Libre:wght@400;500;600;700;800&family=Catamaran:wght@400;500;600;700;800&family=Hind+Madurai:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&family=Merriweather:wght@400;700&family=Noto+Sans+Sinhala:wght@400;500;600;700;800&family=Noto+Sans+Tamil:wght@400;500;600;700;800&family=Noto+Sans:wght@400;500;600;700;800&family=Noto+Serif+Sinhala:wght@400;500;600;700&family=Noto+Serif+Tamil:wght@400;500;600;700&family=Noto+Serif:wght@400;500;600;700&family=Poppins:wght@400;500;600;700;800&family=Roboto:wght@400;500;700&family=Yaldevi:wght@400;500;600;700&display=swap');
:root{--navy:#0d2035;--blue:#2766e6;--sky:#eaf5ff;--orange:#ff812d;--ink:#0b1727;--muted:#5d6b80;--line:#dce4ee;--paper:#fff;--soft:#f5f8fc;--radius:18px;--shadow:0 20px 50px rgba(13,32,53,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,system-ui,sans-serif;line-height:1.6}html:lang(si) body,.lang-si{font-family:"Abhaya Libre",serif;font-size:17px;line-height:1.7}html:lang(si) h1,html:lang(si) h2,html:lang(si) h3,html:lang(si) h4,html:lang(si) .btn,html:lang(si) .main-nav,html:lang(si) .eyebrow,html:lang(si) .status,html:lang(si) .feature-chips{font-family:"Abhaya Libre",serif}html:lang(si) h1,html:lang(si) h2,html:lang(si) h3,html:lang(si) h4{font-weight:700;line-height:1.3}html:lang(si) .eyebrow,html:lang(si) .status{letter-spacing:.04em}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800}.brand-text{display:grid;line-height:1.05;letter-spacing:.09em}.brand-text small{font-size:9px;letter-spacing:.34em;margin-top:6px}.main-nav{display:flex;align-items:center;gap:26px;font-weight:700;font-size:14px}.main-nav>a:not(.btn):hover{color:var(--blue)}.language-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}.language-switch a{padding:5px 9px;border-radius:999px;font-size:12px}.language-switch .active{background:var(--navy);color:#fff}.nav-toggle{display:none;background:none;border:0;font-size:26px}
.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:#fff!important;border:1px solid var(--blue);border-radius:11px;padding:13px 22px;font-weight:800;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(39,102,230,.2)}.btn-small{padding:10px 16px}.btn-ghost{background:#fff;color:var(--ink)!important;border-color:#cbd6e4}.btn-light{background:#fff;color:var(--blue)!important;border-color:#fff}
.hero{background:radial-gradient(circle at 85% 10%,#d9f1ff,transparent 38%),linear-gradient(180deg,#fff,#f5f9fe);padding:72px 0}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}.eyebrow{display:block;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}.eyebrow.light{color:#83c2ff}.hero h1{font-size:clamp(43px,5vw,72px);line-height:1.03;letter-spacing:-.05em;margin:0 0 22px}.hero-copy>p{font-size:19px;color:var(--muted);max-width:590px}.hero-actions{display:flex;gap:12px;margin:28px 0}.hero-points{display:flex;gap:22px;flex-wrap:wrap;color:#344158;font-size:13px;font-weight:700}
.product-showcase{position:relative;min-height:500px;background:var(--navy);border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.showcase-slide{position:absolute;inset:0}.showcase-slide[hidden]{display:none}.showcase-slide img{width:100%;height:315px;object-fit:cover;background:#ecf4ff}.showcase-caption{padding:25px 28px;color:#fff}.showcase-caption h2{font-size:27px;margin:10px 0 5px}.showcase-caption p{margin:0;color:#d6e4f4}.showcase-caption a{display:inline-block;color:#78b8ff;font-weight:800;margin-top:10px}.showcase-controls{position:absolute;bottom:21px;right:25px;left:25px;display:flex;align-items:center;justify-content:space-between}.showcase-controls>button{width:38px;height:38px;border:1px solid #6b7f96;border-radius:50%;background:#17324e;color:#fff;font-size:25px;cursor:pointer}.showcase-dots{display:flex;gap:8px}.showcase-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#62768c;cursor:pointer}.showcase-dots .is-active{background:#fff;transform:scale(1.25)}
.status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.status.live{background:#dcf7e9;color:#087342}.status.planned{background:#fff1d9;color:#8a5300}.status.available{background:#dff0ff;color:#045faa}.status.growing{background:#eee6ff;color:#6130aa}
.section{padding:88px 0}.section-tint{background:var(--soft)}.section-title{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.04em;margin:0 0 16px}.section-lead{color:var(--muted);font-size:18px;margin:0 0 36px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-height:330px;display:flex;flex-direction:column;transition:.2s}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-card .status{position:absolute;right:20px;top:22px}.product-icon{width:58px;height:52px;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.product-card h3{font-size:20px;margin:23px 0 10px}.product-card p{color:var(--muted);font-size:14px}.product-card a{margin-top:auto;color:var(--blue);font-weight:800;font-size:14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split p,.split li{color:var(--muted)}.feature-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.feature-chips span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px}.lms-preview{margin:0;border:8px solid #fff;border-radius:20px;box-shadow:var(--shadow);overflow:hidden;background:#fff}.lms-preview img{aspect-ratio:16/9;object-fit:cover}.lms-preview figcaption{display:flex;justify-content:space-between;padding:14px 16px;font-size:12px;color:var(--muted)}.app-feature>img{max-height:480px;width:100%;object-fit:contain}.app-feature ul{padding-left:20px;margin-bottom:26px}
.dark-section{background:var(--navy);color:#fff}.section-title.light{color:#fff}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.value-grid article{border:1px solid #3a4b5e;border-radius:15px;padding:24px;background:#142a40}.value-grid h3{margin:0 0 8px}.value-grid p{margin:0;color:#c5d4e5;font-size:14px}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center}.about-grid p{color:var(--muted);font-size:19px}.cta-section{padding-top:0}.cta{background:linear-gradient(120deg,#2566eb,#164cae);color:#fff;border-radius:22px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:38px;margin:0}.cta p{margin-bottom:0;color:#dceaff}
.site-footer{background:#091828;color:#fff;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid p,.footer-grid a{color:#bdcada;font-size:13px}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid #29394a;margin-top:35px;padding-top:20px;color:#8fa0b3;font-size:12px}
.legal-page{background:var(--soft);padding:72px 0}.legal-shell{max-width:880px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(26px,5vw,60px);box-shadow:var(--shadow)}.legal-shell h1{font-size:44px;line-height:1.1;margin:0 0 8px}.legal-shell h2{margin-top:36px;font-size:22px}.legal-shell p,.legal-shell li{color:#526177}.legal-meta{font-size:13px;color:#718095}.legal-notice{background:#fff5dc;border-left:4px solid var(--orange);padding:15px;margin:25px 0}
@media(max-width:900px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:81px;left:0;right:0;background:#fff;padding:22px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.is-open{display:flex}.hero-grid,.split{grid-template-columns:1fr}.hero{padding-top:50px}.product-grid,.value-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr;gap:16px}.showcase-slide{position:relative}.product-showcase{min-height:520px}.cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.section{padding:62px 0}.hero h1{font-size:43px}.hero-actions{flex-direction:column}.hero-points{gap:9px;flex-direction:column}.product-grid,.value-grid{grid-template-columns:1fr}.product-showcase{min-height:545px}.showcase-slide img{height:260px}.showcase-controls{bottom:18px}.split{gap:34px}.cta{padding:28px}.cta h2{font-size:29px}.footer-grid{grid-template-columns:1fr}.lms-preview figcaption{flex-direction:column}.legal-shell h1{font-size:35px}}

/* LMS dashboard showcase strip */
.lms-dashboard-strip{position:relative;overflow:visible;padding:48px 0 58px;background:transparent;color:var(--ink);border:0}
.lms-dashboard-strip .eyebrow{color:#d86f25}.lms-dashboard-strip .section-title{color:var(--navy);margin:0 0 5px;font-size:clamp(28px,2.5vw,38px)}.lms-dashboard-strip-head{margin-bottom:26px;text-align:center}.lms-dashboard-strip-head p{max-width:760px;margin:0 auto;color:var(--muted);font-size:15px}
.lms-gallery{position:relative;width:min(100% - 48px,1180px);height:560px;margin:0 auto;overflow:hidden;perspective:1400px}.lms-gallery-track{position:relative;width:100%;height:100%;max-width:1500px;margin:0 auto}
.lms-gallery-card{position:absolute;left:50%;top:50%;width:min(58vw,900px);transform-origin:center center;border:1px solid #dbe5ef;border-radius:20px;background:#fff;padding:8px;box-shadow:0 18px 48px rgba(24,54,88,.14);opacity:0;transition:transform 1.05s cubic-bezier(.22,.72,.2,1),opacity .85s ease,filter .85s ease,box-shadow .85s ease;will-change:transform,opacity;pointer-events:none}
.lms-gallery-card.is-center{transform:translate(-50%,-50%) scale(1);opacity:1;z-index:5;filter:none;box-shadow:0 28px 65px rgba(24,54,88,.22);pointer-events:auto}
.lms-gallery-card.is-left{transform:translate(-108%,-50%) scale(.66);opacity:.82;z-index:3;filter:saturate(.85) brightness(.97)}
.lms-gallery-card.is-right{transform:translate(8%,-50%) scale(.66);opacity:.82;z-index:4;filter:saturate(.85) brightness(.97)}
.lms-gallery-card.is-far-left{transform:translate(-154%,-50%) scale(.48);opacity:.18;z-index:1;filter:saturate(.7) brightness(.96)}
.lms-gallery-card.is-far-right{transform:translate(54%,-50%) scale(.48);opacity:.18;z-index:2;filter:saturate(.7) brightness(.96)}
.lms-gallery-screen{overflow:hidden;border-radius:14px;background:#e9f0f6;aspect-ratio:2/1;box-shadow:0 6px 18px rgba(0,0,0,.08)}.lms-gallery-screen img{width:100%;height:auto;max-width:none;transform:translateY(-11.1111%);transition:filter .8s ease}.lms-gallery-card.is-center .lms-gallery-screen img{transform:translateY(-11.1111%)}
.lms-gallery-caption{display:flex;gap:11px;align-items:center;padding:10px 5px 3px}.lms-gallery-caption>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:linear-gradient(135deg,#ff812d,#ffad63);font-size:10px;font-weight:900;color:#fff}.lms-gallery-caption h3{margin:0 0 2px;font-size:15px;line-height:1.2;color:var(--navy)}.lms-gallery-caption p{margin:0;color:var(--muted);font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:720px}
@media(prefers-reduced-motion:reduce){.lms-gallery-card{transition:none}.lms-gallery-screen img{transition:none}}
@media(max-width:1100px){.lms-gallery{height:470px}.lms-gallery-card{width:min(66vw,760px)}.lms-gallery-card.is-left{transform:translate(-102%,-50%) scale(.62)}.lms-gallery-card.is-right{transform:translate(2%,-50%) scale(.62)}}
@media(max-width:760px){.lms-dashboard-strip{padding:36px 0 42px}.lms-gallery{width:min(100% - 28px,1180px)}.lms-dashboard-strip-head{margin-bottom:18px}.lms-gallery{height:380px}.lms-gallery-card{width:78vw}.lms-gallery-card.is-left{transform:translate(-112%,-50%) scale(.55);opacity:.6}.lms-gallery-card.is-right{transform:translate(12%,-50%) scale(.55);opacity:.6}.lms-gallery-card.is-far-left,.lms-gallery-card.is-far-right{opacity:0}.lms-gallery-caption p{display:none}}
@media(max-width:480px){.lms-gallery{height:290px}.lms-gallery-card{width:86vw}.lms-gallery-card.is-left{transform:translate(-118%,-50%) scale(.48)}.lms-gallery-card.is-right{transform:translate(18%,-50%) scale(.48)}.lms-gallery-caption{padding-top:7px}.lms-gallery-caption h3{font-size:13px}}

/* Sinhala navigation needs more visual weight and size than the compact Latin menu. */
html:lang(si) .main-nav{font-size:20px;font-weight:700;gap:23px}html:lang(si) .main-nav>.btn{font-size:19px}html:lang(si) .language-switch a{font-size:16px;padding:6px 11px}@media(max-width:900px){html:lang(si) .main-nav{font-size:21px;line-height:1.6}}

/* 2026-08-17 refinements: feathered LMS carousel edges + compact pill buttons */
.lms-gallery::before,
.lms-gallery::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:clamp(34px,7vw,96px);
  z-index:12;
  pointer-events:none;
}
.lms-gallery::before{
  left:0;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.82) 24%,rgba(255,255,255,0) 100%);
}
.lms-gallery::after{
  right:0;
  background:linear-gradient(270deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.82) 24%,rgba(255,255,255,0) 100%);
}

.btn{
  min-height:36px;
  border-radius:999px;
  padding:8px 18px;
  line-height:1.15;
}
.btn-small{
  min-height:32px;
  padding:6px 14px;
}
html:lang(si) .main-nav>.btn{
  padding-top:7px;
  padding-bottom:7px;
}

@media(max-width:760px){
  .lms-gallery::before,.lms-gallery::after{width:38px}
  .btn{min-height:34px;padding:7px 16px}
  .btn-small{min-height:30px;padding:5px 13px}
}


/* 2026-08-17 richer product content + mobile app presentation */
.product-depth-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.product-depth-grid article{border:1px solid var(--line);border-radius:18px;padding:24px;background:linear-gradient(180deg,#fff,#f9fbfe)}.product-depth-kicker{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--orange)}.product-depth-grid h3{margin:8px 0 8px;font-size:19px;color:var(--navy)}.product-depth-grid p{margin:0 0 15px;color:var(--muted);font-size:14px}.mini-points{display:flex;flex-wrap:wrap;gap:7px}.mini-points span{font-size:11px;padding:5px 9px;border-radius:999px;background:#eef4fb;color:#32435a}
.app-home-visual{margin:0;border-radius:22px;overflow:hidden;background:#0c2b63;box-shadow:var(--shadow)}.app-home-visual img{width:100%;height:auto;object-fit:cover}.app-home-visual figcaption{padding:10px 14px;background:#fff;color:var(--muted);font-size:11px}.app-note{padding:12px 15px;border-left:3px solid var(--orange);background:#fff7ef;border-radius:0 12px 12px 0;font-size:13px}
.mobile-hero{background:radial-gradient(circle at 75% 20%,#ddecff,transparent 36%),linear-gradient(180deg,#fff,#f5f9fe)}.mobile-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.mobile-hero h1{font-size:clamp(42px,5vw,70px);line-height:1.04;letter-spacing:-.045em;margin:0 0 20px}.mobile-hero p{font-size:18px;color:var(--muted);max-width:650px}.mobile-phone-visual{margin:0;display:flex;justify-content:center}.mobile-phone-visual img{width:min(100%,470px);max-height:680px;object-fit:contain;border-radius:28px;box-shadow:0 30px 80px rgba(13,32,53,.18)}
.mobile-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.mobile-feature-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px}.mobile-feature-grid article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf2ff;color:var(--blue);font-size:11px;font-weight:700}.mobile-feature-grid h3{font-size:17px;margin:15px 0 8px}.mobile-feature-grid p{font-size:13px;color:var(--muted);margin:0}.mobile-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:center}.mobile-detail-grid>div>p{color:var(--muted);font-size:17px}.mobile-info-card{background:var(--navy);color:#fff;border-radius:22px;padding:34px;box-shadow:var(--shadow)}.mobile-info-card strong{font-size:11px;letter-spacing:.12em;color:#86c4ff}.mobile-info-card h3{font-size:24px;line-height:1.25;margin:12px 0}.mobile-info-card p{color:#cbd9e8!important;font-size:14px!important}
.btn{font-weight:600}.main-nav>.btn{font-weight:600}html:lang(si) .main-nav>.btn{font-weight:600}
@media(max-width:900px){.product-depth-grid,.mobile-feature-grid{grid-template-columns:repeat(2,1fr)}.mobile-hero-grid,.mobile-detail-grid{grid-template-columns:1fr}.mobile-phone-visual img{max-height:560px}}@media(max-width:600px){.product-depth-grid,.mobile-feature-grid{grid-template-columns:1fr}.mobile-hero-grid{gap:35px}.mobile-phone-visual img{max-height:500px}.app-home-visual{border-radius:16px}}

/* 2026-08-18 brand, contact and footer refinements */
.brand{gap:11px;min-width:230px}.brand-mark{flex:0 0 44px}.brand-text{min-width:164px;line-height:.98;letter-spacing:0}.brand-text .brand-saylan{font-size:21px;font-weight:800;letter-spacing:-.025em;color:#137fd9;text-transform:none}.brand-text .brand-solutions{display:block;margin-top:3px;font-size:16px;font-weight:800;letter-spacing:.01em;color:#ed7b24;text-transform:none;text-align:right}.main-nav{gap:21px}
.contact-visual-strip{width:100%;overflow:hidden;background:linear-gradient(110deg,#071c37 0%,#0d4b91 50%,#0c2d58 100%);color:#fff}.contact-strip-inner{width:min(1320px,100%);min-height:340px;margin:0 auto;display:grid;grid-template-columns:1.05fr .85fr .7fr;align-items:center;position:relative;padding:0 38px}.contact-strip-copy{padding:38px 0;z-index:2}.contact-strip-copy h2{font-size:clamp(30px,3vw,44px);line-height:1.08;margin:8px 0 12px}.contact-strip-copy p{max-width:520px;color:#d6e5f5;margin:0}.contact-strip-phones{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.contact-strip-phones a{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:6px 12px;font-size:13px;color:#fff;background:rgba(255,255,255,.07)}.contact-strip-agent{align-self:end;height:340px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.contact-strip-agent img{height:100%;width:100%;object-fit:cover;object-position:center 18%;border-radius:0}.contact-strip-action{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding-left:34px}.contact-strip-action strong{font-size:27px}.contact-strip-action span{color:#d6e5f5;margin-bottom:9px}.cta-phones{font-size:13px!important;color:#fff!important;opacity:.9;margin-top:12px!important}
.footer-grid-expanded{grid-template-columns:1.55fr .7fr .7fr .72fr;gap:38px}.footer-brand-block{max-width:390px}.footer-brand{display:flex;align-items:center;gap:11px;width:max-content}.footer-brand .brand-text{min-width:158px}.footer-brand .brand-saylan{color:#39a7ff}.footer-brand .brand-solutions{color:#ff9135}.footer-brand-mark{background:linear-gradient(135deg,#0c407c,#168eff);box-shadow:0 8px 22px rgba(22,142,255,.18)}.footer-description{max-width:365px;line-height:1.55;margin:5px 0 0}.footer-phrase{font-size:13px!important;margin:2px 0}.footer-phrase strong{color:#43adff}.footer-phrase span{color:#ff963d;font-weight:700}.footer-phrase em{color:#61d69b;font-style:normal;font-weight:700}.footer-lms-qr img{width:126px;height:126px;object-fit:contain;background:#fff;padding:6px;border-radius:8px}.footer-lms-qr small{max-width:155px;color:#9fb0c2;font-size:11px;line-height:1.4}.footer-name-saylan{color:#39a7ff;font-weight:700}.footer-name-solutions{color:#ff9135;font-weight:700}
.contact-page-hero{padding:72px 0;background:radial-gradient(circle at 12% 18%,#e8f4ff,transparent 32%),linear-gradient(180deg,#fff,#f5f9fd)}.contact-page-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.contact-page-grid h1{font-size:clamp(42px,5vw,64px);line-height:1.04;letter-spacing:-.04em;margin:10px 0 18px;color:var(--navy)}.contact-page-grid>div>p{color:var(--muted);font-size:17px;max-width:580px}.contact-number-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}.contact-number-grid a{display:flex;flex-direction:column;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 26px rgba(31,65,104,.06)}.contact-number-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contact-number-grid strong{color:var(--navy);font-size:17px}.contact-email-link{font-weight:700;color:var(--blue)}.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow)}.contact-form-card h2{font-size:28px;margin:0 0 4px}.contact-form-card>p{font-size:14px!important;margin:0 0 22px}.contact-form{display:flex;flex-direction:column;gap:15px}.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#35465a}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d4dfeb;border-radius:12px;padding:11px 13px;font:inherit;font-size:14px;color:var(--ink);background:#fff;outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#69a9ec;box-shadow:0 0 0 3px rgba(37,102,235,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hp-field{position:absolute!important;left:-9999px!important}.form-alert{padding:10px 12px;border-radius:10px;margin:0 0 16px;font-size:13px}.form-alert.success{background:#eaf8ef;color:#17653a}.form-alert.error{background:#fff0ee;color:#9b3126}
@media(max-width:1050px){.brand{min-width:205px}.brand-text{min-width:140px}.brand-text .brand-saylan{font-size:19px}.brand-text .brand-solutions{font-size:14px}.main-nav{gap:14px;font-size:13px}.footer-grid-expanded{grid-template-columns:1.35fr .7fr .7fr .72fr;gap:26px}}
@media(max-width:900px){.brand{min-width:0}.contact-strip-inner{grid-template-columns:1fr 1fr;padding:0 28px}.contact-strip-action{display:none}.contact-strip-agent{height:310px}.footer-grid-expanded{grid-template-columns:1.4fr 1fr}.contact-page-grid{grid-template-columns:1fr;gap:38px}}
@media(max-width:600px){.brand-text .brand-saylan{font-size:18px}.brand-text .brand-solutions{font-size:13px}.contact-strip-inner{grid-template-columns:1fr;padding:0 20px}.contact-strip-copy{padding:34px 0 14px}.contact-strip-agent{height:290px}.contact-strip-phones{gap:6px}.contact-strip-phones a{font-size:12px}.footer-grid-expanded{grid-template-columns:1fr}.footer-lms-qr img{width:112px;height:112px}.contact-number-grid,.form-row{grid-template-columns:1fr}.contact-form-card{padding:24px}}

/* 2026-08-18 contact strip / inline form refinement v2 */
#contact-strip{scroll-margin-top:82px}
#contact-form{scroll-margin-top:90px}
.brand-text{display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:188px}
.brand-text .brand-saylan{font-size:25px;font-weight:800;line-height:.95;text-align:right;width:100%}
.brand-text .brand-solutions{font-size:19px;font-weight:800;line-height:1;margin-top:5px;text-align:right;width:100%}
.footer-brand .brand-text{min-width:188px;align-items:flex-end;text-align:right}
.footer-brand .brand-saylan{font-size:25px;line-height:.95;text-align:right;width:100%}
.footer-brand .brand-solutions{font-size:19px;line-height:1;margin-top:5px;text-align:right;width:100%}
.inline-contact-section{padding:0;background:linear-gradient(180deg,#f6f9fd,#fff);border-bottom:1px solid var(--line)}
.inline-contact-section[hidden]{display:none}
.inline-contact-section.is-open{display:block}
.inline-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:58px;align-items:start;padding-top:58px;padding-bottom:64px}
.inline-contact-intro h2{font-size:clamp(32px,3.2vw,46px);line-height:1.08;margin:8px 0 14px;color:var(--navy)}
.inline-contact-intro>p{color:var(--muted);font-size:16px;max-width:500px}
.compact-contact-numbers{margin-top:24px}
.contact-strip-action .btn{cursor:pointer}
@media(max-width:1050px){
  .brand-text{min-width:168px}.brand-text .brand-saylan{font-size:23px}.brand-text .brand-solutions{font-size:17px}
  .footer-brand .brand-text{min-width:168px}.footer-brand .brand-saylan{font-size:23px}.footer-brand .brand-solutions{font-size:17px}
}
@media(max-width:900px){
  #contact-strip{scroll-margin-top:76px}
  .inline-contact-grid{grid-template-columns:1fr;gap:28px;padding-top:42px;padding-bottom:48px}
  .contact-strip-action{display:flex;padding-left:18px}
}

/* v56: landing-page proportion, anchor, contact and footer refinements. */
@media (hover:hover) and (pointer:fine){
  .site-header .main-nav>a:not(.nav-image-tools):not(.nav-login-btn):hover{
    color:#082b58!important;
    background:linear-gradient(180deg,#ffd166,#ffc439)!important;
    box-shadow:0 7px 18px rgba(255,196,57,.24)!important;
  }
  .site-header .main-nav>a.nav-image-tools:hover{
    color:#082b58!important;
    border-color:#ffd875;
    background:linear-gradient(180deg,#ffd166,#ffc439)!important;
    box-shadow:0 8px 20px rgba(255,196,57,.27);
  }
}

/* Give the opening visual the same presence as the major content sections. */
@media(min-width:1051px){
  .hero-cinematic .hero-wide{height:450px!important;min-height:450px!important}
  .hero-cinematic .hero-heading{top:36px!important}
  .hero-cinematic .hero-heading h1{font-size:clamp(42px,3.45vw,54px)!important;line-height:1.06!important}
  .hero-cinematic .hero-copy{top:226px!important}
  .hero-cinematic .hero-copy>p{font-size:16px!important;line-height:1.62!important}
  .hero-cinematic .hero-media{height:450px!important;min-height:450px!important}
  .hero-cinematic .hero-media-actions{top:376px!important}
}
@media(min-width:821px) and (max-width:1050px){
  .hero-cinematic .hero-wide{height:470px!important;min-height:470px!important}
  .hero-cinematic .hero-heading h1{font-size:clamp(40px,5vw,52px)!important}
  .hero-cinematic .hero-copy{top:235px!important}
  .hero-cinematic .hero-media{height:470px!important;min-height:470px!important}
  .hero-cinematic .hero-media-actions{top:386px!important}
}

/* Anchor destinations retain a deliberate visual gap below the sticky menu. */
html{scroll-padding-top:150px}
main #products,main #apps,main #model-papers,main #file-tools,main #about,main #faq,main #contact-strip{scroll-margin-top:150px!important}

/* About follows the same left-hand heading alignment as the other sections. */
.about-section-title{max-width:820px!important;margin-left:0!important;margin-right:0!important;text-align:left!important}
.about-section-title .eyebrow{color:#0b82a8!important}

/* Customer contact cards: dark brand tones, amber accents and white text. */
.contact-strip-phones{gap:9px}
.contact-strip-phones a{
  min-width:132px;
  padding:9px 13px;
  border:1px solid rgba(255,190,92,.72);
  border-radius:11px;
  background:linear-gradient(135deg,rgba(5,35,72,.94),rgba(10,82,126,.9));
  color:#fff!important;
  box-shadow:0 8px 18px rgba(1,22,45,.18),inset 3px 0 0 #ffb34f;
  font-weight:500;
  text-align:center;
}
.contact-strip-phones a:hover{border-color:#ffd18c;background:linear-gradient(135deg,#0a4076,#0a7590);color:#ffd18c!important;transform:translateY(-1px)}
.contact-strip-direct{
  margin-left:20px;
  padding:22px!important;
  border:1px solid rgba(255,190,92,.58);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(5,34,69,.9),rgba(12,72,111,.82));
  box-shadow:0 14px 28px rgba(1,20,43,.2),inset 4px 0 0 #ffad42;
}
.contact-strip-direct strong{color:#ffbd68}
.contact-strip-direct span{color:#fff}
.contact-strip-direct .contact-direct-email{color:#ffd08c;border-bottom-color:rgba(255,208,140,.7)}

/* Keep the PayPal wordmark at the far right; the enquiry control was removed. */
.site-footer .footer-payment-strip{width:min(var(--site-content-width),calc(100% - (var(--site-gutter) * 2)))!important;flex-wrap:nowrap!important}
.site-footer .footer-paypal-wordmark{margin-left:auto!important;text-align:right}

/* Smaller, slightly lower back-to-top control. */
.back-to-top{right:18px;bottom:10px;width:42px;height:42px}
.back-to-top svg{width:20px;height:20px}

@media(max-width:900px){
  html{scroll-padding-top:110px}
  main #products,main #apps,main #model-papers,main #file-tools,main #about,main #faq,main #contact-strip{scroll-margin-top:110px!important}
  .contact-strip-direct{margin-left:0}
}
@media(max-width:700px){
  .site-footer .footer-payment-strip{flex-wrap:wrap!important}
  .site-footer .footer-paypal-wordmark{margin-left:auto!important}
}
@media(max-width:600px){
  .back-to-top{right:12px;bottom:8px;width:40px;height:40px}
  .back-to-top svg{width:19px;height:19px}
  .contact-strip-phones a{min-width:calc(50% - 5px)}
}
@media(max-width:600px){
  .brand-text{min-width:142px}.brand-text .brand-saylan{font-size:20px}.brand-text .brand-solutions{font-size:15px}
  .footer-brand .brand-text{min-width:156px}.footer-brand .brand-saylan{font-size:22px}.footer-brand .brand-solutions{font-size:16px}
  .inline-contact-grid{padding-top:34px;padding-bottom:40px}
}

/* LMS feature section: full-width copy, no static preview image */
.lms-feature-wide{position:relative;overflow:hidden;background:linear-gradient(135deg,#f5f9ff 0%,#eef5fc 48%,#f8fbff 100%);border-top:1px solid #e6edf5;border-bottom:1px solid #e6edf5}
.lms-feature-wide::before{content:"";position:absolute;inset:auto -10% -90px auto;width:420px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(31,126,232,.10),transparent 68%);pointer-events:none}
.lms-feature-copy{max-width:1120px;margin:0 auto;text-align:left}
.lms-feature-copy .section-title{font-size:clamp(48px,6.5vw,92px);line-height:.98;letter-spacing:-.045em;margin:8px 0 20px;color:var(--navy)}
.lms-feature-copy h3{font-size:clamp(20px,2vw,28px);margin:0 0 16px;color:var(--ink)}
.lms-feature-copy p{max-width:960px;font-size:clamp(16px,1.25vw,19px);line-height:1.7;color:var(--muted)}
.lms-feature-copy .feature-chips{margin:26px 0 0}
.lms-feature-copy .feature-chips span{font-size:13px;padding:8px 14px;background:rgba(255,255,255,.88);box-shadow:0 6px 16px rgba(27,69,111,.05)}
.lms-demo-action{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:4px auto 0;padding:0 24px 58px}
.lms-demo-action .btn{min-width:180px;text-align:center}
@media(max-width:760px){.lms-feature-copy .section-title{font-size:clamp(42px,13vw,64px)}.lms-demo-action{padding-bottom:44px}}


/* 2026-08-18 LMS compact centered strip + bilingual mobile app layout v4 */
.lms-feature-wide{padding:42px 0 38px;background:linear-gradient(110deg,#eef7ff 0%,#f8fbff 40%,#fff4ea 100%)}
.lms-feature-wide::before{width:520px;height:250px;right:-6%;bottom:-150px;background:radial-gradient(circle,rgba(255,129,45,.14),transparent 68%)}
.lms-feature-copy{max-width:980px;text-align:center}
.lms-feature-copy .eyebrow{margin-bottom:8px;color:#2766e6}
.lms-feature-copy .section-title{font-size:clamp(38px,4.5vw,62px);margin:4px 0 10px;color:#0d3768}
.lms-feature-copy h3{font-size:clamp(18px,1.7vw,24px);margin:0 0 8px;color:#e66f1f}
.lms-feature-copy p{max-width:880px;margin:0 auto;font-size:clamp(14px,1.1vw,17px);line-height:1.55;color:#52647b}
.lms-feature-copy .feature-chips{justify-content:center;margin:18px 0 0}
.lms-feature-copy .feature-chips span{font-size:12px;padding:6px 12px;background:#fff;border-color:#cfddeb;color:#173758;box-shadow:0 5px 14px rgba(27,69,111,.05)}
.lms-demo-action{padding-bottom:44px}

.mobile-app-intro{padding:70px 0;background:linear-gradient(135deg,#f6faff 0%,#eef6ff 55%,#fff7ef 100%)}
.mobile-app-common{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.mobile-common-copy h1{font-size:clamp(40px,5vw,66px);line-height:1.02;letter-spacing:-.045em;margin:0 0 16px;color:var(--navy)}
.mobile-common-copy>p{font-size:17px;color:var(--muted);max-width:700px;margin:0}
.mobile-common-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.mobile-common-chips span{padding:7px 12px;border:1px solid #ccdae8;border-radius:999px;background:rgba(255,255,255,.88);font-size:12px;font-weight:700;color:#284560}
.mobile-store-row{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}
.mobile-price-box{min-width:230px;display:flex;flex-direction:column;justify-content:center;padding:13px 17px;border:1px solid #d4dfeb;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(13,32,53,.06)}
.mobile-price-box small{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--orange)}
.mobile-price-box strong{font-size:19px;line-height:1.2;color:var(--navy)}
.mobile-price-box span{font-size:11px;color:var(--muted);margin-top:2px}
.google-play-btn{display:flex;align-items:center;gap:11px;min-width:205px;padding:11px 17px;border-radius:16px;background:#0b1727;color:#fff;box-shadow:0 10px 26px rgba(13,32,53,.18);transition:.2s}
.google-play-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(13,32,53,.24)}
.google-play-btn .play-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#33c36b,#2f7ff0);font-size:14px}
.google-play-btn span:last-child{display:flex;flex-direction:column;line-height:1.05}.google-play-btn small{font-size:8px;letter-spacing:.08em}.google-play-btn strong{font-size:17px;margin-top:3px}
.mobile-common-image{margin:0;border:8px solid #fff;border-radius:22px;overflow:hidden;box-shadow:0 22px 60px rgba(13,32,53,.14);background:#fff}.mobile-common-image img{width:100%;height:auto}
.mobile-language-section{padding:70px 0 86px}
.mobile-language-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mobile-language-card{position:relative;display:grid;grid-template-columns:1fr .8fr;gap:22px;align-items:center;min-height:520px;padding:34px;border:1px solid #dce6f0;border-radius:24px;background:linear-gradient(145deg,#fff,#f3f8ff);box-shadow:0 18px 45px rgba(13,32,53,.08);overflow:hidden}
.mobile-language-card.sinhala-card{background:linear-gradient(145deg,#fff,#fff7ef)}
.mobile-language-card .language-badge{position:absolute;top:22px;right:22px;display:grid;place-items:center;min-width:42px;height:42px;padding:0 9px;border-radius:13px;background:#e8f2ff;color:#1766c4;font-size:12px;font-weight:900}
.mobile-language-card.sinhala-card .language-badge{background:#fff0e2;color:#d66b1d}
.mobile-language-copy .eyebrow{margin-bottom:9px}.mobile-language-card.sinhala-card .eyebrow{color:#d66b1d}
.mobile-language-copy h2{font-size:clamp(28px,2.5vw,38px);line-height:1.05;margin:0 0 14px;color:var(--navy)}
.mobile-language-copy p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}
.mobile-language-card figure{margin:0;display:flex;justify-content:center;align-items:center;height:430px}
.mobile-language-card figure img{max-height:100%;width:auto;object-fit:contain;border-radius:22px;box-shadow:0 18px 45px rgba(13,32,53,.14)}
@media(max-width:900px){.mobile-app-common{grid-template-columns:1fr}.mobile-common-image{max-width:760px}.mobile-language-grid{grid-template-columns:1fr}.mobile-language-card{min-height:0;grid-template-columns:1fr .75fr}.lms-feature-wide{padding:36px 0 34px}}
@media(max-width:600px){.lms-feature-wide{padding:30px 0 28px}.lms-feature-copy .section-title{font-size:clamp(34px,11vw,48px)}.lms-feature-copy .feature-chips{gap:6px}.lms-feature-copy .feature-chips span{font-size:11px}.mobile-app-intro{padding:52px 0}.mobile-common-copy h1{font-size:42px}.mobile-store-row{flex-direction:column}.mobile-price-box,.google-play-btn{width:100%}.mobile-language-card{grid-template-columns:1fr;padding:26px}.mobile-language-card figure{height:390px}.mobile-language-card .language-badge{top:18px;right:18px}}

@media(max-width:520px){.lms-demo-action .btn{width:min(100%,280px)}}

/* 2026-08-18 contact card + form polish v6 */
.compact-contact-numbers .contact-card{position:relative;overflow:hidden;min-height:108px;justify-content:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;background:linear-gradient(145deg,#ffffff,#f5f9ff)}
.compact-contact-numbers .contact-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(31,65,104,.13)}
.compact-contact-numbers .contact-card.mobile{background:linear-gradient(145deg,#eef6ff,#ffffff);border-color:#bdd7f5}
.compact-contact-numbers .contact-card.office{background:linear-gradient(145deg,#fff5e8,#ffffff);border-color:#f2c98f}
.compact-contact-numbers .contact-card.whatsapp{background:linear-gradient(145deg,#eafbf1,#ffffff);border-color:#9fdfb9}
.compact-contact-numbers .contact-card.whatsapp::after{content:'WA';position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:10px;font-weight:800;letter-spacing:.03em}
.compact-contact-numbers .contact-card em{font-style:normal;font-size:11px;margin-top:7px;color:#6c7a8d;font-weight:600}
.compact-contact-numbers .contact-card.whatsapp em{color:#18864b}

.contact-form-card{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #cbdcf0;box-shadow:0 18px 48px rgba(31,65,104,.12);position:relative;overflow:hidden}
.contact-form-card::before{content:'';position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,#1677e8,#35a7ff,#ff9a1f)}
.contact-form-card h2{color:var(--navy);letter-spacing:-.02em}
.contact-form{gap:17px}
.contact-form label{font-size:12px;color:#25384f}
.contact-form input,.contact-form select,.contact-form textarea{background:#fff;border:1px solid #cbd8e7;border-radius:14px;padding:12px 14px;box-shadow:inset 0 1px 2px rgba(31,65,104,.03);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:#9fc1e6;background:#fcfdff}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#2f83e8;box-shadow:0 0 0 4px rgba(47,131,232,.11)}
.contact-form textarea{min-height:150px}
.contact-form .btn{align-self:flex-start;min-width:150px;padding-inline:24px}
.form-alert.success{background:linear-gradient(90deg,#e6f8ee,#f2fcf6);border:1px solid #bce6cb;color:#17653a;font-weight:700}
.form-alert.error{border:1px solid #f1c1ba;font-weight:700}

/* 2026-08-18 v7: bright product cards + unified LMS intro */
.products-bright{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 18%,rgba(40,139,255,.12),transparent 28%),
    radial-gradient(circle at 92% 22%,rgba(255,137,39,.13),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.product-grid-bright{position:relative;z-index:1}
.product-grid-bright .product-card{
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 16px 38px rgba(18,56,96,.12);
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
.product-grid-bright .product-card::before{
  content:"";position:absolute;inset:0;z-index:-2;opacity:.96;
}
.product-grid-bright .product-card::after{
  content:"";position:absolute;right:-46px;bottom:-58px;width:150px;height:150px;border-radius:50%;
  background:rgba(255,255,255,.22);z-index:-1;
}
.product-card-lms::before{background:linear-gradient(145deg,#e8f5ff 0%,#7cc7ff 52%,#3e8ff2 100%)}
.product-card-erp::before{background:linear-gradient(145deg,#fff4d8 0%,#ffc864 52%,#ff922e 100%)}
.product-card-pos::before{background:linear-gradient(145deg,#e8fff0 0%,#78e7a3 52%,#24b764 100%)}
.product-card-app::before{background:linear-gradient(145deg,#f8eaff 0%,#d59cff 52%,#9a58df 100%)}
.product-grid-bright .product-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 22px 46px rgba(18,56,96,.19);filter:saturate(1.06)}
.product-grid-bright .product-card h3{font-size:22px;color:#0b2544}
.product-grid-bright .product-card p{color:#213a56;font-weight:500}
.product-grid-bright .product-card a{color:#082f68}
.product-grid-bright .product-icon{background:rgba(7,31,59,.9);box-shadow:0 8px 20px rgba(7,31,59,.18)}
.product-grid-bright .status{background:rgba(255,255,255,.72);color:#173a62;border:1px solid rgba(255,255,255,.82);backdrop-filter:blur(8px)}
.product-card-reveal{opacity:0;transform:translateY(28px) scale(.98);animation:productCardReveal .72s cubic-bezier(.2,.78,.25,1) forwards;animation-delay:var(--reveal-delay,0ms)}
@keyframes productCardReveal{to{opacity:1;transform:translateY(0) scale(1)}}

.lms-combined-strip{
  padding-top:52px;
  background:
    radial-gradient(circle at 15% 0%,rgba(41,139,255,.11),transparent 32%),
    radial-gradient(circle at 88% 6%,rgba(255,129,45,.12),transparent 31%),
    linear-gradient(180deg,#f9fcff 0%,#ffffff 46%);
}
.lms-combined-head{margin-bottom:18px}
.lms-combined-head>div{max-width:980px;margin:0 auto}
.lms-combined-head .section-title{font-size:clamp(36px,4vw,56px);margin-bottom:5px;color:#123e73}
.lms-combined-subtitle{margin:0 0 12px;font-size:clamp(20px,2vw,28px);line-height:1.25;color:#ef741f;font-weight:800}
.lms-combined-subtitle span{color:#6a7e95;padding:0 7px}
.lms-combined-head p{max-width:900px;font-size:15px;line-height:1.65}
.lms-combined-head .feature-chips{justify-content:center;margin:17px 0 0}
.lms-combined-head .feature-chips span{background:linear-gradient(180deg,#fff,#f3f8ff);border-color:#cbdced;box-shadow:0 5px 14px rgba(32,75,118,.06)}
html:lang(si) .lms-combined-subtitle{font-size:clamp(23px,2.2vw,31px);line-height:1.45}
html:lang(si) .lms-combined-head p{font-size:18px;line-height:1.75}
html:lang(si) .product-grid-bright .product-card p{font-size:17px;line-height:1.65}
html:lang(si) .product-grid-bright .product-card h3{font-size:25px}
@media(prefers-reduced-motion:reduce){.product-card-reveal{opacity:1;transform:none;animation:none}}
@media(max-width:760px){.lms-combined-strip{padding-top:38px}.lms-combined-subtitle span{display:none}.lms-combined-subtitle{max-width:620px;margin-left:auto;margin-right:auto}.product-card-reveal{animation-duration:.55s}}
\n\n/* 2026-08-18 About section refinement v8 */\n.about-section{position:relative;overflow:hidden;background:linear-gradient(120deg,#f4f9ff 0%,#ffffff 48%,#fff5ec 100%);border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7}\n.about-section:before,.about-section:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}\n.about-section:before{width:310px;height:310px;left:-170px;top:-120px;background:radial-gradient(circle,rgba(39,102,230,.15),rgba(39,102,230,0) 70%)}\n.about-section:after{width:360px;height:360px;right:-185px;bottom:-180px;background:radial-gradient(circle,rgba(255,129,45,.17),rgba(255,129,45,0) 70%)}\n.about-shell{position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}\n.about-heading{padding:14px 0}.about-heading .section-title{max-width:520px;color:#102f55;margin-bottom:18px}.about-intro{font-size:18px!important;line-height:1.75;color:#42556d!important;max-width:540px;margin:0}\n.about-story{background:rgba(255,255,255,.78);border:1px solid rgba(204,219,235,.9);border-radius:24px;padding:30px;box-shadow:0 20px 50px rgba(24,62,102,.08);backdrop-filter:blur(10px)}\n.about-story>p{margin:0 0 24px;color:#586a80;font-size:16px;line-height:1.78}\n.about-points{display:grid;grid-template-columns:1fr;gap:12px}.about-points article{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:15px 16px;border-radius:16px;background:linear-gradient(100deg,#f8fbff,#fff);border:1px solid #e1eaf4;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.about-points article:hover{transform:translateX(5px);box-shadow:0 10px 28px rgba(20,68,116,.08);border-color:#cddff2}.about-points article>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#136fd3,#42b4ff);color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(24,118,214,.18)}\n.about-points article:nth-child(2)>span{background:linear-gradient(135deg,#ef711d,#ffad3e);box-shadow:0 8px 18px rgba(239,113,29,.18)}\n.about-points article:nth-child(3)>span{background:linear-gradient(135deg,#14945f,#49c98d);box-shadow:0 8px 18px rgba(20,148,95,.18)}\n.about-points h3{margin:0 0 3px;font-size:16px;color:#132f50}.about-points p{margin:0;color:#66768b;font-size:13px;line-height:1.55}\nhtml:lang(si) .about-intro{font-size:20px!important;line-height:1.8}html:lang(si) .about-story>p{font-size:18px;line-height:1.85}html:lang(si) .about-points h3{font-size:19px}html:lang(si) .about-points p{font-size:16px;line-height:1.7}\n@media(max-width:900px){.about-shell{grid-template-columns:1fr;gap:28px}.about-heading .section-title{max-width:760px}.about-intro{max-width:760px}.about-story{padding:24px}}\n@media(max-width:600px){.about-story{padding:18px;border-radius:18px}.about-points article{grid-template-columns:42px 1fr;padding:13px}.about-points article>span{width:36px;height:36px;border-radius:11px}}\n
/* 2026-08-18 Hero showcase redesign v9 */
.showcase-redesign{position:relative;min-height:480px;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,#0b2340 0%,#103d70 54%,#0c3159 100%);box-shadow:0 30px 70px rgba(14,48,86,.18);isolation:isolate}
.showcase-redesign:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 78% 18%,rgba(66,181,255,.22),transparent 30%),radial-gradient(circle at 14% 88%,rgba(255,138,42,.18),transparent 28%);pointer-events:none;z-index:0}
.showcase-redesign .showcase-slide{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;opacity:0;visibility:hidden;transform:translateX(36px) scale(.985);transition:opacity .85s ease,transform 1.05s cubic-bezier(.2,.75,.2,1),visibility 0s linear .9s;z-index:1;pointer-events:none}
.showcase-redesign .showcase-slide.is-active{opacity:1;visibility:visible;transform:translateX(0) scale(1);transition-delay:0s;pointer-events:auto;z-index:2}
.showcase-redesign .showcase-image-wrap{margin:22px 22px 0;border-radius:21px;overflow:hidden;background:#f4f8fc;min-height:300px;box-shadow:0 18px 42px rgba(0,0,0,.22);transform:translateY(18px);opacity:.35;transition:transform 1s cubic-bezier(.2,.75,.2,1),opacity .8s ease}
.showcase-redesign .showcase-slide.is-active .showcase-image-wrap{transform:translateY(0);opacity:1}
.showcase-redesign .showcase-image-wrap img{width:100%;height:305px;display:block;object-fit:cover;object-position:center;transform:scale(1.035);transition:transform 5.5s ease}
.showcase-redesign .showcase-slide.is-active .showcase-image-wrap img{transform:scale(1)}
.showcase-redesign .showcase-mobile .showcase-image-wrap img{object-fit:contain;background:linear-gradient(135deg,#eef7ff,#fff5eb);padding:10px}
.showcase-redesign .showcase-caption{position:relative;padding:22px 28px 27px;color:#fff;background:linear-gradient(180deg,rgba(8,31,56,.15),rgba(7,26,47,.88));transform:translateY(16px);opacity:0;transition:transform .8s ease .18s,opacity .8s ease .18s}
.showcase-redesign .showcase-slide.is-active .showcase-caption{transform:translateY(0);opacity:1}
.showcase-redesign .showcase-caption h2{font-size:29px;margin:9px 0 4px;letter-spacing:-.025em}.showcase-redesign .showcase-caption p{margin:0;max-width:590px;color:#d7e6f5}.showcase-redesign .showcase-caption a{display:inline-block;color:#79c4ff;font-weight:800;margin-top:9px}.showcase-redesign .showcase-mobile .showcase-caption a{color:#ffd09d}
.showcase-redesign .showcase-controls{display:none!important}
@media(max-width:900px){.showcase-redesign{min-height:470px}.showcase-redesign .showcase-slide{position:absolute}.showcase-redesign .showcase-image-wrap{min-height:270px}.showcase-redesign .showcase-image-wrap img{height:275px}}
@media(max-width:600px){.showcase-redesign{min-height:440px;border-radius:22px}.showcase-redesign .showcase-image-wrap{margin:14px 14px 0;min-height:235px;border-radius:16px}.showcase-redesign .showcase-image-wrap img{height:240px}.showcase-redesign .showcase-caption{padding:18px 20px 22px}.showcase-redesign .showcase-caption h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.showcase-redesign .showcase-slide,.showcase-redesign .showcase-image-wrap,.showcase-redesign .showcase-image-wrap img,.showcase-redesign .showcase-caption{transition:none!important;transform:none!important}}

/* 2026-08-18 v10 cinematic hero, expanded Why, FAQ */
.hero-cinematic{padding:0;background:#f7fbff;overflow:hidden}.hero-wide{position:relative;min-height:365px;width:100%;display:grid;grid-template-columns:minmax(340px,38%) minmax(190px,18%) 1fr;align-items:center;background:linear-gradient(100deg,#f7fbff 0%,#fff 46%,#eef7ff 100%)}.hero-copy{z-index:4;padding:52px 3vw 52px max(3vw,calc((100vw - 1180px)/2))}.hero-cinematic h1{font-size:clamp(38px,4vw,58px);margin-bottom:14px}.hero-cinematic .hero-copy>p{font-size:17px;line-height:1.65;margin:0}.hero-center-actions{z-index:5;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:12px;margin:0;padding:0 18px}.hero-center-actions .btn{text-align:center;justify-content:center;white-space:nowrap}.hero-media{position:absolute;right:0;top:0;bottom:0;width:50%;overflow:hidden;z-index:2;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 13%,#000 36%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 13%,#000 36%)}.hero-media-slide{position:absolute;inset:0;margin:0;opacity:0;transform:translateX(5%) scale(1.035);transition:opacity 1.15s ease,transform 1.5s cubic-bezier(.2,.75,.2,1)}.hero-media-slide.is-active{opacity:1;transform:translateX(0) scale(1)}.hero-media-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-media-slide.showcase-mobile img{object-fit:contain;padding:24px;background:linear-gradient(135deg,#eef8ff,#fff2e7)}
.brand{gap:7px}.brand-text{min-width:202px}.brand-text .brand-saylan{font-size:28px}.brand-text .brand-solutions{font-size:21px;margin-top:4px}.footer-brand{gap:7px}.footer-brand .brand-text{min-width:202px}.footer-brand .brand-saylan{font-size:28px}.footer-brand .brand-solutions{font-size:21px}.footer-address{font-size:13px!important;color:#b7c7d8!important;margin:7px 0 0!important;line-height:1.45}
.why-expanded{padding:88px 0;background:radial-gradient(circle at 10% 15%,rgba(34,130,255,.18),transparent 28%),radial-gradient(circle at 90% 80%,rgba(255,132,41,.16),transparent 26%),#0b2138}.why-expanded .section-title{max-width:760px;margin-bottom:30px}.why-grid{grid-template-columns:repeat(2,1fr);gap:18px}.why-grid article{min-height:170px;display:grid;grid-template-columns:68px 1fr;gap:20px;align-items:start;padding:30px;border-radius:22px;background:linear-gradient(135deg,rgba(26,62,96,.96),rgba(15,43,70,.96));border:1px solid rgba(126,184,236,.22);transition:transform .3s ease,border-color .3s ease}.why-grid article:hover{transform:translateY(-5px);border-color:rgba(126,184,236,.55)}.why-number{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#2088f5,#52c2ff);font-weight:800;color:#fff}.why-grid article:nth-child(2) .why-number{background:linear-gradient(135deg,#ff7d25,#ffb54d)}.why-grid article:nth-child(3) .why-number{background:linear-gradient(135deg,#18a566,#57d79a)}.why-grid article:nth-child(4) .why-number{background:linear-gradient(135deg,#8b55df,#d27cff)}.why-grid h3{font-size:23px;margin:2px 0 8px}.why-grid p{font-size:15px;line-height:1.65}
.faq-section{background:linear-gradient(120deg,#f7fbff,#fff 50%,#fff8f1)}.faq-shell{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:start}.faq-heading{position:sticky;top:112px}.faq-list{display:grid;gap:12px}.faq-list details{background:#fff;border:1px solid #dce7f2;border-radius:17px;box-shadow:0 8px 25px rgba(26,66,105,.05);overflow:hidden}.faq-list summary{list-style:none;cursor:pointer;padding:19px 22px;font-weight:800;color:#102d4d;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;color:#287de0;transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{padding:0 22px 20px;margin:0;color:#607187;line-height:1.7}.address-card{grid-column:1/-1;background:linear-gradient(120deg,#eef6ff,#fff7ee)!important}.address-card strong{font-size:15px!important}
html:lang(si) .faq-list summary{font-size:18px;line-height:1.55}html:lang(si) .faq-list p{font-size:17px;line-height:1.8}html:lang(si) .why-grid h3{font-size:23px}html:lang(si) .why-grid p{font-size:17px;line-height:1.75}
@media(max-width:1050px){.hero-wide{grid-template-columns:42% 20% 38%}.brand-text{min-width:170px}.brand-text .brand-saylan{font-size:24px}.brand-text .brand-solutions{font-size:18px}.footer-brand .brand-text{min-width:185px}.footer-brand .brand-saylan{font-size:25px}.footer-brand .brand-solutions{font-size:19px}}
@media(max-width:820px){.hero-wide{min-height:520px;grid-template-columns:1fr}.hero-copy{padding:42px 28px 12px;max-width:650px}.hero-center-actions{align-items:flex-start;flex-direction:row;padding:8px 28px 250px}.hero-media{width:100%;height:250px;top:auto;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%);mask-image:linear-gradient(to bottom,transparent,#000 30%)}.why-grid{grid-template-columns:1fr}.faq-shell{grid-template-columns:1fr;gap:25px}.faq-heading{position:static}}
@media(max-width:600px){.hero-center-actions{flex-direction:column;align-items:stretch}.hero-center-actions .btn{width:100%}.why-grid article{grid-template-columns:50px 1fr;padding:22px}.why-number{width:46px;height:46px}.brand-text .brand-saylan{font-size:21px}.brand-text .brand-solutions{font-size:16px}}


/* 2026-08-18 v11 visual refinement */
.hero-cinematic h1{
  background:linear-gradient(95deg,#0b2d55 0%,#176ed4 42%,#06a8cf 68%,#f58220 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 8px 28px rgba(27,101,190,.08)
}
.hero-cinematic .hero-copy>p{max-width:520px;font-size:18px;line-height:1.62;color:#4a6079}
.hero-media-slide img{width:100%;height:100%;object-fit:cover;object-position:center center;padding:0;background:transparent}
.hero-media-slide.showcase-lms img{object-position:center 72%;transform:scale(1.06)}
.hero-media-slide.showcase-mobile img{object-fit:cover;object-position:center center;padding:0;background:transparent;transform:scale(1.02)}

.why-expanded{padding:78px 0}
.why-expanded .section-title{margin-bottom:26px}
.why-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.why-grid article{min-height:225px;display:flex;flex-direction:column;gap:15px;align-items:flex-start;padding:25px 22px;border-radius:20px}
.why-number{width:44px;height:44px;border-radius:50%;font-size:11px;letter-spacing:.06em;flex:0 0 auto;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.why-grid h3{font-size:20px;margin:0 0 8px}
.why-grid p{font-size:14px;line-height:1.66;margin:0}

.about-shell{grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}
.about-heading{display:flex;flex-direction:column;justify-content:center;padding:24px 0}
.about-story{display:flex;flex-direction:column;justify-content:center}
.about-points{grid-template-columns:1fr 1fr;gap:14px}
.about-points article{grid-template-columns:42px 1fr;padding:16px;min-height:126px}
.about-points article:nth-child(3){grid-column:1/-1}
.about-points article>span{width:38px;height:38px;border-radius:50%;font-size:10px;letter-spacing:.05em}

.faq-heading .eyebrow{color:#f06a1b}
.faq-heading .section-title{
  background:linear-gradient(95deg,#0c4ea2,#1a8ce8 46%,#f07a22 82%);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.faq-list details:nth-child(1) summary,.faq-list details:nth-child(5) summary{color:#1267c4}
.faq-list details:nth-child(2) summary,.faq-list details:nth-child(6) summary{color:#e56b18}
.faq-list details:nth-child(3) summary{color:#16885d}
.faq-list details:nth-child(4) summary{color:#7a48c6}
.faq-list details:nth-child(1),.faq-list details:nth-child(5){border-left:4px solid #2786e8}
.faq-list details:nth-child(2),.faq-list details:nth-child(6){border-left:4px solid #f28a32}
.faq-list details:nth-child(3){border-left:4px solid #26a66d}
.faq-list details:nth-child(4){border-left:4px solid #8d5adb}
.faq-list p{color:#425c78}

html:lang(si) .hero-cinematic .hero-copy>p{font-size:19px;line-height:1.72}

@media(max-width:1050px){.why-grid{grid-template-columns:repeat(2,1fr)}.why-grid article{min-height:180px}}
@media(max-width:820px){.about-shell{grid-template-columns:1fr}.about-points{grid-template-columns:1fr}.about-points article:nth-child(3){grid-column:auto}.hero-media-slide.showcase-lms img{object-position:center 72%}}
@media(max-width:600px){.why-grid{grid-template-columns:1fr}.why-grid article{min-height:auto}.about-points article>span{width:36px;height:36px}.hero-cinematic .hero-copy>p{font-size:16px}}

/* 2026-08-18 v12 alignment refinement */
/* Keep the hero background full-bleed, but align all hero content to the site's main content grid. */
.hero-cinematic{background:linear-gradient(100deg,#f7fbff 0%,#fff 48%,#eef7ff 100%)}
.hero-wide{width:min(1180px,calc(100% - 48px));max-width:1180px;margin:0 auto;background:transparent}
.hero-copy{padding:52px 28px 52px 0}
.hero-center-actions{padding:0 18px}
.hero-media{right:0;width:50%}

/* Remove the coloured left rails from FAQ cards while retaining coloured question typography. */
.faq-list details,.faq-list details:nth-child(1),.faq-list details:nth-child(2),.faq-list details:nth-child(3),.faq-list details:nth-child(4),.faq-list details:nth-child(5),.faq-list details:nth-child(6){border-left:1px solid #dce7f2}

/* Make About read unmistakably as two balanced columns. */
.about-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:stretch}
.about-heading,.about-story{min-height:100%;border:1px solid rgba(204,219,235,.9);border-radius:24px;background:rgba(255,255,255,.76);box-shadow:0 18px 44px rgba(24,62,102,.07);backdrop-filter:blur(10px)}
.about-heading{padding:32px;justify-content:center}
.about-story{padding:30px}
.about-heading .section-title,.about-intro{max-width:none}

@media(max-width:820px){
  .hero-wide{width:100%;max-width:none;margin:0}
  .hero-copy{padding:42px 28px 12px}
  .about-shell{grid-template-columns:1fr;gap:20px}
  .about-heading,.about-story{min-height:auto}
}

/* 2026-08-27: SaylanSoft Training Academy · Model Papers catalogue */
.main-nav>a.nav-model-papers{background:linear-gradient(135deg,#ff812d,#ff9d58)!important;color:#fff!important;box-shadow:0 7px 18px rgba(255,129,45,.2)}
.main-nav>a.nav-model-papers:hover{background:linear-gradient(135deg,#eb6d18,#ff8b3d)!important;color:#fff!important}
.mp-site-page{background:#fff}.mp-site-page h1,.mp-site-page h2,.mp-site-page h3{color:var(--navy)}
.mp-catalogue-hero,.mp-subject-hero,.mp-package-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 12%,#d7f1ff 0,transparent 36%),linear-gradient(145deg,#f9fcff,#eef6ff);border-bottom:1px solid #dce7f2}
.mp-catalogue-hero{padding:76px 0}.mp-catalogue-hero-grid,.mp-package-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:64px;align-items:center}.mp-catalogue-hero h1,.mp-subject-hero h1,.mp-package-hero h1{margin:0 0 18px;font-size:clamp(44px,5.5vw,72px);line-height:1.02;letter-spacing:-.05em}.mp-catalogue-hero p,.mp-subject-hero p,.mp-package-hero p{max-width:760px;color:var(--muted);font-size:18px}.mp-catalogue-art{justify-self:end;width:min(360px,100%);aspect-ratio:1;border-radius:38% 62% 56% 44%/45% 38% 62% 55%;background:linear-gradient(135deg,#0d2035,#2766e6);color:#fff;display:grid;grid-template-columns:1fr 1fr;place-items:center;padding:70px;box-shadow:0 30px 70px rgba(20,71,135,.22);transform:rotate(3deg)}.mp-catalogue-art span{font-size:30px;font-weight:900}.mp-catalogue-art strong{grid-column:1/-1;color:#ffac72;font-size:70px;line-height:1}.mp-hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.mp-hero-chips span{padding:7px 12px;border:1px solid #cbdceb;border-radius:999px;background:rgba(255,255,255,.82);color:#304b66;font-size:12px;font-weight:800}
.mp-section-heading{max-width:760px;margin-bottom:30px}.mp-section-heading p{color:var(--muted);font-size:17px}.mp-exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mp-exam-card{min-height:310px;padding:30px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,#fff,#f5f8fc);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 13px 32px rgba(13,32,53,.07)}.mp-exam-card.is-live{background:linear-gradient(145deg,#0d2035,#153b63);color:#fff}.mp-exam-card small{display:block;margin-top:28px;font-weight:900;letter-spacing:.12em}.mp-exam-card h2{margin:8px 0;font-size:31px}.mp-exam-card.is-live h2{color:#fff}.mp-exam-card p{max-width:520px;color:var(--muted)}.mp-exam-card.is-live p{color:#d2deeb}.mp-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.mp-status.live{background:#dff7e9;color:#087342}.mp-status.planned{background:#fff1d9;color:#8a5300}.mp-status.developing{background:#e3efff;color:#1456a0}
.mp-subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mp-subject-card{overflow:hidden;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 15px 35px rgba(13,32,53,.07)}.mp-subject-visual{height:190px;padding:25px;background:linear-gradient(135deg,#153b63,#2766e6);color:#fff;display:flex;align-items:flex-end;justify-content:space-between}.mp-subject-visual span{font-size:66px;font-weight:900;line-height:1}.mp-subject-visual small{font-weight:800;letter-spacing:.12em}.is-placeholder .mp-subject-visual{background:linear-gradient(135deg,#526174,#91a0b2)}.mp-subject-body{padding:24px}.mp-subject-body h3{font-size:21px;line-height:1.25}.mp-subject-body p,.mp-subject-body li{color:var(--muted);font-size:14px}.mp-subject-body ul{padding-left:20px;margin-bottom:22px}.mp-subject-body .btn{width:100%}.mp-coming-panel{min-height:250px;padding:42px;border-radius:24px;background:linear-gradient(135deg,#0d2035,#174775);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.mp-coming-panel h2{color:#fff;font-size:36px}.mp-coming-panel p{max-width:650px;color:#d2deeb}.mp-coming-year{color:#ff9d58;font-size:clamp(55px,9vw,120px);font-weight:900;opacity:.85}
.mp-subject-hero{padding:65px 0}.mp-back-link{display:inline-flex;margin-bottom:28px;color:#2766e6;font-size:13px;font-weight:800}.mp-language-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mp-language-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 38px rgba(13,32,53,.08)}.mp-language-art{height:210px;padding:25px;background:linear-gradient(140deg,#0d2035,#2766e6);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.mp-language-card.sinhala .mp-language-art{background:linear-gradient(140deg,#49256f,#9b52cc)}.mp-language-card.tamil .mp-language-art{background:linear-gradient(140deg,#7b3422,#e16c3c)}.mp-language-art span{font-size:70px;font-weight:900;line-height:1}.mp-language-art strong{margin-top:5px;font-size:17px}.mp-language-body{padding:25px}.mp-language-body h2{min-height:61px;font-size:21px;line-height:1.35}.mp-language-body p{min-height:90px;color:var(--muted);font-size:14px}.mp-price{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:20px 0;padding-top:16px;border-top:1px solid var(--line)}.mp-price strong{font-size:21px;color:var(--navy)}.mp-price span{color:var(--muted);font-size:11px}.mp-language-body .btn{width:100%}.mp-how-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.mp-how-grid>div p{color:var(--muted);font-size:17px}.mp-how-grid ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}.mp-how-grid li{display:flex;gap:15px;align-items:center;padding:15px;border:1px solid #dce5ef;border-radius:13px;background:#fff;font-weight:700}.mp-how-grid li span{width:34px;height:34px;border-radius:50%;background:#eaf3ff;color:#2766e6;display:grid;place-items:center;font-weight:900}
.mp-package-hero{padding:66px 0}.mp-package-hero h1 em{display:block;color:#2766e6;font-style:normal}.mp-package-hero .mp-status{margin-bottom:15px}.mp-package-price{display:flex;align-items:center;gap:15px;margin:24px 0}.mp-package-price strong{font-size:30px;color:#0d2035}.mp-package-price span{padding-left:15px;border-left:1px solid #b7c9d9;color:#51677c;font-size:13px}.mp-package-cover{justify-self:end;width:min(365px,100%);min-height:430px;padding:38px;border-radius:24px;background:linear-gradient(150deg,#0d2035,#2766e6);color:#fff;box-shadow:0 28px 60px rgba(20,71,135,.25);display:flex;flex-direction:column;justify-content:flex-end}.mp-package-cover span{font-size:72px;font-weight:900;line-height:1;color:#ff9d58}.mp-package-cover small{margin-top:18px;letter-spacing:.15em;font-weight:800}.mp-package-cover strong{font-size:56px;line-height:1.1}.mp-package-cover em{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);font-style:normal;font-weight:700}.mp-feature-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px}.mp-feature-layout>div:first-child p{color:var(--muted);font-size:17px}.mp-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mp-feature-grid article{padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfe)}.mp-feature-grid article>span{display:inline-grid;place-items:center;min-width:38px;height:31px;padding:0 8px;border-radius:9px;background:#eaf3ff;color:#2766e6;font-size:12px;font-weight:900}.mp-feature-grid h3{margin:13px 0 5px;font-size:17px}.mp-feature-grid p{margin:0;color:var(--muted);font-size:13px}.mp-shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mp-shot-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 13px 30px rgba(13,32,53,.07)}.mp-shot-image{aspect-ratio:16/10;padding:8px;background:#e8eef5;display:grid;place-items:center;overflow:hidden}.mp-shot-image img{width:100%;height:100%;object-fit:contain}.mp-shot-placeholder .mp-shot-image{background:repeating-linear-gradient(135deg,#eef3f8,#eef3f8 12px,#e5ecf4 12px,#e5ecf4 24px);color:#718197;font-size:11px;font-weight:900;letter-spacing:.08em}.mp-shot-grid figcaption{display:grid;gap:4px;padding:17px}.mp-shot-grid figcaption span{color:var(--muted);font-size:12px}.mp-process-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.mp-process-grid ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mp-process-grid li{display:flex;gap:12px;padding:18px;border:1px solid var(--line);border-radius:15px}.mp-process-grid li>span{color:#ff812d;font-weight:900}.mp-process-grid strong{color:var(--navy)}.mp-process-grid p{margin:5px 0 0;color:var(--muted);font-size:12px}.mp-payment-section{padding-top:20px}.mp-payment-shell{padding:45px;border-radius:25px;background:linear-gradient(140deg,#0d2035,#153f68);color:#fff}.mp-payment-shell h2{color:#fff;font-size:40px}.mp-payment-shell>div:first-child p{color:#d1deeb}.mp-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0}.mp-payment-options article{padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.06)}.mp-payment-options h3{color:#fff}.mp-payment-options p{color:#cbd9e8;font-size:13px}
.mp-home-academy{background:linear-gradient(135deg,#0d2035,#174775);color:#fff}.mp-home-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.mp-home-copy .section-title{color:#fff}.mp-home-lead{max-width:720px;color:#d1deeb;font-size:17px}.mp-home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.mp-home-highlights{display:grid;gap:10px}.mp-home-highlights article{display:grid;grid-template-columns:52px minmax(0,1fr);padding:15px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.06)}.mp-home-highlights article>span{grid-row:1/3;color:#ff9d58;font-size:25px;font-weight:900}.mp-home-highlights strong{color:#fff}.mp-home-highlights small{color:#bdcede}
@media(max-width:1250px){.main-nav{gap:7px!important}.main-nav>a{padding-left:10px!important;padding-right:10px!important}.nav-login-btn{padding-left:11px!important;padding-right:11px!important}}
@media(max-width:980px){.mp-catalogue-hero-grid,.mp-package-hero-grid,.mp-feature-layout,.mp-process-grid,.mp-home-shell{grid-template-columns:1fr}.mp-catalogue-art,.mp-package-cover{justify-self:start}.mp-subject-grid,.mp-language-grid,.mp-shot-grid{grid-template-columns:1fr 1fr}.mp-how-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:700px){.mp-catalogue-hero,.mp-subject-hero,.mp-package-hero{padding:48px 0}.mp-catalogue-hero h1,.mp-subject-hero h1,.mp-package-hero h1{font-size:42px}.mp-catalogue-art{width:260px;padding:48px}.mp-exam-grid,.mp-subject-grid,.mp-language-grid,.mp-feature-grid,.mp-shot-grid,.mp-process-grid,.mp-payment-options{grid-template-columns:1fr}.mp-coming-panel{align-items:flex-start;flex-direction:column}.mp-language-body p,.mp-language-body h2{min-height:0}.mp-package-cover{min-height:360px}.mp-payment-shell{padding:28px}.mp-review-grid{grid-template-columns:1fr}.mp-home-actions .btn{width:100%}}

/* v23: separate two-row header action area */
.site-header .nav-wrap{height:auto!important;min-height:108px!important;padding-top:7px!important;padding-bottom:7px!important}
.main-nav{gap:10px!important}
.nav-action-stack{display:flex;flex:0 0 auto;flex-direction:column;align-items:stretch;gap:6px;min-width:318px}
.nav-action-row{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.nav-action-stack .nav-login-group{margin:0!important;gap:6px}
.nav-action-stack .nav-login-btn{min-height:34px!important;padding:7px 12px!important;font-size:11px!important}
.nav-action-stack .language-switch{flex:0 0 auto;margin:0!important;padding:2px!important;background:#fff}
.nav-action-stack .language-switch a{padding:5px 9px;font-size:11px!important;line-height:1.1;white-space:nowrap}
.nav-action-stack .nav-model-papers{display:flex;align-items:center;justify-content:center;width:100%;min-height:34px;padding:7px 15px;border-radius:999px;background:linear-gradient(135deg,#ff812d,#ff9d58);color:#fff!important;box-shadow:0 6px 15px rgba(255,129,45,.2);font-size:12px;font-weight:900;line-height:1.1;transition:.18s ease}
.nav-action-stack .nav-model-papers:hover{background:linear-gradient(135deg,#eb6d18,#ff8b3d);box-shadow:0 8px 18px rgba(255,129,45,.28);transform:translateY(-1px)}
html:lang(si) .nav-action-stack .language-switch a{font-size:14px!important;padding:4px 9px}
html:lang(si) .nav-action-stack .nav-model-papers{font-size:16px}
@media(min-width:901px) and (max-width:1250px){.main-nav{gap:5px!important;font-size:12px}.main-nav>a{padding-left:7px!important;padding-right:7px!important}.nav-action-stack{min-width:286px}.nav-action-stack .nav-login-btn{padding-left:9px!important;padding-right:9px!important}}
@media(max-width:900px){.site-header .nav-wrap{min-height:82px!important;padding-top:0!important;padding-bottom:0!important}.main-nav{top:81px!important}.nav-action-stack{width:100%;min-width:0;gap:9px;margin-top:6px}.nav-action-row{display:grid;grid-template-columns:1fr;gap:8px}.nav-action-stack .nav-login-group{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0!important}.nav-action-stack .nav-login-btn{min-height:42px!important;font-size:14px!important}.nav-action-stack .language-switch{justify-self:center}.nav-action-stack .language-switch a{font-size:13px!important;padding:7px 14px}.nav-action-stack .nav-model-papers{min-height:42px;font-size:14px}}
@media(max-width:420px){.nav-action-stack .nav-login-group{grid-template-columns:1fr}}


/* 2026-08-18 v12 FIXED — force intended layout and avoid legacy overrides */
.hero-cinematic{
  width:100%;
  overflow:hidden;
}
.hero-cinematic .hero-wide{
  position:relative !important;
  width:min(1180px, calc(100% - 48px)) !important;
  max-width:1180px !important;
  min-height:365px;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(320px, 38%) minmax(210px, 20%) minmax(0, 42%) !important;
  align-items:center;
}
.hero-cinematic .hero-copy{
  padding:48px 24px 48px 0 !important;
}
.hero-cinematic .hero-center-actions{
  padding:0 18px !important;
  align-self:center;
}
.hero-cinematic .hero-media{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  right:0 !important;
  width:42% !important;
  max-width:none !important;
}
.hero-cinematic .hero-media-slide,
.hero-cinematic .hero-media-slide img{
  border-radius:0 !important;
}

/* FAQ: no left rails at all */
.faq-list details,
.faq-list details:nth-child(1),
.faq-list details:nth-child(2),
.faq-list details:nth-child(3),
.faq-list details:nth-child(4),
.faq-list details:nth-child(5),
.faq-list details:nth-child(6){
  border-left:0 !important;
}

/* About: definite two-column desktop composition */
.about-section .about-shell{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:28px !important;
  align-items:stretch !important;
}
.about-section .about-heading,
.about-section .about-story{
  height:100%;
  min-width:0;
  border:1px solid rgba(204,219,235,.9);
  border-radius:24px;
  background:rgba(255,255,255,.82);
  box-shadow:0 18px 44px rgba(24,62,102,.07);
}
.about-section .about-heading{padding:32px !important;}
.about-section .about-story{padding:30px !important;}

@media(max-width:820px){
  .hero-cinematic .hero-wide{
    width:100% !important;
    max-width:none !important;
    grid-template-columns:1fr !important;
  }
  .hero-cinematic .hero-media{
    position:relative !important;
    width:100% !important;
    min-height:260px;
  }
  .hero-cinematic .hero-copy{padding:40px 24px 16px !important;}
  .hero-cinematic .hero-center-actions{padding:0 24px 24px !important;}
  .about-section .about-shell{
    grid-template-columns:1fr !important;
  }
}

/* FINAL v23 HEADER ACTION OVERRIDES — keep after historical header rules. */
.site-header .nav-wrap{height:auto!important;min-height:108px!important;padding-top:7px!important;padding-bottom:7px!important}
.main-nav{gap:10px!important}
.nav-action-stack{display:flex!important;flex:0 0 auto;flex-direction:column;align-items:stretch;gap:6px;min-width:318px}
.nav-action-row{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.nav-action-stack .nav-login-group{margin:0!important;gap:6px}
.nav-action-stack .nav-login-btn{min-height:34px!important;padding:7px 12px!important;font-size:11px!important}
.nav-action-stack .language-switch{display:flex;flex:0 0 auto;margin:0!important;padding:2px!important;background:#fff}
.nav-action-stack .language-switch a{padding:5px 9px!important;font-size:11px!important;line-height:1.1;white-space:nowrap}
.nav-action-stack .nav-model-papers{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:34px;padding:7px 15px;border-radius:999px;background:linear-gradient(135deg,#ff812d,#ff9d58);color:#fff!important;box-shadow:0 6px 15px rgba(255,129,45,.2);font-size:12px;font-weight:900;line-height:1.1;transition:.18s ease}
.nav-action-stack .nav-model-papers:hover{background:linear-gradient(135deg,#eb6d18,#ff8b3d);box-shadow:0 8px 18px rgba(255,129,45,.28);transform:translateY(-1px)}
html:lang(si) .nav-action-stack .language-switch a{font-size:14px!important;padding:4px 9px!important}
html:lang(si) .nav-action-stack .nav-model-papers{font-size:16px}
@media(min-width:901px) and (max-width:1250px){.main-nav{gap:5px!important;font-size:12px}.main-nav>a{padding-left:7px!important;padding-right:7px!important}.nav-action-stack{min-width:286px}.nav-action-stack .nav-login-btn{padding-left:9px!important;padding-right:9px!important}}
@media(max-width:900px){.site-header .nav-wrap{min-height:82px!important;padding-top:0!important;padding-bottom:0!important}.main-nav{top:81px!important}.nav-action-stack{width:100%;min-width:0;gap:9px;margin-top:6px}.nav-action-row{display:grid;grid-template-columns:1fr;gap:8px}.nav-action-stack .nav-login-group{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0!important}.nav-action-stack .nav-login-btn{min-height:42px!important;font-size:14px!important}.nav-action-stack .language-switch{justify-self:center}.nav-action-stack .language-switch a{font-size:13px!important;padding:7px 14px!important}.nav-action-stack .nav-model-papers{min-height:42px;font-size:14px}}
@media(max-width:420px){.nav-action-stack .nav-login-group{grid-template-columns:1fr}}

/* 2026-08-18 v13 — hero balance refinement */
@media(min-width:821px){
  .hero-cinematic .hero-wide{
    grid-template-columns:minmax(320px, 36%) minmax(220px, 18%) minmax(0, 46%) !important;
  }
  .hero-cinematic .hero-media{
    width:46% !important;
    right:0 !important;
    opacity:.94;
    -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.12) 0%,rgba(0,0,0,.78) 8%,#000 18%,#000 100%) !important;
    mask-image:linear-gradient(to right,rgba(0,0,0,.12) 0%,rgba(0,0,0,.78) 8%,#000 18%,#000 100%) !important;
  }
  .hero-cinematic .hero-center-actions{
    padding:0 12px !important;
    gap:14px !important;
  }
  .hero-cinematic .hero-center-actions .btn{
    min-height:50px !important;
    padding:13px 24px !important;
    border-radius:999px !important;
    font-size:16px !important;
    font-weight:700 !important;
  }
}


/* 2026-08-18 v14 — widen hero media and place actions over imagery */
@media(min-width:821px){
  .hero-cinematic .hero-wide{
    grid-template-columns:minmax(320px, 38%) minmax(0, 62%) !important;
    min-height:390px !important;
  }

  .hero-cinematic .hero-copy{
    grid-column:1 !important;
    padding:48px 30px 48px 0 !important;
  }

  .hero-cinematic .hero-center-actions{
    position:absolute !important;
    z-index:8 !important;
    top:50% !important;
    left:47% !important;
    transform:translate(-50%,-50%) !important;
    width:210px !important;
    padding:0 !important;
    gap:14px !important;
  }

  .hero-cinematic .hero-center-actions .btn{
    min-height:54px !important;
    padding:14px 24px !important;
    font-size:16px !important;
  }

  .hero-cinematic .hero-media{
    width:62% !important;
    right:0 !important;
    opacity:.93 !important;
    -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.18) 0%,rgba(0,0,0,.82) 7%,#000 14%,#000 100%) !important;
    mask-image:linear-gradient(to right,rgba(0,0,0,.18) 0%,rgba(0,0,0,.82) 7%,#000 14%,#000 100%) !important;
  }

  .hero-cinematic .hero-media-slide img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    background:transparent !important;
  }

  .hero-cinematic .hero-media-slide.showcase-lms img{
    object-fit:contain !important;
    object-position:center 58% !important;
    transform:scale(1.01) !important;
  }

  .hero-cinematic .hero-media-slide.showcase-mobile img{
    object-fit:contain !important;
    object-position:center center !important;
    transform:scale(1.01) !important;
  }
}

@media(max-width:820px){
  .hero-cinematic .hero-center-actions{
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    width:auto !important;
  }
  .hero-cinematic .hero-media-slide img,
  .hero-cinematic .hero-media-slide.showcase-lms img,
  .hero-cinematic .hero-media-slide.showcase-mobile img{
    object-fit:contain !important;
    transform:none !important;
  }
}


/* 2026-08-19 v15 homepage refinement */
/* Hero: buttons return to copy column, slightly shorter than v14 */
@media(min-width:821px){
  .hero-cinematic .hero-wide{
    grid-template-columns:minmax(360px,38%) minmax(0,62%) !important;
  }
  .hero-cinematic .hero-copy{padding:44px 32px 44px 0 !important;}
  .hero-copy-actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap;
    gap:10px !important;
    margin-top:22px !important;
    padding:0 !important;
    position:static !important;
    transform:none !important;
    width:auto !important;
  }
  .hero-copy-actions .btn{
    min-height:46px !important;
    padding:11px 22px !important;
    font-size:15px !important;
    min-width:152px;
    justify-content:center;
  }
}
@media(max-width:820px){
  .hero-copy-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;padding:0 !important;}
  .hero-copy-actions .btn{min-height:44px;padding:10px 18px;}
}

/* Software cards: remove old bottom-right circle, use subtle angled accents */
.product-grid-bright .product-card::after{
  content:"" !important;
  position:absolute !important;
  width:145px !important;
  height:72px !important;
  right:-18px !important;
  bottom:22px !important;
  border-radius:0 !important;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.20) 0 2px,transparent 2px 12px) !important;
  transform:skewX(-14deg) rotate(-4deg);
  opacity:.75;
  z-index:-1;
}
.product-grid-bright .product-icon{
  width:58px !important;height:58px !important;border-radius:50% !important;
  background:rgba(7,31,59,.94) !important;
  border:2px solid rgba(255,255,255,.48);
  box-shadow:0 10px 24px rgba(7,31,59,.22),inset 0 0 0 3px rgba(255,255,255,.05);
  font-size:12px !important;
}
.product-grid-bright .product-card{
  transition:transform .32s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease,filter .32s ease,border-color .32s ease !important;
}
.product-grid-bright .product-card:hover{
  transform:translateY(-10px) scale(1.018) !important;
  box-shadow:0 26px 54px rgba(18,56,96,.22) !important;
  filter:saturate(1.12) brightness(1.02) !important;
  border-color:rgba(255,255,255,.95) !important;
}
.product-grid-bright .product-card:hover .product-icon{transform:scale(1.08) rotate(-3deg);}
.product-grid-bright .product-icon{transition:transform .28s ease,box-shadow .28s ease;}

/* FAQ: one consistent accent colour */
.faq-heading .section-title{color:#176fd0 !important;background:none !important;-webkit-text-fill-color:initial !important;}
.faq-list details summary,
.faq-list details:nth-child(1) summary,.faq-list details:nth-child(2) summary,.faq-list details:nth-child(3) summary,
.faq-list details:nth-child(4) summary,.faq-list details:nth-child(5) summary,.faq-list details:nth-child(6) summary{color:#176fd0 !important;}
.faq-list summary span{color:#176fd0 !important;}

/* Contact phone cards: one bright family; address intentionally different */
.compact-contact-numbers .contact-card.mobile,
.compact-contact-numbers .contact-card.whatsapp,
.compact-contact-numbers .contact-card.office{
  background:linear-gradient(135deg,#e8f6ff 0%,#cceeff 45%,#e7f7ff 100%) !important;
  border-color:#79c8f1 !important;
  box-shadow:0 10px 26px rgba(29,126,190,.11);
}
.compact-contact-numbers .contact-card.mobile strong,
.compact-contact-numbers .contact-card.whatsapp strong,
.compact-contact-numbers .contact-card.office strong{color:#0b4f85 !important;}
.compact-contact-numbers .contact-card em{color:#2874a7 !important;}
.compact-contact-numbers .contact-card.whatsapp::after{background:#1e9f70 !important;}
.address-card{
  grid-column:1/-1;
  min-height:94px !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#fff0d8 0%,#ffd58f 55%,#ffe9c6 100%) !important;
  border-color:#f2b455 !important;
  align-items:flex-end !important;
  text-align:right !important;
  padding:18px 22px !important;
}
.address-card strong{font-size:16px !important;line-height:1.55;color:#7b3f00 !important;width:100%;text-align:right;}
.address-card span{display:none !important;}

/* Contact form: no top accent border; tighter controls; right-aligned CTA */
.contact-form-card{
  border:1px solid #c8d9eb !important;
  background:linear-gradient(145deg,#ffffff 0%,#f5faff 55%,#fffaf5 100%) !important;
  box-shadow:0 22px 54px rgba(31,65,104,.13) !important;
  border-radius:24px !important;
}
.contact-form-card::before{display:none !important;content:none !important;}
.contact-form-card h2{color:#0c4f8f !important;}
.contact-form input,.contact-form select,.contact-form textarea{
  padding:11px 14px !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.94) !important;
}
.contact-form textarea{min-height:138px !important;}
.contact-form .btn{align-self:flex-end !important;min-width:160px !important;}
.contact-form label{color:#274765 !important;}

/* Footer: align link columns right, center QR on mobile */
.footer-grid-expanded>div:nth-child(2),
.footer-grid-expanded>div:nth-child(3){align-items:flex-end;text-align:right;}
@media(max-width:600px){
  .footer-grid-expanded>div:nth-child(2),
  .footer-grid-expanded>div:nth-child(3){align-items:flex-end;text-align:right;}
  .footer-lms-qr{align-items:center !important;text-align:center !important;justify-self:center;width:100%;}
  .footer-lms-qr small{margin-left:auto;margin-right:auto;}
}


/* 2026-08-19 v16 — LMS carousel full-size 16:9 dashboard images */
@media(min-width:1101px){
  .lms-gallery{
    width:min(100% - 36px,1240px) !important;
    height:700px !important;
  }
  .lms-gallery-track{
    max-width:1240px !important;
  }
  .lms-gallery-card{
    width:min(84vw,1080px) !important;
    padding:8px !important;
  }
  .lms-gallery-screen{
    aspect-ratio:16/9 !important;
    width:100% !important;
    overflow:hidden !important;
  }
  .lms-gallery-screen img,
  .lms-gallery-card.is-center .lms-gallery-screen img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:none !important;
  }
  .lms-gallery-card.is-left{
    transform:translate(-104%,-50%) scale(.60) !important;
  }
  .lms-gallery-card.is-right{
    transform:translate(4%,-50%) scale(.60) !important;
  }
  .lms-gallery-card.is-far-left{
    transform:translate(-146%,-50%) scale(.43) !important;
  }
  .lms-gallery-card.is-far-right{
    transform:translate(46%,-50%) scale(.43) !important;
  }
}

@media(min-width:761px) and (max-width:1100px){
  .lms-gallery{
    height:560px !important;
  }
  .lms-gallery-card{
    width:min(78vw,900px) !important;
  }
  .lms-gallery-screen{
    aspect-ratio:16/9 !important;
  }
  .lms-gallery-screen img,
  .lms-gallery-card.is-center .lms-gallery-screen img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:none !important;
  }
}


/* 2026-08-19 v17 — LMS carousel: show complete dashboard width */
@media(min-width:1101px){
  .lms-gallery{
    width:min(100% - 24px,1360px) !important;
    height:735px !important;
  }
  .lms-gallery-track{
    max-width:1360px !important;
  }
  .lms-gallery-card{
    width:min(90vw,1180px) !important;
  }
  .lms-gallery-screen{
    width:100% !important;
    aspect-ratio:16/9 !important;
    background:#fff !important;
  }
  .lms-gallery-screen img,
  .lms-gallery-card.is-center .lms-gallery-screen img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }
  .lms-gallery-card.is-left{
    transform:translate(-106%,-50%) scale(.56) !important;
  }
  .lms-gallery-card.is-right{
    transform:translate(6%,-50%) scale(.56) !important;
  }
  .lms-gallery-card.is-far-left{
    transform:translate(-150%,-50%) scale(.39) !important;
  }
  .lms-gallery-card.is-far-right{
    transform:translate(50%,-50%) scale(.39) !important;
  }
}

@media(min-width:761px) and (max-width:1100px){
  .lms-gallery{
    width:calc(100% - 20px) !important;
    height:590px !important;
  }
  .lms-gallery-card{
    width:min(90vw,960px) !important;
  }
  .lms-gallery-screen{
    aspect-ratio:16/9 !important;
    background:#fff !important;
  }
  .lms-gallery-screen img,
  .lms-gallery-card.is-center .lms-gallery-screen img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }
}


/* 2026-08-19 v18 — four unified 1024x500 product showcase images */
.hero-cinematic .hero-media-slide img,
.hero-cinematic .hero-media-slide.showcase-lms img,
.hero-cinematic .hero-media-slide.showcase-mobile img,
.hero-cinematic .hero-media-slide.showcase-pharmacy img,
.hero-cinematic .hero-media-slide.showcase-erp img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  padding:0 !important;
  background:transparent !important;
}


/* 2026-08-19 v19 — wider hero image area + three-line headline */
@media(min-width:821px){
  .hero-cinematic .hero-wide{
    grid-template-columns:minmax(260px, 31%) minmax(0, 69%) !important;
  }

  .hero-cinematic .hero-copy{
    max-width:390px !important;
    padding-right:22px !important;
  }

  .hero-cinematic .hero-copy h1{
    line-height:.98 !important;
    max-width:360px !important;
  }

  /* Buttons stay with the text column, below the supporting phrase. */
  .hero-cinematic .hero-center-actions{
    position:static !important;
    grid-column:1 !important;
    width:100% !important;
    max-width:320px !important;
    padding:0 !important;
    margin-top:18px !important;
    z-index:5 !important;
  }

  /* Give the 1024x500 artwork more horizontal room. */
  .hero-cinematic .hero-media{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:69% !important;
  }

  /* Keep text inside the artwork from being clipped at the left edge. */
  .hero-cinematic .hero-media-slide img,
  .hero-cinematic .hero-media-slide.showcase-lms img,
  .hero-cinematic .hero-media-slide.showcase-mobile img,
  .hero-cinematic .hero-media-slide.showcase-pharmacy img,
  .hero-cinematic .hero-media-slide.showcase-erp img{
    object-fit:contain !important;
    object-position:center center !important;
  }

  .hero-cinematic .hero-media{
    -webkit-mask-image:linear-gradient(
      to right,
      rgba(0,0,0,.35) 0%,
      rgba(0,0,0,.9) 5%,
      #000 10%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      to right,
      rgba(0,0,0,.35) 0%,
      rgba(0,0,0,.9) 5%,
      #000 10%,
      #000 100%
    ) !important;
  }
}


/* 2026-08-20 v21: Mobile apps showcase refresh + centered footer */
.home-mobile-apps{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.home-mobile-apps .app-feature{align-items:center;gap:48px}
.app-home-visual-clean{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 18px 44px rgba(13,32,53,.12);background:#eef6ff}
.app-home-visual-clean img{display:block;width:100%;height:auto;object-fit:cover}
.home-mobile-copy .section-title{max-width:760px;font-size:clamp(36px,4.4vw,62px);line-height:1.04}
.home-app-points{padding-left:20px;margin:20px 0;color:#52647b}.home-app-points li{margin:8px 0}

.mobile-app-common-centered{display:block;max-width:1120px}.mobile-common-copy{text-align:center}.mobile-common-copy>p{margin:0 auto;max-width:850px}
.mobile-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0 26px;text-align:left}
.mobile-feature-grid article{padding:18px;border:1px solid #d5e1ee;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(13,32,53,.05)}
.mobile-feature-grid strong{display:block;color:var(--navy);font-size:15px;margin-bottom:5px}.mobile-feature-grid span{display:block;color:var(--muted);font-size:12px;line-height:1.5}
.platform-badges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:8px}.platform-badges>span{display:flex;align-items:center;gap:10px;border-radius:16px;padding:11px 18px;font-weight:800}
.android-badge{background:#e9f8ef;border:1px solid #b7e3c5;color:#237b3a}.android-robot{width:30px;height:24px;border-radius:14px 14px 8px 8px;background:#3ddc84;color:#3ddc84;position:relative;display:inline-block}.android-robot::before,.android-robot::after{content:"";position:absolute;width:2px;height:8px;background:#237b3a;top:-5px}.android-robot::before{left:7px;transform:rotate(-25deg)}.android-robot::after{right:7px;transform:rotate(25deg)}
.play-store-badge{background:#0b1727;color:#fff}.play-store-badge small{display:block;font-size:8px;letter-spacing:.08em}.play-store-badge strong{display:block;font-size:16px}.play-triangle{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#34c96f,#3488f5);font-size:13px;color:#fff}
.mobile-privacy-row{display:flex;justify-content:center;margin-top:18px}

.mobile-editions-section{padding:64px 0 88px;background:#fff}.mobile-editions-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.app-edition-card{border:1px solid #dbe6f1;border-radius:26px;padding:30px;background:linear-gradient(145deg,#fff,#f4f9ff);box-shadow:0 18px 44px rgba(13,32,53,.08);overflow:hidden}.app-edition-card.sinhala-edition{background:linear-gradient(145deg,#fff,#fff7ef)}
.edition-header{text-align:center;margin-bottom:24px}.edition-label{display:inline-block;color:#2568e8;font-size:11px;font-weight:900;letter-spacing:.13em;margin-bottom:8px}.sinhala-edition .edition-label{color:#dc7022}.edition-header h2{font-size:clamp(28px,3vw,42px);line-height:1.05;margin:0 0 8px;color:var(--navy)}.edition-header p{margin:0;color:var(--muted);font-size:13px}
.phone-home-mockup{position:relative;width:min(250px,72%);height:470px;margin:0 auto 28px;border:12px solid #111d2a;border-radius:40px;background:#0c1724;box-shadow:0 22px 48px rgba(13,32,53,.2);padding:18px 10px 12px}.phone-speaker{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:68px;height:6px;border-radius:99px;background:#354250}.phone-screen-placeholder{height:100%;border-radius:24px;background:linear-gradient(155deg,#dcecff,#fff 55%,#edf5ff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;color:#62738a}.sinhala-edition .phone-screen-placeholder{background:linear-gradient(155deg,#fff0df,#fff 55%,#fff7ee)}.phone-screen-placeholder span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#2f76d9}.phone-screen-placeholder strong{font-size:24px;color:var(--navy);margin:8px 0}.phone-screen-placeholder small{font-size:11px}
.screen-showcase{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:240px;margin-bottom:24px}.screen-placeholder{display:none;min-height:230px;border:1px dashed #9eb5ce;border-radius:18px;background:linear-gradient(145deg,#f0f6fd,#fff);align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#6b7f95;padding:14px}.sinhala-edition .screen-placeholder{background:linear-gradient(145deg,#fff4e8,#fff)}.screen-placeholder.is-visible{display:flex}.screen-placeholder span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#2f76d9}.screen-placeholder strong{font-size:20px;color:var(--navy);margin:7px 0}.screen-placeholder small{font-size:11px}
.edition-store-block{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding-top:4px}.edition-play-btn{min-width:190px}.edition-play-btn.is-disabled{opacity:.65;cursor:default;box-shadow:none}.edition-play-btn.is-disabled:hover{transform:none}.edition-qr{display:flex;flex-direction:column;align-items:center;gap:6px}.edition-qr img{width:112px;height:112px;object-fit:contain;background:#fff;border:1px solid #d7e1ec;border-radius:12px;padding:5px}.edition-qr small{max-width:130px;text-align:center;color:var(--muted);font-size:10px;line-height:1.35}.qr-placeholder{width:112px;height:112px;border:1px dashed #caa984;border-radius:12px;background:#fff9f2;justify-content:center;padding:10px}.qr-placeholder span{font-size:28px;font-weight:900;color:#d8792b}.qr-placeholder small{font-size:9px}

/* Footer links centered across all columns */
.footer-grid-expanded{grid-template-columns:1.45fr .8fr .8fr .8fr;align-items:start}.footer-grid-expanded>div,.footer-grid-expanded>div:nth-child(2),.footer-grid-expanded>div:nth-child(3){align-items:center;text-align:center}.footer-brand-block{max-width:none}.footer-brand{margin:0 auto}.footer-description{max-width:390px;text-align:center}.footer-lms-qr small{max-width:180px;text-align:center}.footer-bottom{text-align:center}

@media(max-width:900px){.mobile-feature-grid{grid-template-columns:repeat(2,1fr)}.mobile-editions-grid{grid-template-columns:1fr}.app-edition-card{max-width:760px;margin:0 auto;width:100%}.footer-grid-expanded{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.home-mobile-apps .app-feature{gap:30px}.home-mobile-copy .section-title{font-size:clamp(34px,10vw,46px)}.mobile-feature-grid{grid-template-columns:1fr}.platform-badges{flex-direction:column;align-items:stretch}.platform-badges>span{justify-content:center}.app-edition-card{padding:22px}.phone-home-mockup{width:min(245px,82%);height:445px}.screen-showcase{grid-template-columns:1fr;min-height:245px}.screen-placeholder.is-visible.is-secondary{display:none}.footer-grid-expanded{grid-template-columns:1fr}.footer-grid-expanded>div{align-items:center;text-align:center}}

/* 2026-08-21 v22 — hero title clipping, slightly shorter hero buttons, footer brand alignment */
/* Keep the hero headline fully visible (including descenders/antialiasing at line edges). */
.hero-cinematic .hero-copy h1{
  line-height:1.08 !important;
  padding-top:.02em;
  padding-bottom:.08em;
  overflow:visible;
}

/* Reduce hero CTA height by approximately one pixel while preserving tap comfort. */
@media(min-width:821px){
  .hero-copy-actions .btn{
    min-height:45px !important;
    padding:10.5px 22px !important;
  }
}
@media(max-width:820px){
  .hero-copy-actions .btn{
    min-height:43px !important;
    padding:9.5px 18px !important;
  }
}

/* The left-most footer brand/contact section stays left-aligned on every viewport. */
.footer-grid-expanded>.footer-brand-block{
  align-items:flex-start !important;
  text-align:left !important;
}
.footer-grid-expanded>.footer-brand-block .footer-brand{
  margin-left:0 !important;
  margin-right:auto !important;
}
.footer-grid-expanded>.footer-brand-block .footer-description,
.footer-grid-expanded>.footer-brand-block .footer-phrase,
.footer-grid-expanded>.footer-brand-block .footer-address,
.footer-grid-expanded>.footer-brand-block>a{
  text-align:left !important;
  align-self:flex-start !important;
}
@media(max-width:900px){
  .footer-grid-expanded>.footer-brand-block{
    align-items:flex-start !important;
    text-align:left !important;
  }
}
@media(max-width:600px){
  .footer-grid-expanded>.footer-brand-block{
    align-items:flex-start !important;
    text-align:left !important;
    width:100%;
  }
  .footer-grid-expanded>.footer-brand-block .footer-brand{
    margin:0 auto 0 0 !important;
  }
  .footer-grid-expanded>.footer-brand-block .footer-description{
    max-width:390px;
  }
}

/* 2026-08-21: photographic product-card backgrounds + image zoom hover */
.product-grid-bright .product-card{
  background:#eef5ff;
  transform:none !important;
  filter:none !important;
}
.product-grid-bright .product-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:1;
  transform:scale(1.001);
  transition:transform .55s cubic-bezier(.2,.75,.2,1);
}
.product-card-lms::before{background-image:url('../images/bg-lms-ims.webp')}
.product-card-erp::before{background-image:url('../images/bg-erp.webp')}
.product-card-pos::before{background-image:url('../images/bg-pharmacy-pos.webp')}
.product-card-app::before{background-image:url('../images/bg-mobile-apps.webp')}
.product-grid-bright .product-card:hover{
  transform:none !important;
  filter:none !important;
  box-shadow:0 24px 50px rgba(18,56,96,.20) !important;
}
.product-grid-bright .product-card:hover::before{transform:scale(1.10)}

/* 2026-08-21 v24: lighter product-card overlays */
.product-grid-bright .product-card h3,
.product-grid-bright .product-card p,
.product-grid-bright .product-card a{
  text-shadow:0 1px 1px rgba(255,255,255,.28);
}

/* 2026-08-21 v25: full-photo product cards, no color overlay */
.product-grid-bright .product-card h3{
  font-weight:800;
  text-shadow:
    0 1px 2px rgba(255,255,255,.95),
    0 0 10px rgba(255,255,255,.82);
}
.product-grid-bright .product-card p{
  font-weight:600;
  text-shadow:
    0 1px 2px rgba(255,255,255,.98),
    0 0 9px rgba(255,255,255,.86);
}
.product-grid-bright .product-card a{
  font-weight:800;
  text-shadow:
    0 1px 2px rgba(255,255,255,1),
    0 0 8px rgba(255,255,255,.9);
}
.product-grid-bright .product-card .product-badge,
.product-grid-bright .product-card .product-status{
  box-shadow:0 2px 10px rgba(7,31,64,.18);
}

/* 2026-08-21 v26: simplify product cards and improve text legibility */
.product-grid-bright .product-card .product-icon,
.product-grid-bright .product-card .product-badge,
.product-grid-bright .product-card .product-status{
  display:none !important;
}

/* Strong, clean text treatment over photographs */
.product-grid-bright .product-card h3{
  color:#071f40 !important;
  font-weight:900 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,1),
    0 2px 3px rgba(255,255,255,.98),
    0 0 12px rgba(255,255,255,1),
    0 0 22px rgba(255,255,255,.95) !important;
}
.product-grid-bright .product-card p{
  color:#071f40 !important;
  font-weight:700 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,1),
    0 1px 3px rgba(255,255,255,1),
    0 0 10px rgba(255,255,255,1),
    0 0 18px rgba(255,255,255,.95) !important;
}
.product-grid-bright .product-card a{
  color:#071f40 !important;
  font-weight:900 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,1),
    0 1px 3px rgba(255,255,255,1),
    0 0 10px rgba(255,255,255,1) !important;
}


/* 2026-08-21 v27: minimal product cards — image, title and CTA only */
.product-grid-bright .product-card{
  min-height:330px;
  padding:22px 20px 18px;
  justify-content:flex-start;
}
.product-grid-bright .product-card .status,
.product-grid-bright .product-card .product-icon,
.product-grid-bright .product-card p{
  display:none !important;
}
.product-grid-bright .product-card h3{
  display:inline-block;
  align-self:flex-start;
  margin:0;
  padding:8px 12px;
  border-radius:11px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  box-shadow:0 5px 18px rgba(7,31,64,.12);
  color:#071f40 !important;
  font-size:22px;
  line-height:1.15;
  font-weight:900 !important;
  text-shadow:none !important;
}
.product-grid-bright .product-card a{
  display:inline-flex;
  align-self:flex-start;
  margin-top:auto;
  padding:8px 11px;
  border-radius:10px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  box-shadow:0 5px 18px rgba(7,31,64,.12);
  color:#082f68 !important;
  font-weight:900 !important;
  text-shadow:none !important;
}
@media(max-width:760px){
  .product-grid-bright .product-card{min-height:310px}
  .product-grid-bright .product-card h3{font-size:21px}
}


/* 2026-08-21 v28 — experimental LMS push slider below the existing carousel */
.lms-push-slider-wrap{
  width:min(100% - 48px,1180px);
  margin:4px auto 34px;
}
.lms-push-slider{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#eef4fa;
  border:1px solid #d8e3ee;
  box-shadow:0 20px 50px rgba(24,54,88,.13);
}
.lms-push-track{
  display:flex;
  width:100%;
  transform:translate3d(0,0,0);
  transition:transform 1.15s cubic-bezier(.22,.72,.18,1);
  will-change:transform;
}
.lms-push-slide{
  flex:0 0 100%;
  min-width:100%;
  background:#fff;
}
.lms-push-screen{
  position:relative;
  overflow:hidden;
  background:#edf3f8;
  aspect-ratio:16/8.1;
}
.lms-push-screen img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#eef3f8;
}
.lms-push-caption{
  display:flex;
  align-items:center;
  gap:16px;
  padding:13px 18px 15px;
  border-top:1px solid #e3ebf3;
  background:rgba(255,255,255,.96);
}
.lms-push-caption strong{
  flex:0 0 auto;
  color:#0d3768;
  font-size:15px;
  font-weight:850;
}
.lms-push-caption span{
  min-width:0;
  color:#64768b;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lms-push-dots{
  position:absolute;
  right:16px;
  top:14px;
  z-index:5;
  display:flex;
  gap:6px;
  padding:6px 8px;
  border-radius:999px;
  background:rgba(7,31,64,.46);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.lms-push-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.48);
  cursor:pointer;
  transition:width .3s ease,background .3s ease,border-radius .3s ease;
}
.lms-push-dot.is-active{
  width:23px;
  border-radius:999px;
  background:#fff;
}
@media(prefers-reduced-motion:reduce){
  .lms-push-track{transition:none}
}
@media(max-width:760px){
  .lms-push-slider-wrap{width:min(100% - 28px,1180px);margin-bottom:26px}
  .lms-push-slider{border-radius:16px}
  .lms-push-screen{aspect-ratio:16/9}
  .lms-push-caption{padding:10px 12px 12px}
  .lms-push-caption strong{font-size:13px}
  .lms-push-caption span{display:none}
  .lms-push-dots{right:10px;top:10px}
}


/* 2026-08-21 v30 — flat LMS push slider + forced visible push motion */
.lms-push-slider-wrap{
  width:min(92vw,960px) !important;
  margin:34px auto 40px !important;
}
.lms-push-slider{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.lms-push-track{
  transition:transform 1.05s cubic-bezier(.22,.72,.18,1) !important;
}
.lms-push-slide,
.lms-push-screen,
.lms-push-screen img{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.lms-push-screen{
  aspect-ratio:1887/957 !important;
  max-height:488px;
  background:transparent !important;
}
.lms-push-screen img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
}
.lms-push-caption{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:10px 0 0 !important;
}
.lms-push-dots{
  border-radius:0 !important;
}
@media (prefers-reduced-motion: reduce){
  .lms-push-track{
    transition:transform 1.05s cubic-bezier(.22,.72,.18,1) !important;
  }
}
@media(max-width:760px){
  .lms-push-slider-wrap{
    width:calc(100% - 24px) !important;
    margin:26px auto 30px !important;
  }
  .lms-push-screen{
    aspect-ratio:1887/957 !important;
    max-height:none;
  }
}


/* 2026-08-21 v31 — larger seamless LMS push slider; legacy carousel disabled in index.php */
.lms-push-slider-wrap{
  width:min(94vw,1080px) !important;
  margin:38px auto 42px !important;
}
.lms-push-screen{
  aspect-ratio:1887/957 !important;
  max-height:548px !important;
}
.lms-push-caption{
  justify-content:flex-end !important;
  text-align:right !important;
  gap:12px !important;
  padding:10px 2px 0 !important;
}
.lms-push-caption strong,
.lms-push-caption span{
  text-align:right !important;
}
@media(max-width:760px){
  .lms-push-slider-wrap{
    width:calc(100% - 18px) !important;
    margin:28px auto 32px !important;
  }
  .lms-push-screen{
    max-height:none !important;
  }
  .lms-push-caption{
    justify-content:flex-end !important;
    text-align:right !important;
    padding:9px 2px 0 !important;
  }
}


/* 2026-08-21 v32 — seamless loop reset: never animate backwards */
.lms-push-track.is-loop-resetting{
  transition:none !important;
}


/* 2026-08-21 v33 — contact form always open + sticky-header anchor positioning */
#contact-strip{
  scroll-margin-top:82px;
}
.inline-contact-section{
  display:block !important;
  max-height:none !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  overflow:visible !important;
}
.inline-contact-section[hidden]{
  display:block !important;
}
.contact-strip-direct{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}
.contact-strip-direct strong{
  display:block;
}
.contact-strip-direct span{
  display:block;
}
.contact-direct-email{
  display:inline-block;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  color:#fff;
  font-weight:800;
  font-size:14px;
  line-height:1.35;
  border-bottom:1px solid rgba(255,255,255,.58);
  padding-bottom:2px;
  transition:opacity .2s ease,border-color .2s ease;
}
.contact-direct-email:hover{
  opacity:.82;
  border-color:#fff;
}
@media(max-width:900px){
  #contact-strip{scroll-margin-top:82px;}
}


/* 2026-08-21 v34 — clean card titles + CTAs below cards */
.product-grid-bright{
  align-items:start;
}
.product-grid-bright .product-card-unit{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.product-grid-bright .product-card-unit .product-card{
  width:100%;
  min-height:330px;
  padding:22px 20px 18px;
}
.product-grid-bright .product-card-unit .product-card h3{
  margin:4px 0 0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
  color:#071f40 !important;
  font-size:23px !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.96),
    0 1px 4px rgba(255,255,255,.95),
    0 0 10px rgba(255,255,255,.82) !important;
}
.product-grid-bright .product-card-unit .product-card > a{
  display:none !important;
}
.product-card-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 22px;
  border:1px solid #cfdbea;
  border-radius:999px;
  background:#fff;
  color:#0b376d;
  font-size:14px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  box-shadow:0 7px 18px rgba(18,56,96,.09);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
}
.product-card-cta:hover{
  transform:translateY(-2px);
  background:#f6faff;
  border-color:#9fc0e5;
  box-shadow:0 10px 24px rgba(18,56,96,.14);
}
@media(max-width:760px){
  .product-grid-bright .product-card-unit{
    gap:12px;
  }
  .product-grid-bright .product-card-unit .product-card{
    min-height:310px;
  }
  .product-grid-bright .product-card-unit .product-card h3{
    font-size:21px !important;
  }
  .product-card-cta{
    min-height:40px;
    padding:9px 20px;
  }
}


/* 2026-08-21 v36 — Mobile Apps card: restore original photo and reposition it cleanly */
.product-grid-bright .product-card-app{
  background:#eadcf5 !important;
}
.product-grid-bright .product-card-app::before{
  background-image:url('../images/bg-mobile-apps.webp') !important;
  background-size:auto 100% !important;
  background-position:56% center !important;
  background-repeat:no-repeat !important;
  transform:scale(1.001) !important;
}
.product-grid-bright .product-card-app:hover::before{
  transform:scale(1.045) !important;
}


/* 2026-08-21 v37 — purpose-cropped portrait image for Mobile Apps card */
.product-grid-bright .product-card-app{
  background:#efe6f6 !important;
}
.product-grid-bright .product-card-app::before{
  background-image:url('../images/bg-mobile-apps-portrait.webp') !important;
  background-size:cover !important;
  background-position:center 34% !important;
  background-repeat:no-repeat !important;
  transform:scale(1.001) !important;
}
.product-grid-bright .product-card-app:hover::before{
  transform:scale(1.035) !important;
}


/* 2026-08-21 v49 — hero CTAs below/right of imagery + stronger left-edge blend */
@media(min-width:821px){
  .hero-cinematic .hero-wide{
    min-height:430px !important;
    padding-bottom:66px !important;
  }

  .hero-cinematic .hero-media{
    bottom:66px !important;
    height:auto !important;
    width:69% !important;
    overflow:hidden !important;

    /* Softer, wider blend from page background into the image. */
    -webkit-mask-image:linear-gradient(
      to right,
      transparent 0%,
      rgba(0,0,0,.16) 7%,
      rgba(0,0,0,.48) 16%,
      rgba(0,0,0,.82) 25%,
      #000 34%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      to right,
      transparent 0%,
      rgba(0,0,0,.16) 7%,
      rgba(0,0,0,.48) 16%,
      rgba(0,0,0,.82) 25%,
      #000 34%,
      #000 100%
    ) !important;
  }

  /* A subtle color wash completes the blend and hides any hard image edge. */
  .hero-cinematic .hero-media::after{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:28%;
    z-index:4;
    pointer-events:none;
    background:linear-gradient(
      90deg,
      rgba(247,251,255,.96) 0%,
      rgba(247,251,255,.72) 25%,
      rgba(247,251,255,.30) 62%,
      rgba(247,251,255,0) 100%
    );
  }

  .hero-media-actions{
    position:absolute !important;
    right:0 !important;
    bottom:8px !important;
    width:69% !important;
    margin:0 !important;
    padding:0 8px 0 0 !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:12px !important;
    z-index:7 !important;
  }

  .hero-media-actions .btn{
    min-height:44px !important;
    padding:10px 22px !important;
    border-radius:999px !important;
    justify-content:center !important;
  }
}

@media(max-width:820px){
  .hero-cinematic .hero-wide{
    padding-bottom:0 !important;
  }

  .hero-cinematic .hero-media{
    bottom:70px !important;
  }

  .hero-media-actions{
    position:absolute !important;
    left:24px !important;
    right:24px !important;
    bottom:14px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    justify-content:center !important;
    gap:10px !important;
    z-index:7 !important;
  }

  .hero-media-actions .btn{
    min-height:42px !important;
    padding:9px 18px !important;
    border-radius:999px !important;
  }
}

@media(max-width:600px){
  .hero-media-actions{
    left:18px !important;
    right:18px !important;
  }
  .hero-media-actions .btn{
    flex:1 1 0 !important;
    white-space:nowrap !important;
    font-size:13px !important;
  }
}


/* 2026-08-23 v50 — expanded hero, full-width headline and unfaded showcase */
@media(min-width:821px){
  .hero-cinematic{
    background:linear-gradient(180deg,#f7fbff 0%,#ffffff 68%,#f5f9fe 100%) !important;
  }

  .hero-cinematic .hero-wide{
    min-height:520px !important;
    width:min(1240px,calc(100% - 48px)) !important;
    max-width:1240px !important;
    margin:0 auto !important;
    padding:0 0 70px !important;
    display:grid !important;
    grid-template-columns:minmax(280px,34%) minmax(0,66%) !important;
    grid-template-rows:auto 1fr !important;
    column-gap:34px !important;
    align-items:start !important;
  }

  .hero-heading{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    position:relative !important;
    z-index:8 !important;
    padding:48px 0 20px !important;
  }

  .hero-heading .eyebrow{
    margin-bottom:12px !important;
  }

  .hero-cinematic .hero-heading h1{
    max-width:none !important;
    margin:0 !important;
    font-size:clamp(52px,5.2vw,76px) !important;
    line-height:1.01 !important;
    letter-spacing:-.045em !important;
    font-weight:800 !important;
    text-wrap:balance;
  }

  .hero-cinematic .hero-copy{
    grid-column:1 !important;
    grid-row:2 !important;
    position:relative !important;
    z-index:6 !important;
    padding:38px 0 30px !important;
    align-self:center !important;
  }

  .hero-cinematic .hero-copy>p{
    max-width:400px !important;
    margin:0 !important;
    font-size:18px !important;
    line-height:1.7 !important;
  }

  .hero-cinematic .hero-media{
    grid-column:2 !important;
    grid-row:2 !important;
    position:relative !important;
    inset:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    height:300px !important;
    min-height:300px !important;
    align-self:center !important;
    overflow:hidden !important;
    z-index:2 !important;
    border-radius:0 !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .hero-cinematic .hero-media::after{
    display:none !important;
    content:none !important;
  }

  .hero-cinematic .hero-media-slide,
  .hero-cinematic .hero-media-slide img,
  .hero-cinematic .hero-media-slide.showcase-lms img,
  .hero-cinematic .hero-media-slide.showcase-mobile img,
  .hero-cinematic .hero-media-slide.showcase-pharmacy img,
  .hero-cinematic .hero-media-slide.showcase-erp img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .hero-media-actions{
    right:0 !important;
    bottom:10px !important;
    width:66% !important;
    padding:0 !important;
  }
}

@media(min-width:821px) and (max-width:1050px){
  .hero-cinematic .hero-wide{
    grid-template-columns:minmax(250px,38%) minmax(0,62%) !important;
    column-gap:24px !important;
  }
  .hero-cinematic .hero-heading h1{
    font-size:clamp(48px,6.2vw,66px) !important;
  }
  .hero-media-actions{width:62% !important;}
}

@media(max-width:820px){
  .hero-heading{
    position:relative !important;
    z-index:6 !important;
    padding:40px 28px 8px !important;
  }
  .hero-cinematic .hero-heading h1{
    margin:0 !important;
    font-size:clamp(42px,10.5vw,58px) !important;
    line-height:1.03 !important;
    letter-spacing:-.04em !important;
  }
  .hero-cinematic .hero-copy{
    padding:8px 28px 18px !important;
  }
  .hero-cinematic .hero-media{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .hero-cinematic .hero-media::after{
    display:none !important;
    content:none !important;
  }
}

@media(max-width:600px){
  .hero-heading{padding:34px 18px 6px !important;}
  .hero-cinematic .hero-heading h1{font-size:42px !important;}
  .hero-cinematic .hero-copy{padding:8px 18px 16px !important;}
}

/* 2026-08-23 v51 — balanced cinematic hero: integrated headline + larger showcase */
@media(min-width:821px){
  .hero-cinematic{
    background:linear-gradient(180deg,#f7fbff 0%,#ffffff 76%,#f5f9fe 100%) !important;
  }

  .hero-cinematic .hero-wide{
    position:relative !important;
    display:block !important;
    width:min(1240px,calc(100% - 64px)) !important;
    max-width:1240px !important;
    min-height:500px !important;
    margin:0 auto !important;
    padding:0 0 66px !important;
  }

  .hero-heading{
    position:absolute !important;
    left:0 !important;
    top:42px !important;
    width:min(760px,64%) !important;
    z-index:8 !important;
    padding:0 !important;
  }

  .hero-heading .eyebrow{
    display:block !important;
    margin:0 0 13px !important;
  }

  .hero-cinematic .hero-heading h1{
    max-width:760px !important;
    margin:0 !important;
    font-size:clamp(52px,4.65vw,66px) !important;
    line-height:1.02 !important;
    letter-spacing:-.042em !important;
    font-weight:800 !important;
    text-wrap:balance !important;
  }

  .hero-cinematic .hero-copy{
    position:absolute !important;
    left:0 !important;
    top:235px !important;
    width:35% !important;
    max-width:405px !important;
    z-index:6 !important;
    padding:0 !important;
  }

  .hero-cinematic .hero-copy>p{
    max-width:390px !important;
    margin:0 !important;
    font-size:18px !important;
    line-height:1.72 !important;
  }

  .hero-cinematic .hero-media{
    position:absolute !important;
    top:126px !important;
    right:0 !important;
    bottom:auto !important;
    left:auto !important;
    width:58% !important;
    height:324px !important;
    min-height:324px !important;
    overflow:hidden !important;
    z-index:2 !important;
    border-radius:0 !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .hero-cinematic .hero-media::after{
    display:none !important;
    content:none !important;
  }

  .hero-cinematic .hero-media-slide,
  .hero-cinematic .hero-media-slide img,
  .hero-cinematic .hero-media-slide.showcase-lms img,
  .hero-cinematic .hero-media-slide.showcase-mobile img,
  .hero-cinematic .hero-media-slide.showcase-pharmacy img,
  .hero-cinematic .hero-media-slide.showcase-erp img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .hero-media-actions{
    position:absolute !important;
    right:0 !important;
    bottom:10px !important;
    left:auto !important;
    width:58% !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:12px !important;
    z-index:7 !important;
  }
}

@media(min-width:821px) and (max-width:1050px){
  .hero-cinematic .hero-wide{
    width:min(100% - 44px,1100px) !important;
    min-height:490px !important;
  }
  .hero-heading{
    width:67% !important;
    top:38px !important;
  }
  .hero-cinematic .hero-heading h1{
    font-size:clamp(48px,5.5vw,59px) !important;
  }
  .hero-cinematic .hero-copy{
    top:220px !important;
    width:37% !important;
  }
  .hero-cinematic .hero-media{
    top:126px !important;
    width:60% !important;
    height:310px !important;
    min-height:310px !important;
  }
  .hero-media-actions{width:60% !important;}
}

@media(max-width:820px){
  .hero-cinematic .hero-wide{
    min-height:auto !important;
  }
  .hero-heading{
    position:relative !important;
    width:auto !important;
    inset:auto !important;
    padding:38px 28px 8px !important;
  }
  .hero-cinematic .hero-heading h1{
    font-size:clamp(40px,9vw,54px) !important;
    line-height:1.04 !important;
  }
  .hero-cinematic .hero-copy{
    position:relative !important;
    width:auto !important;
    max-width:none !important;
    inset:auto !important;
    padding:8px 28px 18px !important;
  }
  .hero-cinematic .hero-media{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .hero-cinematic .hero-media::after{
    display:none !important;
    content:none !important;
  }
}

@media(max-width:600px){
  .hero-heading{padding:32px 18px 6px !important;}
  .hero-cinematic .hero-heading h1{font-size:40px !important;}
  .hero-cinematic .hero-copy{padding:8px 18px 16px !important;}
}


/* =========================================================
   HERO v52 — title above rotating images
   Desktop: sentence-case headline across top; large image below.
   No left fade. CTA button sizing unchanged.
   ========================================================= */
@media (min-width:1051px){
  .hero-cinematic{
    padding:0 !important;
  }

  .hero-cinematic .hero-wide{
    position:relative !important;
    width:min(100% - 64px,1360px) !important;
    min-height:540px !important;
    margin:0 auto !important;
  }

  .hero-heading{
    position:absolute !important;
    top:34px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:8 !important;
    padding:0 !important;
  }

  .hero-cinematic .hero-heading .eyebrow{
    margin-bottom:10px !important;
  }

  .hero-cinematic .hero-heading h1{
    max-width:1120px !important;
    margin:0 !important;
    font-size:clamp(54px,4.8vw,68px) !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
    text-transform:none !important;
  }

  .hero-cinematic .hero-copy{
    position:absolute !important;
    top:232px !important;
    left:0 !important;
    width:31% !important;
    max-width:390px !important;
    z-index:6 !important;
    padding:0 !important;
  }

  .hero-cinematic .hero-copy>p{
    margin:0 !important;
    max-width:390px !important;
    font-size:18px !important;
    line-height:1.72 !important;
  }

  .hero-cinematic .hero-media{
    position:absolute !important;
    top:154px !important;
    right:0 !important;
    left:auto !important;
    bottom:auto !important;
    width:66% !important;
    height:350px !important;
    min-height:350px !important;
    overflow:hidden !important;
    z-index:2 !important;
    border-radius:0 !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .hero-cinematic .hero-media::after{
    display:none !important;
    content:none !important;
  }

  .hero-cinematic .hero-media-slide,
  .hero-cinematic .hero-media-slide img,
  .hero-cinematic .hero-media-slide.showcase-lms img,
  .hero-cinematic .hero-media-slide.showcase-mobile img,
  .hero-cinematic .hero-media-slide.showcase-pharmacy img,
  .hero-cinematic .hero-media-slide.showcase-erp img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .hero-media-actions{
    position:absolute !important;
    right:0 !important;
    bottom:8px !important;
    left:auto !important;
    width:66% !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:12px !important;
    z-index:7 !important;
  }
}

@media (min-width:821px) and (max-width:1050px){
  .hero-cinematic .hero-wide{
    width:min(100% - 44px,1100px) !important;
    min-height:520px !important;
  }

  .hero-heading{
    position:absolute !important;
    top:32px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
  }

  .hero-cinematic .hero-heading h1{
    max-width:900px !important;
    font-size:clamp(46px,5.6vw,58px) !important;
    text-transform:none !important;
  }

  .hero-cinematic .hero-copy{
    top:220px !important;
    left:0 !important;
    width:32% !important;
  }

  .hero-cinematic .hero-media{
    top:150px !important;
    right:0 !important;
    width:65% !important;
    height:330px !important;
    min-height:330px !important;
  }

  .hero-media-actions{
    width:65% !important;
    right:0 !important;
  }
}

@media (max-width:820px){
  .hero-cinematic .hero-heading h1{
    text-transform:none !important;
  }
}


/* =========================================================
   HERO v53 — layered title/image composition
   Title overlays the upper edge of the rotating image via z-index.
   CTA buttons move below the descriptive paragraph on the left.
   No image fade. Desktop/tablet layout only; mobile stays stacked.
   ========================================================= */
@media (min-width:1051px){
  .hero-cinematic{
    overflow:hidden !important;
  }

  .hero-cinematic .hero-wide{
    position:relative !important;
    width:min(100% - 64px,1360px) !important;
    min-height:555px !important;
    margin:0 auto !important;
  }

  /* Headline is the foreground layer */
  .hero-heading{
    position:absolute !important;
    top:34px !important;
    left:0 !important;
    right:auto !important;
    width:82% !important;
    z-index:12 !important;
    padding:0 !important;
    pointer-events:none !important;
  }

  .hero-cinematic .hero-heading .eyebrow{
    margin:0 0 10px 0 !important;
  }

  .hero-cinematic .hero-heading h1{
    width:100% !important;
    max-width:1120px !important;
    margin:0 !important;
    font-size:clamp(56px,4.65vw,70px) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
    text-transform:none !important;
    position:relative !important;
    z-index:12 !important;
  }

  /* Copy stays left */
  .hero-cinematic .hero-copy{
    position:absolute !important;
    top:245px !important;
    left:0 !important;
    width:33% !important;
    max-width:410px !important;
    z-index:9 !important;
    padding:0 !important;
  }

  .hero-cinematic .hero-copy>p{
    margin:0 !important;
    max-width:410px !important;
    font-size:18px !important;
    line-height:1.72 !important;
  }

  /* Image is larger and begins behind the title layer */
  .hero-cinematic .hero-media{
    position:absolute !important;
    top:104px !important;
    right:-8px !important;
    left:auto !important;
    bottom:auto !important;
    width:70% !important;
    height:390px !important;
    min-height:390px !important;
    overflow:hidden !important;
    z-index:3 !important;
    border-radius:0 !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .hero-cinematic .hero-media::after{
    display:none !important;
    content:none !important;
  }

  .hero-cinematic .hero-media-slide,
  .hero-cinematic .hero-media-slide img,
  .hero-cinematic .hero-media-slide.showcase-lms img,
  .hero-cinematic .hero-media-slide.showcase-mobile img,
  .hero-cinematic .hero-media-slide.showcase-pharmacy img,
  .hero-cinematic .hero-media-slide.showcase-erp img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  /* Buttons now belong to the left copy column */
  .hero-media-actions{
    position:absolute !important;
    top:425px !important;
    left:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:12px !important;
    z-index:10 !important;
  }
}

@media (min-width:821px) and (max-width:1050px){
  .hero-cinematic .hero-wide{
    position:relative !important;
    width:min(100% - 44px,1100px) !important;
    min-height:540px !important;
  }

  .hero-heading{
    top:30px !important;
    left:0 !important;
    width:86% !important;
    z-index:12 !important;
  }

  .hero-cinematic .hero-heading h1{
    max-width:900px !important;
    font-size:clamp(46px,5.45vw,58px) !important;
    line-height:1 !important;
    text-transform:none !important;
  }

  .hero-cinematic .hero-copy{
    top:225px !important;
    left:0 !important;
    width:34% !important;
    max-width:340px !important;
  }

  .hero-cinematic .hero-copy>p{
    font-size:17px !important;
    line-height:1.65 !important;
  }

  .hero-cinematic .hero-media{
    top:98px !important;
    right:-4px !important;
    width:69% !important;
    height:365px !important;
    min-height:365px !important;
    z-index:3 !important;
  }

  .hero-media-actions{
    top:410px !important;
    left:0 !important;
    right:auto !important;
    width:auto !important;
    justify-content:flex-start !important;
  }
}

@media (max-width:820px){
  .hero-cinematic .hero-heading h1{
    text-transform:none !important;
  }
}


/* =========================================================
   HERO v54 — subtle left fade + three-line desktop title
   IMPORTANT: image dimensions from v53 are preserved.
   ========================================================= */
@media (min-width:1051px){

  /* Three deliberate visual lines without changing the HTML text.
     Width is constrained so the existing title wraps as:
     Technology
     That Works
     for You.
  */
  .hero-heading{
    width:39% !important;
    max-width:535px !important;
  }

  .hero-cinematic .hero-heading h1{
    width:100% !important;
    max-width:535px !important;
    font-size:clamp(56px,4.65vw,70px) !important;
    line-height:.98 !important;
  }

  /* Preserve the v53 image size exactly. */
  .hero-cinematic .hero-media{
    top:104px !important;
    right:-8px !important;
    width:70% !important;
    height:390px !important;
    min-height:390px !important;
  }

  /* Very small feather only at the extreme left edge.
     This does NOT reduce the image box or image scale. */
  .hero-cinematic .hero-media{
    -webkit-mask-image:linear-gradient(
      to right,
      transparent 0,
      rgba(0,0,0,.72) 2.2%,
      #000 5.5%,
      #000 100%
    ) !important;
    mask-image:linear-gradient(
      to right,
      transparent 0,
      rgba(0,0,0,.72) 2.2%,
      #000 5.5%,
      #000 100%
    ) !important;
  }

  .hero-cinematic .hero-media-slide,
  .hero-cinematic .hero-media-slide img,
  .hero-cinematic .hero-media-slide.showcase-lms img,
  .hero-cinematic .hero-media-slide.showcase-mobile img,
  .hero-cinematic .hero-media-slide.showcase-pharmacy img,
  .hero-cinematic .hero-media-slide.showcase-erp img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}

/* Keep tablet/mobile title naturally responsive rather than forcing 3 lines. */
@media (max-width:1050px){
  .hero-heading{
    max-width:none !important;
  }
}


/* =========================================================
   HERO v55 — give 3-line title more breathing room
   Image dimensions remain unchanged from v53/v54.
   ========================================================= */
@media (min-width:1051px){
  .hero-heading{
    width:42% !important;
    max-width:570px !important;
  }

  .hero-cinematic .hero-heading h1{
    width:100% !important;
    max-width:570px !important;
    font-size:clamp(56px,4.65vw,70px) !important;
    line-height:1.08 !important;
    letter-spacing:-.018em !important;
  }

  /* Preserve rotating image dimensions exactly. */
  .hero-cinematic .hero-media{
    top:104px !important;
    right:-8px !important;
    width:70% !important;
    height:390px !important;
    min-height:390px !important;
  }

  /* Move copy/buttons slightly lower so they do not crowd the title. */
  .hero-cinematic .hero-copy{
    top:270px !important;
  }

  .hero-media-actions{
    top:450px !important;
  }
}


/* =========================================================
   HERO v56 — uncrowded 3-line title
   Keep image size unchanged; create real vertical separation
   between title, paragraph and CTA buttons.
   ========================================================= */
@media (min-width:1051px){
  .hero-cinematic .hero-wide{
    min-height:600px !important;
  }

  .hero-heading{
    top:34px !important;
    width:42% !important;
    max-width:575px !important;
  }

  .hero-cinematic .hero-heading h1{
    width:100% !important;
    max-width:575px !important;
    font-size:clamp(54px,4.45vw,67px) !important;
    line-height:1.12 !important;
    letter-spacing:-.012em !important;
  }

  /* Keep image dimensions unchanged; only move it slightly down
     so the title and image layering remains clean. */
  .hero-cinematic .hero-media{
    top:112px !important;
    right:-8px !important;
    width:70% !important;
    height:390px !important;
    min-height:390px !important;
  }

  /* Give the title a proper gap before body copy. */
  .hero-cinematic .hero-copy{
    top:335px !important;
    left:0 !important;
    width:31% !important;
    max-width:395px !important;
  }

  .hero-cinematic .hero-copy>p{
    max-width:395px !important;
    font-size:18px !important;
    line-height:1.72 !important;
  }

  /* Buttons sit clearly below the paragraph. */
  .hero-media-actions{
    top:515px !important;
    left:0 !important;
  }
}


/* =========================================================
   LMS dashboard rotator v57
   Rounded framed container + soft site-style shadow.
   Rotator/image dimensions are NOT reduced.
   ========================================================= */
.lms-push-slider{
  overflow:hidden !important;
  border:1px solid rgba(190,207,225,.92) !important;
  border-radius:20px !important;
  background:#ffffff !important;
  box-shadow:
    0 20px 48px rgba(24,54,88,.14),
    0 6px 16px rgba(24,54,88,.07) !important;
}

.lms-push-slide{
  background:#ffffff !important;
}

.lms-push-screen{
  overflow:hidden !important;
  border-radius:19px 19px 0 0 !important;
}

.lms-push-screen img{
  border-radius:19px 19px 0 0 !important;
}

.lms-push-caption{
  background:rgba(255,255,255,.98) !important;
  border-top:1px solid rgba(214,226,238,.9) !important;
  padding:10px 16px 12px !important;
}

@media(max-width:760px){
  .lms-push-slider{
    border-radius:15px !important;
  }
  .lms-push-screen,
  .lms-push-screen img{
    border-radius:14px 14px 0 0 !important;
  }
}


/* =========================================================
   ABOUT v58 — merged About + Why SaylanSoft
   Former Solutions/Why content now lives inside #about.
   ========================================================= */
.about-combined{
  padding:88px 0 !important;
}

.about-combined .about-shell{
  margin-bottom:34px !important;
}

.about-foundation-panel{
  position:relative;
  overflow:hidden;
  padding:38px;
  border-radius:26px;
  background:
    radial-gradient(circle at 8% 12%,rgba(34,130,255,.20),transparent 27%),
    radial-gradient(circle at 92% 85%,rgba(255,132,41,.18),transparent 27%),
    #0b2138;
  border:1px solid rgba(126,184,236,.22);
  box-shadow:0 22px 52px rgba(15,43,70,.16);
}

.about-foundation-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
}

.about-foundation-heading .eyebrow{
  flex:0 0 auto;
}

.about-foundation-heading .section-title{
  max-width:760px;
  margin:0;
}

.about-combined .about-why-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

.about-combined .about-why-grid article{
  min-height:210px;
  padding:24px 21px;
  border-radius:20px;
}

html:lang(si) .about-foundation-heading{
  align-items:flex-start;
}

html:lang(si) .about-foundation-heading .section-title{
  font-size:clamp(31px,3.3vw,45px);
  line-height:1.25;
}

html:lang(si) .about-combined .about-why-grid h3{
  font-size:21px;
  line-height:1.45;
}

html:lang(si) .about-combined .about-why-grid p{
  font-size:16px;
  line-height:1.78;
}

@media(max-width:1050px){
  .about-foundation-heading{
    display:block;
  }
  .about-foundation-heading .eyebrow{
    display:block;
    margin-bottom:10px;
  }
  .about-combined .about-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:600px){
  .about-combined{
    padding:68px 0 !important;
  }
  .about-foundation-panel{
    padding:24px 18px;
    border-radius:20px;
  }
  .about-combined .about-why-grid{
    grid-template-columns:1fr !important;
  }
  .about-combined .about-why-grid article{
    min-height:auto;
  }
}


/* =========================================================
   HEADER LMS ACCESS v60
   Student/Admin access is global in the main navigation.
   ========================================================= */
.nav-login-group{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-left:5px;
  white-space:nowrap;
}

.main-nav .nav-login-btn{
  min-height:36px;
  padding:7px 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  font-size:13px;
  line-height:1;
  font-weight:800;
  text-decoration:none;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    border-color .18s ease;
}

.main-nav .nav-login-btn:hover{
  transform:translateY(-1px);
}

.main-nav .nav-login-student{
  color:#fff;
  border:1px solid #236de8;
  background:linear-gradient(135deg,#155ed7,#2d7bf2);
  box-shadow:0 5px 13px rgba(35,109,232,.18);
}

.main-nav .nav-login-student:hover{
  color:#fff;
  box-shadow:0 7px 17px rgba(35,109,232,.25);
}

.main-nav .nav-login-admin{
  color:#173653;
  border:1px solid #c5d5e5;
  background:#fff;
}

.main-nav .nav-login-admin:hover{
  color:#173653;
  border-color:#96b4d0;
  background:#f8fbff;
  box-shadow:0 5px 13px rgba(24,55,84,.09);
}

html:lang(si) .main-nav .nav-login-btn{
  font-size:13px;
  padding-left:11px;
  padding-right:11px;
}

/* Allow the desktop header to breathe with the two new controls. */
@media(min-width:1051px){
  .main-nav{
    gap:15px !important;
  }

  .language-switch{
    margin-left:2px;
  }
}

/* Tablet: slightly tighter without making the login controls look cramped. */
@media(min-width:821px) and (max-width:1180px){
  .main-nav{
    gap:9px !important;
  }

  .main-nav .nav-login-btn{
    padding:7px 9px;
    font-size:12px;
  }

  .nav-login-group{
    gap:5px;
    margin-left:0;
  }
}

/* Mobile: login actions become a clear two-button row in the open menu. */
@media(max-width:820px){
  .nav-login-group{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin:8px 0 3px;
  }

  .main-nav .nav-login-btn{
    width:100%;
    min-height:42px;
    padding:9px 12px;
    font-size:14px;
    border-radius:12px;
  }
}

@media(max-width:420px){
  .nav-login-group{
    grid-template-columns:1fr;
  }
}

/* OUR COURSES v62 — rebuilt cleanly from v60 */
#courses{scroll-margin-top:118px}
.courses-section{padding:88px 0;background:linear-gradient(180deg,#f7fbff 0%,#fff 100%)}
.courses-heading{max-width:780px;margin-bottom:34px}.courses-heading>p{max-width:700px;color:#5f7184;font-size:17px;line-height:1.75}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.course-card{overflow:hidden;border:1px solid #dce7f1;border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(30,65,98,.09);transition:.2s ease}.course-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(30,65,98,.14)}
.course-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#eaf3fc;text-decoration:none}.course-card-media img{width:100%;height:100%;display:block;object-fit:cover}
.course-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:#fff;background:radial-gradient(circle at 84% 14%,rgba(255,255,255,.22),transparent 26%),linear-gradient(135deg,#0e3a63,#1e78d8 62%,#ef8a3a)}.course-placeholder small{margin-bottom:7px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.88}.course-placeholder strong{font-size:30px;line-height:1.08}
.course-card-body{padding:23px}.course-tag{display:inline-flex;margin-bottom:11px;color:#1f6bd6;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.course-card h3{margin:0 0 10px;color:#163a5b;font-size:25px}.course-card p{margin:0 0 20px;color:#647689;line-height:1.68}.course-link{color:#1766d3;font-weight:800;text-decoration:none}.course-link span{display:inline-block;margin-left:5px;transition:transform .18s ease}.course-link:hover span{transform:translateX(4px)}
.course-hero{padding:72px 0;background:linear-gradient(120deg,#eef7ff 0%,#f9fbff 54%,#fff3e9 100%)}.course-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:54px;align-items:center}.course-hero-copy h1{margin:10px 0 18px;color:#113a5e;font-size:clamp(48px,5.3vw,76px);line-height:.98;letter-spacing:-.045em}.course-hero-copy>p{max-width:700px;color:#586d81;font-size:19px;line-height:1.75}
.course-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.course-meta div{padding:14px 15px;border:1px solid #d8e5f1;border-radius:14px;background:rgba(255,255,255,.78)}.course-meta span{display:block;margin-bottom:4px;color:#7b8da0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.course-meta strong{color:#183e60;font-size:14px}
.course-hero-visual{overflow:hidden;border:1px solid #d5e2ee;border-radius:24px;background:#fff;box-shadow:0 22px 54px rgba(33,67,99,.16)}.course-hero-visual img{width:100%;height:auto;display:block}.course-page-placeholder{aspect-ratio:16/10;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.24),transparent 28%),linear-gradient(135deg,#0c345a,#247bd6 62%,#ef8d41)}.course-page-placeholder span{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.86}.course-page-placeholder strong{margin-top:8px;font-size:42px;line-height:1}
.course-detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:46px;align-items:start}.course-detail-card{padding:26px;border:1px solid #dbe7f1;border-radius:20px;background:#f8fbfe;box-shadow:0 12px 28px rgba(33,68,99,.06)}.course-detail-card h3{margin:0 0 10px;color:#163a5c}.course-detail-card p{margin:0;color:#64778a;line-height:1.7}.course-info-bands{padding-top:0}.course-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-info-grid article{padding:26px;border-radius:20px;background:#0d2842;color:#fff}.course-info-grid article>span{width:38px;height:38px;margin-bottom:18px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#1c6fd0;font-weight:900}.course-info-grid h3{margin:0 0 10px;font-size:21px}.course-info-grid p{margin:0;color:#c8d6e4;line-height:1.68}
html:lang(si) .course-card h3,html:lang(si) .course-hero-copy h1{letter-spacing:0;line-height:1.25}
@media(max-width:1050px){#courses{scroll-margin-top:96px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-hero-grid{grid-template-columns:1fr;gap:34px}.course-hero-visual{max-width:760px}}
@media(max-width:760px){#courses{scroll-margin-top:82px}.courses-section{padding:68px 0}.course-grid{grid-template-columns:1fr}.course-meta{grid-template-columns:1fr}.course-detail-grid{grid-template-columns:1fr}.course-info-grid{grid-template-columns:1fr}.course-hero{padding:54px 0}.course-hero-copy h1{font-size:clamp(42px,12vw,58px)}}


/* =========================================================
   EXCEL MASTERCLASS v63
   Dedicated curriculum landing page
   ========================================================= */
.excel-course-page{background:#fff}

.excel-course-hero{
  padding:82px 0 76px;
  background:
    radial-gradient(circle at 82% 18%,rgba(35,128,255,.15),transparent 26%),
    radial-gradient(circle at 90% 85%,rgba(243,143,61,.14),transparent 28%),
    linear-gradient(120deg,#edf7ff 0%,#f9fbff 58%,#fff7ef 100%);
}

.excel-course-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:58px;
  align-items:center;
}

.excel-course-hero-copy h1{
  margin:10px 0 8px;
  color:#103b5f;
  font-size:clamp(56px,6.2vw,86px);
  line-height:.96;
  letter-spacing:-.05em;
}

.excel-edition{
  margin:0 0 20px;
  color:#1f70d8;
  font-size:18px;
  font-weight:800;
}

.excel-course-lead{
  max-width:780px;
  margin:0;
  color:#566e83;
  font-size:19px;
  line-height:1.75;
}

.excel-course-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:30px;
}

.excel-course-stats div{
  padding:15px 14px;
  border:1px solid #d9e6f2;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 20px rgba(28,72,110,.06);
}

.excel-course-stats strong{
  display:block;
  color:#1768c8;
  font-size:27px;
  line-height:1;
}

.excel-course-stats span{
  display:block;
  margin-top:6px;
  color:#718397;
  font-size:12px;
  font-weight:700;
}

.excel-course-hero-card{
  padding:30px;
  border:1px solid rgba(194,210,226,.94);
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 54px rgba(27,65,100,.14);
}

.excel-mini-label{
  color:#ef7f2d;
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
}

.excel-course-hero-card h2{
  margin:10px 0 18px;
  color:#173e60;
  font-size:29px;
  line-height:1.15;
}

.excel-course-hero-card ul{
  margin:0;
  padding-left:20px;
  color:#607488;
}

.excel-course-hero-card li{
  margin:0 0 11px;
  line-height:1.6;
}

.excel-section-head{
  max-width:820px;
  margin-bottom:34px;
}

.excel-section-head>p{
  max-width:760px;
  color:#617588;
  font-size:17px;
  line-height:1.75;
}

.excel-audience-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.excel-audience-grid article,
.excel-bonus-grid article{
  padding:24px;
  border:1px solid #dfe9f2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(31,70,104,.07);
}

.excel-audience-grid article>span,
.excel-bonus-grid article>span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:50%;
  background:#eaf4ff;
  color:#176bd2;
  font-weight:900;
}

.excel-audience-grid h3,
.excel-bonus-grid h3{
  margin:0 0 9px;
  color:#173d5f;
  font-size:20px;
}

.excel-audience-grid p,
.excel-bonus-grid p{
  margin:0;
  color:#65788b;
  line-height:1.65;
}

.excel-assessment-section{
  background:#0c2944;
}

.excel-assessment-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:44px;
  align-items:center;
}

.excel-assessment-section .eyebrow{color:#73b3ff}
.excel-assessment-section .section-title{color:#fff}

.excel-assessment-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.excel-assessment-cards article{
  min-height:148px;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.07);
}

.excel-assessment-cards strong{
  color:#73b3ff;
  font-size:34px;
  line-height:1;
}

.excel-assessment-cards span{
  margin-top:10px;
  color:#e7eff7;
  line-height:1.5;
}

.excel-curriculum-section{
  background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);
}

.excel-module-list{
  display:grid;
  gap:14px;
}

.excel-module-card{
  overflow:hidden;
  border:1px solid #dbe7f1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 9px 24px rgba(29,68,102,.055);
}

.excel-module-card summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:54px 1fr 34px;
  gap:16px;
  align-items:center;
  padding:20px 22px;
}

.excel-module-card summary::-webkit-details-marker{display:none}

.excel-module-number{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#eaf4ff;
  color:#1768cc;
  font-weight:900;
}

.excel-module-title-wrap small{
  display:block;
  margin-bottom:3px;
  color:#7f91a3;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
}

.excel-module-title-wrap strong{
  color:#173e60;
  font-size:20px;
}

.excel-module-toggle{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f1f6fb;
  color:#1f6ccd;
  font-size:20px;
  font-weight:700;
  transition:transform .2s ease;
}

.excel-module-card[open] .excel-module-toggle{transform:rotate(45deg)}

.excel-module-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  padding:4px 22px 24px 92px;
  border-top:1px solid #edf2f7;
}

.excel-module-column{padding-top:20px}

.excel-module-column h3{
  margin:0 0 12px;
  color:#173e60;
  font-size:16px;
}

.excel-module-column ul,
.excel-module-column ol{
  margin:0;
  padding-left:21px;
  color:#617487;
}

.excel-module-column li{
  margin-bottom:8px;
  line-height:1.55;
}

.excel-project-row{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(220px,.45fr) 1fr;
  gap:22px;
  padding:17px 18px;
  border-radius:16px;
  background:#f6faff;
}

.excel-project-row div span{
  display:block;
  color:#7a8da0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.excel-project-row div strong{
  display:block;
  margin-top:4px;
  color:#1768cb;
  font-size:16px;
}

.excel-project-row p{
  margin:0;
  color:#6a7d90;
  font-size:13px;
  line-height:1.6;
}

.excel-bonus-section{padding-top:30px}

.excel-bonus-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

@media(max-width:1050px){
  .excel-course-hero-grid{grid-template-columns:1fr}
  .excel-course-hero-card{max-width:760px}
  .excel-audience-grid{grid-template-columns:repeat(2,1fr)}
  .excel-assessment-grid{grid-template-columns:1fr}
  .excel-bonus-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:760px){
  .excel-course-hero{padding:56px 0}
  .excel-course-hero-copy h1{font-size:clamp(46px,13vw,66px)}
  .excel-course-stats{grid-template-columns:repeat(2,1fr)}
  .excel-audience-grid,
  .excel-assessment-cards,
  .excel-bonus-grid{grid-template-columns:1fr}
  .excel-module-card summary{grid-template-columns:46px 1fr 30px;padding:17px}
  .excel-module-body{grid-template-columns:1fr;padding:0 17px 19px}
  .excel-project-row{grid-template-columns:1fr}
}


/* =========================================================
   EXCEL MASTERCLASS v64 — calmer, lighter dedicated page
   ========================================================= */
.excel-course-hero{
  padding:68px 0 62px;
}

.excel-course-hero-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:46px;
}

.excel-course-hero-copy h1{
  font-size:clamp(52px,5.6vw,78px);
}

.excel-course-lead{
  max-width:720px;
  font-size:18px;
}

.excel-course-stats{
  max-width:700px;
  gap:10px;
  margin-top:25px;
}

.excel-course-stats div{
  padding:13px;
  box-shadow:none;
}

.excel-course-stats strong{
  font-size:24px;
}

.excel-course-hero-card{
  padding:25px;
  border-radius:20px;
  box-shadow:0 14px 34px rgba(27,65,100,.10);
}

.excel-course-hero-card h2{
  font-size:24px;
}

.excel-course-hero-card li{
  margin-bottom:8px;
  font-size:14px;
}

.excel-overview-section{
  padding:68px 0;
}

.excel-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:54px;
  align-items:center;
}

.excel-overview-copy{
  max-width:620px;
}

.excel-overview-copy .section-title{
  margin-bottom:15px;
}

.excel-overview-copy p{
  margin:0;
  color:#617588;
  font-size:17px;
  line-height:1.75;
}

.excel-overview-points{
  display:grid;
  gap:0;
  border-top:1px solid #dfe8f0;
}

.excel-overview-points>div{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid #dfe8f0;
}

.excel-overview-points strong{
  color:#173e60;
  font-size:15px;
}

.excel-overview-points span{
  color:#687b8e;
  line-height:1.55;
}

.excel-curriculum-section{
  padding-top:72px;
  background:#f8fbfe;
}

.excel-curriculum-section .excel-section-head{
  margin-bottom:26px;
}

.excel-module-list{
  gap:10px;
}

.excel-module-card{
  border-radius:15px;
  box-shadow:none;
}

.excel-module-card summary{
  grid-template-columns:46px 1fr 30px;
  padding:16px 18px;
}

.excel-module-number{
  width:40px;
  height:40px;
  border-radius:11px;
  font-size:13px;
}

.excel-module-title-wrap strong{
  font-size:18px;
}

.excel-module-body{
  gap:24px;
  padding:0 20px 20px 80px;
}

.excel-module-column{
  padding-top:17px;
}

.excel-module-column li{
  margin-bottom:6px;
  font-size:14px;
}

.excel-project-row{
  padding:14px 16px;
  background:#f7faff;
}

.excel-version-note{
  opacity:.82;
  font-size:12px !important;
}

/* Older v63 blocks are no longer rendered on this page. */
.excel-audience-grid,
.excel-assessment-section,
.excel-bonus-section{
  display:none;
}

@media(max-width:900px){
  .excel-overview-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .excel-overview-points{
    max-width:720px;
  }
}

@media(max-width:760px){
  .excel-course-hero{
    padding:50px 0;
  }

  .excel-course-hero-grid{
    gap:28px;
  }

  .excel-course-stats{
    grid-template-columns:repeat(2,1fr);
  }

  .excel-overview-section{
    padding:54px 0;
  }

  .excel-overview-points>div{
    grid-template-columns:1fr;
    gap:5px;
  }

  .excel-curriculum-section{
    padding-top:58px;
  }

  .excel-module-body{
    padding:0 16px 18px;
  }
}


/* =========================================================
   EXCEL MASTERCLASS v65 — course access + enrolment modal
   ========================================================= */
.excel-access-strip{
  max-width:760px;
  margin-top:22px;
  padding:16px;
  border:1px solid #d8e5f1;
  border-radius:18px;
  background:rgba(255,255,255,.84);
  box-shadow:0 10px 26px rgba(30,70,105,.07);
}

.excel-access-facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  padding-bottom:13px;
  border-bottom:1px solid #e4edf5;
}

.excel-access-facts span{
  color:#62778b;
  font-size:13px;
}

.excel-access-facts strong{
  color:#173e60;
}

.excel-price-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding-top:14px;
}

.excel-price-row>div{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px 12px;
}

.excel-price-row small{
  width:100%;
  color:#7d90a3;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
}

.excel-price-row strong{
  color:#1767c9;
  font-size:27px;
}

.excel-price-row span{
  color:#687c8f;
  font-size:13px;
}

.excel-buy-btn{
  min-height:44px;
  padding:10px 18px;
  border:0;
  border-radius:13px;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg,#1461d5,#2e7ef0);
  box-shadow:0 8px 18px rgba(35,109,232,.20);
  font:inherit;
  font-weight:800;
  white-space:nowrap;
}

.excel-buy-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(35,109,232,.26);
}

body.modal-open{overflow:hidden}

.course-enrolment-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  padding:32px 18px;
}

.course-enrolment-modal.is-open{
  display:grid;
  place-items:center;
}

.course-enrolment-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,24,40,.66);
  backdrop-filter:blur(5px);
}

.course-enrolment-dialog{
  position:relative;
  z-index:1;
  width:min(1040px,96vw);
  max-height:90vh;
  overflow:auto;
  padding:30px;
  border:1px solid #d7e3ee;
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 80px rgba(5,28,48,.28);
}

.course-enrolment-close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  border:1px solid #dbe6ef;
  border-radius:50%;
  cursor:pointer;
  background:#fff;
  color:#31516d;
  font-size:24px;
  line-height:1;
}

.course-enrolment-head{
  max-width:720px;
  padding-right:52px;
  margin-bottom:24px;
}

.course-enrolment-head h2{
  margin:8px 0 9px;
  color:#153d5f;
  font-size:34px;
  line-height:1.12;
}

.course-enrolment-head p{
  margin:0;
  color:#687b8e;
}

.course-enrolment-methods{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.course-enrolment-method{
  position:relative;
  padding:24px;
  border:1px solid #dde7f0;
  border-radius:20px;
  background:#fbfdff;
}

.course-enrolment-method-featured{
  border-color:#bdd8f7;
  background:linear-gradient(180deg,#f6fbff,#fff);
  box-shadow:0 12px 30px rgba(34,104,180,.08);
}

.course-method-number{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin-bottom:15px;
  border-radius:12px;
  background:#eaf4ff;
  color:#1768cb;
  font-size:13px;
  font-weight:900;
}

.course-method-badge{
  position:absolute;
  top:22px;
  right:22px;
  padding:6px 9px;
  border-radius:999px;
  background:#e8f3ff;
  color:#1767c9;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}

.course-enrolment-method h3{
  margin:0 0 8px;
  color:#173e60;
  font-size:22px;
}

.course-enrolment-method>p{
  margin:0 0 18px;
  color:#687c8f;
  line-height:1.65;
}

.bank-detail-card{
  overflow:hidden;
  margin:16px 0;
  border:1px solid #dbe7f1;
  border-radius:15px;
  background:#fff;
}

.bank-detail-card div{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:12px;
  padding:10px 13px;
  border-bottom:1px solid #edf2f6;
}

.bank-detail-card div:last-child{border-bottom:0}

.bank-detail-card span{
  color:#7c8fa2;
  font-size:12px;
  font-weight:700;
}

.bank-detail-card strong{
  color:#183f61;
  font-size:14px;
}

.course-join-steps{
  margin:18px 0;
  padding-left:22px;
  color:#5f7488;
}

.course-join-steps li{
  margin-bottom:9px;
  padding-left:3px;
  line-height:1.55;
}

.course-whatsapp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.course-whatsapp-actions a,
.course-student-login{
  min-height:42px;
  padding:9px 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
}

.course-whatsapp-actions a{
  border:1px solid #bcd9c9;
  color:#17633c;
  background:#f5fcf8;
}

.course-student-login{
  color:#fff;
  background:linear-gradient(135deg,#155fd5,#2d7dee);
  box-shadow:0 7px 17px rgba(35,109,232,.18);
}

.course-student-login span{margin-left:7px}

.course-enrolment-note{
  margin:20px 0 0;
  color:#718396;
  font-size:13px;
  text-align:center;
}

@media(max-width:820px){
  .course-enrolment-dialog{
    padding:24px 18px;
  }

  .course-enrolment-methods{
    grid-template-columns:1fr;
  }

  .excel-price-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .excel-buy-btn{
    width:100%;
  }
}

@media(max-width:520px){
  .excel-access-facts{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .bank-detail-card div{
    grid-template-columns:1fr;
    gap:3px;
  }

  .course-whatsapp-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* v66 header alignment + section anchors */
.site-header .nav-wrap{padding-left:0!important;padding-right:0!important}
.site-header .brand{gap:7px!important;margin-left:0!important}
.site-header .brand-text{margin-left:0!important}
.main-nav{gap:31px!important}
.main-nav .nav-login-group{margin-left:2px}
#courses,#about{scroll-margin-top:82px!important}
.courses-section,.about-combined{padding-top:68px!important}
.course-card-media img{object-fit:cover;object-position:center}
@media(max-width:1180px){.site-header .nav-wrap{padding-left:20px!important;padding-right:20px!important}.main-nav{gap:20px!important}}
html:lang(si) .main-nav{gap:27px!important}

/* v66 shared dedicated course visuals */
.course-hero-image{overflow:hidden;border:1px solid #d6e3ee;border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(24,61,96,.13)}
.course-hero-image img{display:block;width:100%;height:auto}
.simple-module-body{padding:4px 22px 22px 80px;border-top:1px solid #edf2f7}
.simple-module-body ul{columns:2;column-gap:34px;margin:18px 0 0;padding-left:20px;color:#617487}
.simple-module-body li{break-inside:avoid;margin:0 0 8px;line-height:1.5}
.course-capstone-section{background:#fff}
.course-capstone-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}
.course-capstone-grid>div:first-child p{color:#617588;font-size:17px;line-height:1.75}
.course-outcomes{padding:26px;border:1px solid #dce7f0;border-radius:20px;background:#f8fbfe}
.course-outcomes h3{margin:0 0 14px;color:#173e60}
.course-outcomes ul{margin:0;padding-left:20px;color:#617487}
.course-outcomes li{margin-bottom:8px;line-height:1.55}
@media(max-width:760px){.simple-module-body{padding:0 16px 18px}.simple-module-body ul{columns:1}.course-capstone-grid{grid-template-columns:1fr}}


/* =========================================================
   v67 — header alignment, pill controls, anchor precision
   ========================================================= */

/* Use the same horizontal container geometry for header and page sections. */
.site-header .nav-wrap{
  width:min(1180px, calc(100% - 40px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* Bring wordmark closer to icon. */
.site-header .brand{
  gap:4px !important;
  margin:0 !important;
}
.site-header .brand-text{
  margin-left:0 !important;
  transform:translateX(-1px);
}

/* Give navigation links more breathing room and pill interaction. */
.main-nav{
  gap:14px !important;
}
.main-nav > a{
  padding:8px 12px !important;
  border-radius:999px !important;
  line-height:1 !important;
}
.main-nav > a:hover{
  background:#f2f7fc !important;
}

/* Student/Admin and language controls: pill treatment. */
.main-nav .nav-login-btn{
  border-radius:999px !important;
  padding-left:15px !important;
  padding-right:15px !important;
}
.language-switch{
  border-radius:999px !important;
}

/* Course-page CTAs and related actions as pills. */
.excel-buy-btn,
.course-student-login,
.course-whatsapp-actions a,
.course-link{
  border-radius:999px !important;
}
.excel-buy-btn{
  padding-left:22px !important;
  padding-right:22px !important;
}
.course-student-login,
.course-whatsapp-actions a{
  padding-left:18px !important;
  padding-right:18px !important;
}

/* Course cards: preserve rounded image presentation cleanly. */
.course-card-media{
  border-radius:20px 20px 0 0 !important;
}
.course-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Exact anchor landing under sticky 82px header. */
#courses,
#about{
  scroll-margin-top:82px !important;
}

/* Prevent extra top whitespace after anchor jump. */
.courses-section,
.about-combined{
  padding-top:44px !important;
}

/* Explicit section title for About. */
.about-section-title{
  margin:0 0 28px !important;
  max-width:760px;
}
.about-section-title .eyebrow{
  margin-bottom:8px;
}
.about-section-title .section-title{
  margin:0;
}

/* Original about content begins immediately below explicit section heading. */
.about-combined .about-shell{
  margin-top:0 !important;
}

/* Better bilingual spacing without making menu too wide. */
html:lang(si) .main-nav{
  gap:12px !important;
}
html:lang(si) .main-nav > a{
  padding-left:11px !important;
  padding-right:11px !important;
}

/* Make dedicated course page hero image cleaner and proportional. */
.course-hero-image{
  overflow:hidden !important;
  border-radius:24px !important;
}
.course-hero-image img{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

/* Tablet/mobile header retains correct container alignment. */
@media(max-width:1180px){
  .site-header .nav-wrap{
    width:calc(100% - 32px) !important;
  }
}

@media(max-width:820px){
  #courses,
  #about{
    scroll-margin-top:76px !important;
  }
  .courses-section,
  .about-combined{
    padding-top:36px !important;
  }
  .main-nav > a{
    border-radius:999px !important;
  }
}


/* =========================================================
   v68 — unified site width + stronger menu hover + anchor lift
   ========================================================= */

:root{
  --site-content-width:1180px;
  --site-gutter:20px;
}

/* One horizontal geometry for all standard page sections. */
.container,
.site-header .nav-wrap,
.hero-cinematic .hero-wide,
.contact-strip-inner{
  width:min(var(--site-content-width), calc(100% - (var(--site-gutter) * 2))) !important;
  max-width:var(--site-content-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Remove historical width overrides that made some sections feel narrower/wider. */
.site-header .nav-wrap{
  padding-left:0 !important;
  padding-right:0 !important;
}

.hero-cinematic .hero-wide{
  left:auto !important;
  right:auto !important;
}

/* The menu icon/wordmark now begins on exactly the same vertical guide
   as the section content below. */
.site-header .brand{
  margin-left:0 !important;
  padding-left:0 !important;
}

/* Keep the wordmark tight to the S mark. */
.site-header .brand{
  gap:2px !important;
}
.site-header .brand-text{
  margin-left:0 !important;
  transform:translateX(-2px) !important;
}

/* Make ordinary menu links feel like larger pill buttons on hover. */
.main-nav{
  gap:13px !important;
}

.main-nav > a{
  min-height:40px !important;
  padding:10px 15px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  transition:
    background-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease !important;
}

@media (hover:hover) and (pointer:fine){
  .main-nav > a:hover{
    color:#1768d1 !important;
    background:#eaf3ff !important;
    box-shadow:0 7px 18px rgba(31,104,202,.12) !important;
    transform:translateY(-1px) !important;
  }
}

/* Login buttons remain slightly stronger but share the same pill height. */
.main-nav .nav-login-btn{
  min-height:40px !important;
  padding:10px 16px !important;
}

/* Lift anchored sections farther up under the sticky menu.
   Negative scroll margin is not valid for the desired effect; instead
   use a smaller scroll-margin combined with reduced section top padding. */
#courses,
#about{
  scroll-margin-top:58px !important;
}

.courses-section,
.about-combined{
  padding-top:24px !important;
}

/* Keep headings comfortably separated from the actual sticky header
   after the anchor jump while avoiding the previous large empty band. */
.courses-heading,
.about-section-title{
  padding-top:8px !important;
}

/* Sinhala menu: same visual pill size with slightly tighter horizontal
   gaps so the longer labels remain balanced. */
html:lang(si) .main-nav{
  gap:10px !important;
}
html:lang(si) .main-nav > a{
  min-height:40px !important;
  padding:10px 14px !important;
}

/* Tablet/mobile maintain the same global guide. */
@media(max-width:1180px){
  :root{
    --site-gutter:16px;
  }

  .container,
  .site-header .nav-wrap,
  .hero-cinematic .hero-wide,
  .contact-strip-inner{
    width:calc(100% - (var(--site-gutter) * 2)) !important;
  }

  .main-nav{
    gap:9px !important;
  }

  .main-nav > a{
    padding-left:12px !important;
    padding-right:12px !important;
  }
}

@media(max-width:820px){
  #courses,
  #about{
    scroll-margin-top:52px !important;
  }

  .courses-section,
  .about-combined{
    padding-top:20px !important;
  }
}

/* FINAL v23 HEADER PLACEMENT */
.site-header .nav-wrap{height:auto!important;min-height:108px!important;padding-top:7px!important;padding-bottom:7px!important}
.main-nav{gap:10px!important}
.nav-action-stack{display:flex!important;flex:0 0 auto;flex-direction:column;align-items:stretch;gap:6px;min-width:318px}
.nav-action-row{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.nav-action-stack .nav-login-group{margin:0!important;gap:6px}
.nav-action-stack .nav-login-btn{min-height:34px!important;padding:7px 12px!important;font-size:11px!important}
.nav-action-stack .language-switch{display:flex;flex:0 0 auto;margin:0!important;padding:2px!important;background:#fff}
.nav-action-stack .language-switch a{padding:5px 9px!important;font-size:11px!important;line-height:1.1;white-space:nowrap}
.nav-action-stack .nav-model-papers{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:34px;padding:7px 15px;border-radius:999px;background:linear-gradient(135deg,#ff812d,#ff9d58);color:#fff!important;box-shadow:0 6px 15px rgba(255,129,45,.2);font-size:12px;font-weight:900;line-height:1.1;transition:.18s ease}
.nav-action-stack .nav-model-papers:hover{background:linear-gradient(135deg,#eb6d18,#ff8b3d);box-shadow:0 8px 18px rgba(255,129,45,.28);transform:translateY(-1px)}
html:lang(si) .nav-action-stack .language-switch a{font-size:14px!important;padding:4px 9px!important}
html:lang(si) .nav-action-stack .nav-model-papers{font-size:16px}
@media(min-width:901px) and (max-width:1250px){.main-nav{gap:5px!important;font-size:12px}.main-nav>a{padding-left:7px!important;padding-right:7px!important}.nav-action-stack{min-width:286px}.nav-action-stack .nav-login-btn{padding-left:9px!important;padding-right:9px!important}}
@media(max-width:900px){.site-header .nav-wrap{min-height:82px!important;padding-top:0!important;padding-bottom:0!important}.main-nav{top:81px!important}.nav-action-stack{width:100%;min-width:0;gap:9px;margin-top:6px}.nav-action-row{display:grid;grid-template-columns:1fr;gap:8px}.nav-action-stack .nav-login-group{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0!important}.nav-action-stack .nav-login-btn{min-height:42px!important;font-size:14px!important}.nav-action-stack .language-switch{justify-self:center}.nav-action-stack .language-switch a{font-size:13px!important;padding:7px 14px!important}.nav-action-stack .nav-model-papers{min-height:42px;font-size:14px}}
@media(max-width:420px){.nav-action-stack .nav-login-group{grid-template-columns:1fr}}

/* v24: gradient navigation and reliable sticky-header anchor positions. */
html{scroll-padding-top:122px}
.site-header{background:linear-gradient(110deg,rgba(224,240,255,.97) 0%,rgba(255,255,255,.98) 48%,rgba(255,237,222,.97) 100%)!important;border-bottom-color:#cdddeb!important;box-shadow:0 7px 20px rgba(20,57,91,.08)}
main [id]{scroll-margin-top:122px}
@media(max-width:900px){html{scroll-padding-top:88px}main [id]{scroll-margin-top:88px}.site-header{background:linear-gradient(125deg,rgba(228,242,255,.98),rgba(255,245,235,.98))!important}}

/* v25: inner-content anchors + compact About composition. */
#products,#apps{scroll-margin-top:120px!important}
.about-combined{padding-top:22px!important;padding-bottom:42px!important}
.about-section-title{margin-bottom:16px!important;padding-top:4px!important}
.about-combined .about-shell{gap:22px!important;margin-bottom:20px!important}
.about-section .about-heading,.about-section .about-story{padding:23px!important;border-radius:19px}
.about-story-kicker{display:block;margin-bottom:9px;color:#ef7825;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.about-left-title{margin:0 0 14px!important;color:#123b61!important;font-size:clamp(22px,2.2vw,31px)!important;line-height:1.22!important;letter-spacing:-.025em}
.about-intro{font-size:16px!important;line-height:1.65!important}
.about-story>p{margin-bottom:16px!important;font-size:14px!important;line-height:1.65!important}
.about-points{gap:8px!important}.about-points article{padding:11px 13px!important;border-radius:13px!important}.about-points article>span{width:36px!important;height:36px!important;border-radius:11px!important}
.about-foundation-panel{padding:25px!important;border-radius:20px!important}.about-foundation-heading{margin-bottom:17px!important}.about-foundation-heading .section-title{font-size:clamp(28px,3vw,40px)!important}
.about-combined .about-why-grid{gap:11px!important}.about-combined .about-why-grid article{min-height:150px!important;padding:17px!important;border-radius:15px!important}
html:lang(si) .about-left-title{font-size:27px!important;line-height:1.4!important}html:lang(si) .about-intro{font-size:18px!important;line-height:1.75!important}
@media(max-width:900px){#products,#apps{scroll-margin-top:90px!important}.about-combined{padding-top:20px!important;padding-bottom:32px!important}.about-section .about-heading,.about-section .about-story{padding:19px!important}.about-foundation-panel{padding:20px!important}}

/* v26: compact Model Papers catalogue, especially on phones. */
.mp-catalogue-page .mp-catalogue-hero{padding:42px 0!important}
.mp-catalogue-page .mp-catalogue-hero-grid{display:block;max-width:920px;margin:0}
.mp-catalogue-page .mp-catalogue-hero h1{font-size:clamp(38px,4.7vw,62px);margin-bottom:12px}
.mp-catalogue-page .mp-catalogue-hero p{margin:0;max-width:760px;font-size:16px}
.mp-catalogue-page .mp-hero-chips{margin-top:18px}
.mp-catalogue-page .section{padding:48px 0}
.mp-catalogue-page .mp-section-heading{margin-bottom:20px}
.mp-catalogue-page .mp-section-heading .section-title{font-size:clamp(30px,3.5vw,44px);margin-bottom:8px}
.mp-catalogue-page .mp-section-heading p{margin:0;font-size:15px}
.mp-catalogue-page .mp-exam-card{min-height:225px;padding:22px}
.mp-catalogue-page .mp-exam-card small{margin-top:18px}
.mp-catalogue-page .mp-exam-card h2{margin:6px 0;font-size:26px}
.mp-catalogue-page .mp-exam-card p{margin:5px 0 16px;font-size:14px;line-height:1.55}
.mp-catalogue-page .mp-subject-visual{height:135px;padding:18px}
.mp-catalogue-page .mp-subject-visual span{font-size:48px}
.mp-catalogue-page .mp-subject-body{padding:18px}
.mp-catalogue-page .mp-subject-body h3{margin:10px 0 7px;font-size:18px}
.mp-catalogue-page .mp-subject-body p{margin:0 0 10px;line-height:1.55}
.mp-catalogue-page .mp-subject-body ul{margin:8px 0 15px}
.mp-catalogue-page .mp-coming-panel{min-height:175px;padding:28px}
.mp-catalogue-page .mp-coming-panel h2{margin:5px 0;font-size:29px}
.mp-catalogue-page .mp-coming-panel p{margin:0;font-size:14px}
.mp-catalogue-page .mp-coming-year{font-size:70px}
@media(max-width:700px){
  .mp-catalogue-page .mp-catalogue-hero{padding:28px 0!important}
  .mp-catalogue-page .mp-catalogue-hero h1{font-size:36px;margin-bottom:8px}
  .mp-catalogue-page .mp-catalogue-hero p{font-size:14px;line-height:1.55}
  .mp-catalogue-page .mp-hero-chips{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}
  .mp-catalogue-page .mp-hero-chips span{padding:5px 8px;text-align:center;font-size:10px}
  .mp-catalogue-page .section{padding:30px 0}
  .mp-catalogue-page .mp-section-heading{margin-bottom:14px}
  .mp-catalogue-page .mp-section-heading .eyebrow{margin-bottom:6px}
  .mp-catalogue-page .mp-section-heading .section-title{font-size:30px}
  .mp-catalogue-page .mp-exam-grid{gap:10px}
  .mp-catalogue-page .mp-exam-card{min-height:0;padding:17px;border-radius:16px}
  .mp-catalogue-page .mp-exam-card small{margin-top:10px;font-size:10px}
  .mp-catalogue-page .mp-exam-card h2{font-size:21px}
  .mp-catalogue-page .mp-exam-card p{margin-bottom:12px;font-size:12px}
  .mp-catalogue-page .mp-subject-grid{gap:10px}
  .mp-catalogue-page .mp-subject-card{display:grid;grid-template-columns:84px minmax(0,1fr);border-radius:16px}
  .mp-catalogue-page .mp-subject-visual{height:auto;min-height:100%;padding:12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px}
  .mp-catalogue-page .mp-subject-visual span{font-size:29px}
  .mp-catalogue-page .mp-subject-visual small{font-size:9px}
  .mp-catalogue-page .mp-subject-body{padding:14px}
  .mp-catalogue-page .mp-subject-body h3{font-size:16px}
  .mp-catalogue-page .mp-subject-body p,.mp-catalogue-page .mp-subject-body li{font-size:11px}
  .mp-catalogue-page .mp-subject-body .btn{min-height:32px;padding:6px 10px;font-size:11px}
  .mp-catalogue-page .is-placeholder .mp-subject-body p{display:none}
  .mp-catalogue-page .mp-coming-panel{min-height:0;padding:19px;gap:10px;border-radius:17px}
  .mp-catalogue-page .mp-coming-panel h2{font-size:22px}
  .mp-catalogue-page .mp-coming-panel p{font-size:12px}
  .mp-catalogue-page .mp-coming-year{display:none}
}

/* v27: focused G.C.E. O/L-only catalogue. */
.mp-ol-summary{padding:17px 0;border-top:1px solid #dce7f2;border-bottom:1px solid #dce7f2;background:#fff}
.mp-ol-summary>.container{display:flex;align-items:center;justify-content:space-between;gap:24px}
.mp-ol-summary-intro{display:flex;align-items:center;gap:12px}.mp-ol-summary-intro>strong{color:#153753;font-size:15px}
.mp-ol-facts{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.mp-ol-facts>span{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #d8e4ef;border-radius:999px;background:#f8fbfe;color:#52677b;font-size:11px;font-weight:700;white-space:nowrap}.mp-ol-facts strong{color:#1768d1;font-size:13px}
.mp-catalogue-page #ol-2026{padding-top:38px!important}
@media(max-width:700px){.mp-ol-summary{padding:12px 0}.mp-ol-summary>.container{display:grid;gap:10px}.mp-ol-summary-intro{justify-content:space-between}.mp-ol-summary-intro>strong{font-size:12px}.mp-ol-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mp-ol-facts>span{justify-content:center;padding:6px 7px;font-size:9px}.mp-catalogue-page #ol-2026{padding-top:25px!important}}

/* v28: subject-first catalogue with three compact language packages per row. */
.mp-catalogue-page .mp-catalogue-hero{padding:25px 0!important}
.mp-catalogue-page .mp-catalogue-hero h1{font-size:clamp(35px,4.2vw,54px);margin-bottom:7px}
.mp-catalogue-page .mp-catalogue-hero p{font-size:14px}
.mp-catalogue-page .mp-hero-chips{margin-top:12px}.mp-catalogue-page .mp-hero-chips span{padding:5px 9px;font-size:10px}
.mp-direct-catalogue{padding:24px 0 38px;background:#f4f8fc}
.mp-direct-catalogue>.container{display:grid;gap:15px}
.mp-direct-subject{overflow:hidden;border:1px solid #d9e5ef;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(19,54,86,.06)}
.mp-direct-subject-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border-bottom:1px solid #e2ebf3;background:linear-gradient(110deg,#f9fcff,#fff)}
.mp-direct-subject.is-available .mp-direct-subject-head{background:linear-gradient(110deg,#eaf5ff,#fff6ed)}
.mp-direct-subject-head>div>span{display:block;margin-bottom:2px;color:#2671d8;font-size:9px;font-weight:900;letter-spacing:.12em}.mp-direct-subject-head h2{margin:0;font-size:21px;line-height:1.2}.mp-direct-subject-head>small{color:#6c7f92;font-size:10px;font-weight:800;white-space:nowrap}
.mp-direct-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px}
.mp-direct-language-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:11px;border:1px solid #e0e8f1;border-radius:13px;background:#fbfdff}
.mp-direct-language-code{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#143e67,#2671d8);color:#fff;font-size:13px;font-weight:900}.mp-direct-subject.is-planned .mp-direct-language-code{background:linear-gradient(135deg,#68798a,#9ba9b6)}
.mp-direct-language-copy{display:grid;min-width:0}.mp-direct-language-copy .mp-status{margin-bottom:3px;padding:3px 6px;font-size:7px}.mp-direct-language-copy h3{margin:0;color:#173b5d;font-size:14px;line-height:1.15}.mp-direct-language-copy>strong{margin-top:3px;color:#60758a;font-size:10px}
.mp-direct-language-card>a,.mp-direct-disabled{padding:5px 8px;border-radius:999px;background:#eaf3ff;color:#1768d1;font-size:9px;font-weight:900;white-space:nowrap}.mp-direct-language-card>a:hover{background:#1768d1;color:#fff}.mp-direct-disabled{background:#f0f3f6;color:#82909d}
@media(max-width:700px){
  .mp-catalogue-page .mp-catalogue-hero{padding:19px 0!important}
  .mp-catalogue-page .mp-catalogue-hero h1{font-size:32px}
  .mp-catalogue-page .mp-catalogue-hero p{font-size:12px}
  .mp-catalogue-page .mp-hero-chips{gap:4px;margin-top:9px}.mp-catalogue-page .mp-hero-chips span{font-size:8px;padding:4px 5px}
  .mp-direct-catalogue{padding:14px 0 24px}
  .mp-direct-catalogue>.container{gap:10px}
  .mp-direct-subject{border-radius:14px}
  .mp-direct-subject-head{padding:11px 12px;gap:8px}
  .mp-direct-subject-head h2{font-size:16px}
  .mp-direct-subject-head>small{display:none}
  .mp-direct-language-grid{gap:5px;padding:7px}
  .mp-direct-language-card{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:7px;text-align:center;border-radius:10px}
  .mp-direct-language-code{width:30px;height:30px;margin:0 auto;border-radius:8px;font-size:10px}
  .mp-direct-language-copy .mp-status{align-self:center;max-width:100%;font-size:6px;white-space:normal;line-height:1.15}
  .mp-direct-language-copy h3{font-size:11px}
  .mp-direct-language-copy>strong{font-size:8px}
  .mp-direct-language-card>a,.mp-direct-disabled{display:block;padding:4px 3px;font-size:7px;line-height:1.15;white-space:normal}
}

/* v29: tighter header wordmark and one-step larger Sinhala navigation. */
.site-header .brand{
  gap:6px !important;
}
.site-header .brand-text{
  width:auto !important;
  min-width:0 !important;
  margin-left:0 !important;
  transform:none !important;
  align-items:flex-start !important;
  text-align:left !important;
}
.site-header .brand-text .brand-saylan,
.site-header .brand-text .brand-solutions{
  width:auto !important;
  text-align:left !important;
}
html:lang(si) .main-nav > a:not(.nav-login-btn){
  font-size:20px !important;
}
html:lang(si) .nav-action-stack .nav-model-papers{
  font-size:15px !important;
}
html:lang(si) .nav-action-stack .language-switch a{
  font-size:15px !important;
}
@media(max-width:900px){
  html:lang(si) .main-nav > a:not(.nav-login-btn){
    font-size:19px !important;
  }
}

/* v30: compact subject-package page for six-paper language editions. */
.mp-site-page .mp-package-hero{
  padding:30px 0 !important;
}
.mp-site-page .mp-package-hero-grid{
  grid-template-columns:minmax(0,1fr) 230px !important;
  gap:38px !important;
}
.mp-site-page .mp-back-link{
  margin-bottom:12px !important;
}
.mp-site-page .mp-package-hero .mp-status{
  margin-bottom:8px !important;
}
.mp-site-page .mp-package-hero h1{
  margin-bottom:9px !important;
  font-size:clamp(39px,4.4vw,58px) !important;
  line-height:1 !important;
}
.mp-site-page .mp-package-hero h1 em{
  display:inline !important;
  margin-left:8px;
}
.mp-site-page .mp-package-hero p{
  margin:10px 0 !important;
  font-size:15px !important;
}
.mp-site-page .mp-package-price{
  margin:14px 0 !important;
}
.mp-site-page .mp-package-price strong{
  font-size:25px !important;
}
.mp-site-page .mp-home-actions{
  gap:8px !important;
}
.mp-site-page .mp-home-actions .btn{
  min-height:38px;
  padding:8px 16px;
}
.mp-site-page .mp-package-cover{
  width:230px !important;
  min-height:265px !important;
  padding:24px !important;
  border-radius:19px !important;
}
.mp-site-page .mp-package-cover span{
  font-size:48px !important;
}
.mp-site-page .mp-package-cover small{
  margin-top:10px !important;
}
.mp-site-page .mp-package-cover strong{
  font-size:39px !important;
}
.mp-site-page .mp-package-cover em{
  margin-top:11px !important;
  padding-top:10px !important;
  font-size:12px;
}

.mp-site-page > .section{
  padding:32px 0 !important;
}
.mp-site-page .mp-feature-layout{
  grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr) !important;
  gap:28px !important;
  align-items:start;
}
.mp-site-page .mp-feature-layout .section-title,
.mp-site-page .mp-process-grid .section-title{
  margin:7px 0 9px !important;
  font-size:clamp(29px,3vw,40px) !important;
  line-height:1.08 !important;
}
.mp-site-page .mp-feature-layout > div:first-child p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.65;
}
.mp-site-page .mp-feature-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}
.mp-site-page .mp-feature-grid article{
  padding:13px !important;
  border-radius:13px !important;
}
.mp-site-page .mp-feature-grid article > span{
  min-width:32px !important;
  height:25px !important;
  font-size:10px !important;
}
.mp-site-page .mp-feature-grid h3{
  margin:8px 0 3px !important;
  font-size:14px !important;
}
.mp-site-page .mp-feature-grid p{
  font-size:11px !important;
  line-height:1.48;
}

.mp-site-page .mp-section-heading{
  margin-bottom:14px !important;
}
.mp-site-page .mp-section-heading .section-title{
  margin:5px 0 !important;
  font-size:34px !important;
}
.mp-site-page .mp-section-heading p{
  margin:0 !important;
  font-size:13px;
}
.mp-site-page .mp-shot-grid{
  gap:11px !important;
}
.mp-site-page .mp-shot-grid figure{
  border-radius:14px !important;
}
.mp-site-page .mp-shot-grid figcaption{
  padding:11px !important;
}
.mp-site-page .mp-shot-grid figcaption strong{
  font-size:13px;
}
.mp-site-page .mp-shot-grid figcaption span{
  font-size:10px !important;
}

.mp-site-page .mp-process-grid{
  grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr) !important;
  gap:28px !important;
  align-items:start;
}
.mp-site-page .mp-process-grid ol{
  gap:8px !important;
}
.mp-site-page .mp-process-grid li{
  gap:9px !important;
  padding:13px !important;
  border-radius:12px !important;
}
.mp-site-page .mp-process-grid strong{
  font-size:13px;
}
.mp-site-page .mp-process-grid p{
  margin-top:3px !important;
  font-size:10px !important;
  line-height:1.5;
}

.mp-site-page .mp-payment-section{
  padding-top:14px !important;
}
.mp-site-page .mp-payment-shell{
  padding:27px 32px !important;
  border-radius:19px !important;
}
.mp-site-page .mp-payment-shell h2{
  margin:7px 0 !important;
  font-size:31px !important;
}
.mp-site-page .mp-payment-shell > div:first-child p{
  margin:0;
  font-size:13px;
}
.mp-site-page .mp-payment-options{
  gap:9px !important;
  margin:15px 0 !important;
}
.mp-site-page .mp-payment-options article{
  padding:14px 16px !important;
  border-radius:13px !important;
}
.mp-site-page .mp-payment-options h3{
  margin:8px 0 4px;
  font-size:15px;
}
.mp-site-page .mp-payment-options p{
  margin:0;
  font-size:11px !important;
}
.mp-site-page .mp-payment-shell > .btn{
  min-height:38px;
  padding:8px 17px;
}

@media(max-width:980px){
  .mp-site-page .mp-package-hero-grid{
    grid-template-columns:minmax(0,1fr) 190px !important;
    gap:24px !important;
  }
  .mp-site-page .mp-package-cover{
    justify-self:end !important;
    width:190px !important;
    min-height:230px !important;
  }
  .mp-site-page .mp-feature-layout,
  .mp-site-page .mp-process-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
}

@media(max-width:700px){
  .mp-site-page .mp-package-hero{
    padding:20px 0 !important;
  }
  .mp-site-page .mp-package-hero-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .mp-site-page .mp-package-cover{
    display:none !important;
  }
  .mp-site-page .mp-package-hero h1{
    font-size:34px !important;
  }
  .mp-site-page .mp-package-hero h1 em{
    display:block !important;
    margin:3px 0 0;
  }
  .mp-site-page .mp-package-hero p{
    font-size:12px !important;
  }
  .mp-site-page .mp-package-price{
    margin:10px 0 !important;
  }
  .mp-site-page .mp-package-price strong{
    font-size:21px !important;
  }
  .mp-site-page > .section{
    padding:22px 0 !important;
  }
  .mp-site-page .mp-feature-grid{
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }
  .mp-site-page .mp-feature-grid article{
    padding:10px !important;
  }
  .mp-site-page .mp-feature-grid p{
    font-size:10px !important;
  }
  .mp-site-page .mp-section-heading .section-title,
  .mp-site-page .mp-feature-layout .section-title,
  .mp-site-page .mp-process-grid .section-title{
    font-size:27px !important;
  }
  .mp-site-page .mp-shot-grid{
    display:flex !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:7px;
  }
  .mp-site-page .mp-shot-grid figure{
    flex:0 0 82%;
    scroll-snap-align:start;
  }
  .mp-site-page .mp-process-grid ol{
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }
  .mp-site-page .mp-process-grid li{
    padding:10px !important;
  }
  .mp-site-page .mp-process-grid li > span{
    font-size:11px;
  }
  .mp-site-page .mp-payment-shell{
    padding:20px !important;
  }
  .mp-site-page .mp-payment-shell h2{
    font-size:27px !important;
  }
  .mp-site-page .mp-payment-options{
    grid-template-columns:1fr !important;
  }
}

/* v31: three payment and receipt-submission choices. */
.mp-site-page .mp-payment-options-three{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.mp-site-page .mp-payment-choice{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:11px;
}
.mp-site-page .mp-payment-number{
  position:absolute;
  top:13px;
  right:14px;
  color:rgba(255,255,255,.28);
  font-size:23px;
  font-weight:900;
  line-height:1;
}
.mp-site-page .mp-payment-choice > div{
  flex:1;
}
.mp-site-page .mp-payment-choice .mp-status{
  margin-right:34px;
}
.mp-site-page .mp-payment-choice .btn,
.mp-site-page .mp-payment-disabled{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:36px;
  margin-top:auto;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
  text-align:center;
}
.mp-site-page .mp-whatsapp-btn{
  border-color:#25d366 !important;
  background:#25d366 !important;
  color:#092f19 !important;
}
.mp-site-page .mp-whatsapp-btn:hover{
  border-color:#42e17a !important;
  background:#42e17a !important;
  color:#092f19 !important;
}
.mp-site-page .mp-payment-disabled{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.09);
  color:#afc0d2;
}
.mp-site-page .mp-payment-choice.is-coming{
  opacity:.82;
}
.mp-site-page .mp-payment-note{
  margin:3px 0 0;
  color:#aebfd0;
  font-size:10px;
  text-align:center;
}

@media(max-width:900px){
  .mp-site-page .mp-payment-options-three{
    grid-template-columns:1fr 1fr !important;
  }
  .mp-site-page .mp-payment-choice:last-child{
    grid-column:1/-1;
  }
}

@media(max-width:620px){
  .mp-site-page .mp-payment-options-three{
    grid-template-columns:1fr !important;
  }
  .mp-site-page .mp-payment-choice:last-child{
    grid-column:auto;
  }
}

/* v36: dedicated LMS + IMS product page. */
.lms-features-page{background:#fff;color:#0d2742}.lms-feature-hero{padding:68px 0;background:radial-gradient(circle at 88% 20%,rgba(255,129,45,.16),transparent 28%),linear-gradient(135deg,#eef7ff,#fff 55%,#fff5ec);border-bottom:1px solid #dce8f3}.lms-feature-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:56px}.lms-feature-hero h1{max-width:850px;margin:14px 0 18px;font-size:clamp(43px,6vw,76px);line-height:.98;letter-spacing:-.055em}.lms-feature-hero p{max-width:760px;margin:0;color:#536b82;font-size:18px;line-height:1.7}.lms-feature-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}.lms-feature-summary{min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:38px;border-radius:30px;background:linear-gradient(145deg,#0a2c4d,#174c7a);box-shadow:0 25px 55px rgba(11,52,84,.2);color:#fff}.lms-feature-summary>span{margin:auto 0;color:#fff;font-size:clamp(48px,6vw,74px);font-weight:900;letter-spacing:-.06em}.lms-feature-summary>span b{color:#ff8a2b}.lms-feature-summary strong{font-size:22px}.lms-feature-summary p{margin:8px 0 0;color:#cde1f4;font-size:13px;line-height:1.5}.lms-section-heading{max-width:830px;margin-bottom:34px}.lms-section-heading .section-title{margin-top:10px}.lms-section-heading>p,.lms-role-layout>div:first-child>p{color:#60758a;font-size:16px;line-height:1.7}.lms-journey-section{padding-top:72px}.lms-journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lms-journey-grid article{display:flex;gap:15px;min-height:170px;padding:23px;border:1px solid #dce7f1;border-radius:19px;background:linear-gradient(180deg,#fff,#f9fbfe)}.lms-journey-grid article>span,.lms-role-list article>span{flex:0 0 auto;color:#ff7b1b;font-size:12px;font-weight:900}.lms-journey-grid h3,.lms-role-list h3,.lms-difference-grid h3{margin:0 0 8px;font-size:18px}.lms-journey-grid p,.lms-role-list p,.lms-difference-grid p{margin:0;color:#60758a;font-size:13px;line-height:1.6}.lms-role-section{background:#f2f7fc}.lms-role-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.lms-role-list{display:grid;gap:9px}.lms-role-list article{display:flex;gap:18px;padding:17px 20px;border:1px solid #dce7f1;border-radius:15px;background:#fff}.lms-feature-showcase{padding-top:72px}.lms-feature-showcase .lms-dashboard-strip-head{padding-bottom:26px}.lms-difference-section{background:#fff}.lms-difference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lms-difference-grid article{position:relative;min-height:205px;padding:25px;border-radius:18px;background:#0d3152;color:#fff}.lms-difference-grid article:nth-child(even){background:#174c7a}.lms-difference-grid article>span{display:inline-grid;place-items:center;width:35px;height:28px;margin-bottom:28px;border-radius:9px;background:rgba(255,255,255,.1);color:#ffad70;font-size:11px;font-weight:900}.lms-difference-grid h3{color:#fff}.lms-difference-grid p{color:#d5e4f2}.lms-feature-cta{padding:28px 0 72px}.lms-feature-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px 42px;border-radius:24px;background:linear-gradient(120deg,#092b4a,#164e7b);color:#fff}.lms-feature-cta h2{max-width:760px;margin:9px 0;font-size:clamp(28px,4vw,44px);line-height:1.08}.lms-feature-cta p{margin:0;color:#d4e5f4}.lms-feature-cta>.container>div:last-child{display:flex;gap:10px;flex:0 0 auto}.lms-feature-cta .btn-ghost{border-color:#7896b2;color:#fff}.lms-feature-cta .btn-ghost:hover{background:#fff;color:#0b3454}html:lang(si) .lms-features-page p{line-height:1.85}html:lang(si) .lms-feature-hero h1{line-height:1.22;letter-spacing:0}
@media(max-width:900px){.lms-feature-hero{padding:48px 0}.lms-feature-hero-grid,.lms-role-layout{grid-template-columns:1fr;gap:30px}.lms-feature-summary{min-height:250px}.lms-journey-grid,.lms-difference-grid{grid-template-columns:repeat(2,1fr)}.lms-feature-cta>.container{align-items:flex-start;flex-direction:column}.lms-feature-cta>.container>div:last-child{flex-wrap:wrap}}
@media(max-width:600px){.lms-feature-hero{padding:35px 0}.lms-feature-hero h1{font-size:40px}.lms-feature-hero p{font-size:15px}.lms-feature-summary{min-height:205px;padding:25px;border-radius:21px}.lms-feature-summary>span{font-size:48px}.lms-journey-section,.lms-role-section,.lms-difference-section{padding:52px 0}.lms-journey-grid,.lms-difference-grid{grid-template-columns:1fr}.lms-journey-grid article{min-height:auto}.lms-difference-grid article{min-height:auto}.lms-feature-cta{padding:20px 0 52px}.lms-feature-cta>.container{padding:28px 22px;border-radius:20px}.lms-feature-cta>.container>div:last-child,.lms-feature-cta .btn{width:100%}.lms-feature-cta .btn{text-align:center}}

/* v37: brighter, more informative Model Paper catalogue. */
.mp-catalogue-page{font-weight:400}.mp-catalogue-page .mp-catalogue-hero{padding:42px 0!important;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.72),transparent 26%),radial-gradient(circle at 85% 18%,rgba(255,159,67,.34),transparent 28%),linear-gradient(120deg,#c9edff 0%,#e8f7ff 48%,#fff0df 100%)}.mp-catalogue-page .mp-catalogue-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:46px;align-items:center;max-width:none}.mp-catalogue-page .mp-catalogue-hero .eyebrow{font-weight:600}.mp-catalogue-page .mp-catalogue-hero h1{margin:8px 0 11px;font-size:clamp(44px,5vw,67px);font-weight:500;letter-spacing:-.045em}.mp-catalogue-page .mp-catalogue-hero p{max-width:720px;color:#36556f;font-size:18px;line-height:1.65}.mp-catalogue-page .mp-hero-chips{margin-top:19px}.mp-catalogue-page .mp-hero-chips span{padding:7px 11px;border-color:rgba(33,104,167,.2);background:rgba(255,255,255,.68);font-size:12px;font-weight:500}.mp-catalogue-hero-card{display:flex;flex-direction:column;justify-content:center;min-height:185px;padding:28px;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.55));box-shadow:0 20px 45px rgba(26,91,144,.13);backdrop-filter:blur(9px)}.mp-catalogue-hero-card small{color:#1768b4;font-size:11px;font-weight:600;letter-spacing:.1em}.mp-catalogue-hero-card strong{margin:12px 0 8px;color:#0b3454;font-size:25px;font-weight:500;line-height:1.2}.mp-catalogue-hero-card span{color:#4c657a;font-size:14px;line-height:1.6}.mp-catalogue-page .mp-direct-catalogue{padding:45px 0 65px}.mp-direct-subject{border-radius:22px;box-shadow:0 14px 34px rgba(19,54,86,.07)}.mp-direct-subject-head{padding:20px 22px}.mp-direct-subject-head>div>span{font-size:10px;font-weight:600}.mp-direct-subject-head h2{margin-top:4px;font-size:26px;font-weight:500}.mp-direct-subject-head>small{font-size:12px;font-weight:500}.mp-direct-language-grid{gap:14px;padding:15px}.mp-direct-language-card{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:340px;padding:20px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.mp-direct-language-card.is-live{border-color:#c7def1}.mp-direct-language-card.is-live:hover{transform:translateY(-3px);border-color:#89bae2;box-shadow:0 16px 30px rgba(20,86,140,.12)}.mp-direct-language-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.mp-direct-language-code{width:46px;height:46px;border-radius:13px;font-size:15px;font-weight:600}.mp-direct-language-top .mp-status{margin:0;padding:5px 9px;font-size:9px;font-weight:600}.mp-direct-language-copy{display:block;margin:18px 0 15px}.mp-direct-language-copy>span{color:#64809a;font-size:10px;font-weight:500;letter-spacing:.1em}.mp-direct-language-copy h3{margin:4px 0 8px;color:#123a5c;font-size:25px;font-weight:500}.mp-direct-language-copy>strong{color:#0b3454;font-size:19px;font-weight:500}.mp-direct-language-facts{display:grid;gap:7px;padding:14px 0;border-top:1px solid #e0eaf3;border-bottom:1px solid #e0eaf3}.mp-direct-language-facts>span{display:flex;align-items:center;gap:10px;color:#415c73;font-size:13px}.mp-direct-language-facts b{display:grid;place-items:center;min-width:31px;height:26px;border-radius:8px;background:#e5f2ff;color:#1768c7;font-size:11px;font-weight:600}.mp-direct-language-note{margin:13px 0 16px;color:#5c7286;font-size:12px;line-height:1.55}.mp-direct-language-action,.mp-direct-language-card .mp-direct-disabled{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding:10px 13px;border-radius:11px;background:linear-gradient(135deg,#1768c7,#3289e8);color:#fff;font-size:13px;font-weight:500}.mp-direct-language-action:hover{background:linear-gradient(135deg,#0d56ad,#2677d2);color:#fff}.mp-direct-language-action span{font-size:17px}.mp-direct-language-card.is-coming{min-height:235px;background:#fafcfe}.mp-direct-language-card.is-coming .mp-direct-language-code{background:linear-gradient(135deg,#8292a2,#abb7c2)}.mp-direct-language-card.is-coming .mp-direct-disabled{justify-content:center;background:#eef2f5;color:#718394}.mp-catalogue-page h1,.mp-catalogue-page h2,.mp-catalogue-page h3,.mp-catalogue-page strong,.mp-catalogue-page b{font-weight:500}html:lang(si) .mp-catalogue-page{font-size:17px}html:lang(si) .mp-catalogue-page .mp-catalogue-hero h1{font-weight:500;letter-spacing:0;line-height:1.25}
@media(max-width:980px){.mp-catalogue-page .mp-catalogue-hero-grid{grid-template-columns:1fr}.mp-catalogue-hero-card{min-height:auto;max-width:680px}.mp-direct-language-grid{grid-template-columns:1fr 1fr}.mp-direct-language-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.mp-catalogue-page .mp-catalogue-hero{padding:30px 0!important}.mp-catalogue-page .mp-catalogue-hero h1{font-size:39px}.mp-catalogue-page .mp-catalogue-hero p{font-size:15px}.mp-catalogue-page .mp-hero-chips{grid-template-columns:1fr 1fr;gap:6px}.mp-catalogue-page .mp-hero-chips span{padding:6px;font-size:10px}.mp-catalogue-hero-card{padding:21px;border-radius:18px}.mp-catalogue-hero-card strong{font-size:21px}.mp-catalogue-page .mp-direct-catalogue{padding:28px 0 45px}.mp-direct-subject-head{padding:15px}.mp-direct-subject-head h2{font-size:21px}.mp-direct-language-grid{grid-template-columns:1fr;gap:10px;padding:10px}.mp-direct-language-card,.mp-direct-language-card.is-coming{min-height:0;padding:17px;text-align:left}.mp-direct-language-card:last-child{grid-column:auto}.mp-direct-language-code{margin:0}.mp-direct-language-copy .mp-status{align-self:auto}.mp-direct-language-copy h3{font-size:22px}.mp-direct-language-note{font-size:12px}.mp-direct-language-action,.mp-direct-language-card .mp-direct-disabled{padding:10px 12px;font-size:12px}}

/* v33: payment methods are alternatives, not numbered steps. */
.mp-site-page .mp-payment-choice .mp-status{
  margin-right:0 !important;
}
.mp-site-page .mp-payment-choice-guide{
  display:inline-block;
  margin:8px 0 6px !important;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#e8f2fb !important;
  font-size:11px !important;
  line-height:1.45;
}
.mp-site-page .mp-payment-choice-guide strong{
  color:#ffb37f;
}

/* v34: compact verified bank-details table and optimized timed-paper image. */
.mp-site-page .mp-bank-table-wrap{
  overflow:hidden;
  margin-top:10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(7,29,50,.28);
}
.mp-site-page .mp-bank-table{
  width:100%;
  border-collapse:collapse;
  color:#eef6fd;
  font-size:10px;
  line-height:1.3;
}
.mp-site-page .mp-bank-table th,
.mp-site-page .mp-bank-table td{
  padding:5px 8px;
  border-bottom:1px solid rgba(255,255,255,.1);
  vertical-align:top;
  text-align:left;
}
.mp-site-page .mp-bank-table tr:last-child th,
.mp-site-page .mp-bank-table tr:last-child td{
  border-bottom:0;
}
.mp-site-page .mp-bank-table th{
  width:37%;
  color:#9fc6e8;
  font-weight:800;
}
.mp-site-page .mp-bank-table td{
  word-break:break-word;
}
.mp-site-page .mp-bank-table td strong{
  color:#fff;
  letter-spacing:.04em;
}
.mp-site-page .mp-shot-grid figure:first-child .mp-shot-image{
  aspect-ratio:1200/463;
  padding:0;
  background:#dce8f1;
}
.mp-site-page .mp-shot-grid figure:first-child .mp-shot-image img{
  object-fit:cover;
}

/* v35: hero benefit summary and large fading Student Experience viewer. */
.mp-site-page .mp-package-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:4px 0 13px;
}
.mp-site-page .mp-package-benefits span{
  padding:4px 8px;
  border:1px solid #cfdeeb;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#405c75;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}
.mp-site-page .mp-experience-section{
  padding-top:28px !important;
}
.mp-site-page .mp-experience-viewer{
  max-width:1100px;
  margin:0 auto;
}
.mp-site-page .mp-experience-stage{
  position:relative;
  overflow:hidden;
  height:clamp(390px,45vw,570px);
  border:1px solid #cadbea;
  border-radius:20px;
  background:linear-gradient(135deg,#dceaf5,#eef5fa 45%,#dceaf5);
  box-shadow:0 18px 45px rgba(20,54,86,.12);
}
.mp-site-page .mp-experience-slide{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  margin:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .85s ease,visibility .85s ease;
}
.mp-site-page .mp-experience-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:1;
}
.mp-site-page .mp-experience-slide img{
  width:100%;
  height:100%;
  padding:16px 16px 68px;
  object-fit:contain;
}
.mp-site-page .mp-experience-slide figcaption{
  position:absolute;
  z-index:2;
  left:16px;
  right:16px;
  bottom:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  background:rgba(10,37,62,.92);
  color:#fff;
  backdrop-filter:blur(8px);
}
.mp-site-page .mp-experience-slide figcaption strong{
  font-size:14px;
}
.mp-site-page .mp-experience-slide figcaption span{
  color:#c9d8e6;
  font-size:11px;
  text-align:right;
}
.mp-site-page .mp-experience-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:10px;
}
.mp-site-page .mp-experience-arrow{
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #c8d9e8;
  border-radius:50%;
  background:#fff;
  color:#17456f;
  font-size:17px;
  cursor:pointer;
}
.mp-site-page .mp-experience-arrow:hover{
  border-color:#2871d5;
  background:#eaf3ff;
}
.mp-site-page .mp-experience-dots{
  display:flex;
  align-items:center;
  gap:7px;
}
.mp-site-page .mp-experience-dots button{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#aebfd0;
  cursor:pointer;
  transition:width .2s ease,background .2s ease;
}
.mp-site-page .mp-experience-dots button.is-active{
  width:25px;
  background:#2671d8;
}

@media(max-width:700px){
  .mp-site-page .mp-package-benefits{
    margin-bottom:11px;
  }
  .mp-site-page .mp-package-benefits span{
    flex:1 1 auto;
    font-size:8px;
    text-align:center;
  }
  .mp-site-page .mp-experience-stage{
    height:360px;
    border-radius:14px;
  }
  .mp-site-page .mp-experience-slide img{
    padding:9px 9px 88px;
  }
  .mp-site-page .mp-experience-slide figcaption{
    left:9px;
    right:9px;
    bottom:9px;
    display:grid;
    gap:2px;
    padding:8px 10px;
  }
  .mp-site-page .mp-experience-slide figcaption strong{
    font-size:12px;
  }
  .mp-site-page .mp-experience-slide figcaption span{
    font-size:9px;
    text-align:left;
  }
}

@media(prefers-reduced-motion:reduce){
  .mp-site-page .mp-experience-slide{
    transition:none;
  }
}

/* v32: honest free-vs-Pro hero actions and payment-section journey. */
#payment-options{
  scroll-margin-top:120px !important;
}
.mp-site-page .mp-package-hero-actions{
  display:flex;
  align-items:flex-start;
  gap:9px;
  flex-wrap:wrap;
}
.mp-site-page .mp-package-hero-actions > div{
  display:grid;
  justify-items:center;
  gap:3px;
}
.mp-site-page .mp-package-hero-actions .btn{
  min-height:39px;
  padding:8px 16px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.mp-site-page .mp-package-hero-actions small{
  color:#6a7f92;
  font-size:9px;
  font-weight:800;
}
.mp-site-page .mp-package-hero-actions .mp-unlock-btn{
  border-color:#ff812d;
  background:linear-gradient(135deg,#f37721,#ff9b51);
  color:#fff;
  box-shadow:0 8px 18px rgba(243,119,33,.2);
}
.mp-site-page .mp-package-hero-actions .mp-unlock-btn:hover{
  border-color:#e96710;
  background:linear-gradient(135deg,#e96710,#f98737);
  color:#fff;
  transform:translateY(-1px);
}
.mp-site-page #payment-options .mp-payment-shell{
  outline:0 solid rgba(255,129,45,0);
  transition:outline-color .25s ease;
}
.mp-site-page #payment-options:target .mp-payment-shell{
  outline:4px solid rgba(255,129,45,.2);
}

@media(max-width:900px){
  #payment-options{
    scroll-margin-top:90px !important;
  }
}

@media(max-width:620px){
  .mp-site-page .mp-package-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .mp-site-page .mp-package-hero-actions > div,
  .mp-site-page .mp-package-hero-actions .btn{
    width:100%;
  }
  .mp-site-page .mp-package-hero-actions .btn{
    min-height:40px;
  }
}

/* v38: simplified package hero and direct three-step student access path. */
.mp-site-page .mp-package-hero .eyebrow{
  display:block;
  margin:0 0 9px;
}
.mp-site-page .mp-package-price{
  margin:14px 0 12px !important;
}
.mp-site-page .mp-package-hero-actions{
  align-items:center;
  margin-bottom:18px;
}
.mp-site-page .mp-start-guide{
  max-width:790px;
  padding-top:15px;
  border-top:1px solid #cadbea;
}
.mp-site-page .mp-start-guide-title{
  margin-bottom:11px;
  color:#173e65;
  font-size:13px;
  font-weight:800;
}
.mp-site-page .mp-start-guide ol{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:0;
  padding:0;
  list-style:none;
}
.mp-site-page .mp-start-guide li{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-width:0;
}
.mp-site-page .mp-start-guide li:not(:last-child):after{
  position:absolute;
  top:14px;
  left:34px;
  right:-12px;
  height:1px;
  background:#bfd1e1;
  content:"";
}
.mp-site-page .mp-step-number{
  position:relative;
  z-index:1;
  display:grid;
  flex:0 0 28px;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#1f67c9;
  font-size:11px;
  font-weight:800;
}
.mp-site-page .mp-start-guide li > div{
  position:relative;
  z-index:1;
  min-width:0;
  padding-right:6px;
  background:#f4f9fd;
}
.mp-site-page .mp-start-guide strong{
  display:block;
  margin:1px 0 5px;
  color:#102f50;
  font-size:11px;
  font-weight:750;
}
.mp-site-page .mp-start-guide a{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 11px;
  border:1px solid #1f67c9;
  border-radius:999px;
  color:#1759b0;
  background:#fff;
  font-size:10px;
  font-weight:750;
  text-decoration:none;
}
.mp-site-page .mp-start-guide a:hover{
  color:#fff;
  background:#1f67c9;
}
.mp-site-page .mp-menu-path{
  display:block;
  color:#526b82;
  font-size:10px;
  line-height:1.4;
}
.mp-site-page .mp-menu-path b{
  padding:0 3px;
  color:#ef7925;
}
.mp-site-page .mp-package-cover{
  min-height:240px !important;
}
.mp-site-page .mp-package-cover small{
  color:#dceaff;
  letter-spacing:.08em;
}

@media(max-width:700px){
  .mp-site-page .mp-start-guide ol{
    grid-template-columns:1fr;
    gap:11px;
  }
  .mp-site-page .mp-start-guide li:not(:last-child):after{
    top:28px;
    bottom:-12px;
    left:14px;
    right:auto;
    width:1px;
    height:auto;
  }
  .mp-site-page .mp-start-guide li > div{
    width:100%;
  }
  .mp-site-page .mp-start-guide a{
    width:auto;
  }
}

/* v37 catalogue action specificity safeguard. */
.mp-catalogue-page .mp-direct-language-card .mp-direct-language-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin-top:auto;
  padding:10px 13px;
  border-radius:11px;
  background:linear-gradient(135deg,#1768c7,#3289e8);
  color:#fff;
  font-size:13px;
  font-weight:500;
  white-space:normal;
}
.mp-catalogue-page .mp-direct-language-card .mp-direct-language-action:hover{
  background:linear-gradient(135deg,#0d56ad,#2677d2);
  color:#fff;
}
@media(max-width:700px){
  .mp-catalogue-page .mp-direct-language-card .mp-direct-language-action{
    padding:10px 12px;
    font-size:12px;
  }
}

/* v38: stronger catalogue colour and unambiguous package facts. */
.mp-catalogue-page .mp-catalogue-hero{
  background:
    radial-gradient(circle at 78% 14%,rgba(255,172,62,.92),transparent 25%),
    radial-gradient(circle at 12% 82%,rgba(30,205,239,.7),transparent 31%),
    linear-gradient(120deg,#0879d8 0%,#1bb9e8 46%,#ff8a2a 100%)!important;
  border-bottom:0;
}
.mp-catalogue-page .mp-catalogue-hero .eyebrow,
.mp-catalogue-page .mp-catalogue-hero h1,
.mp-catalogue-page .mp-catalogue-hero p{
  color:#fff;
}
.mp-catalogue-page .mp-catalogue-hero .eyebrow{
  font-weight:800;
}
.mp-catalogue-page .mp-catalogue-hero h1{
  font-weight:800;
  text-shadow:0 4px 18px rgba(5,56,105,.18);
}
.mp-catalogue-page .mp-catalogue-hero p{
  font-weight:500;
}
.mp-catalogue-page .mp-hero-chips span{
  border-color:rgba(255,255,255,.65);
  background:rgba(255,255,255,.92);
  color:#0b4e89;
  font-weight:700;
  box-shadow:0 7px 18px rgba(5,62,112,.12);
}
.mp-catalogue-page .mp-catalogue-hero-card{
  border:1px solid rgba(255,255,255,.95);
  background:linear-gradient(145deg,#fff,#fff4e7);
  box-shadow:0 22px 50px rgba(4,58,105,.25);
}
.mp-catalogue-page .mp-catalogue-hero-card small{
  color:#0871cb;
  font-weight:800;
}
.mp-catalogue-page .mp-catalogue-hero-card strong{
  color:#082f55;
  font-weight:800;
}
.mp-catalogue-page .mp-catalogue-hero-card span{
  color:#405c73;
  font-weight:500;
}
.mp-catalogue-page .mp-direct-subject.is-available{
  border-color:#9bcff2;
  box-shadow:0 18px 42px rgba(14,104,176,.13);
}
.mp-catalogue-page .mp-direct-subject.is-available .mp-direct-subject-head{
  background:linear-gradient(105deg,#d9f2ff 0%,#ecf9ff 52%,#fff0df 100%);
}
.mp-catalogue-page .mp-direct-subject-head h2{
  color:#072f53;
  font-weight:750;
}
.mp-catalogue-page .mp-direct-subject-head>div>span{
  color:#0873cf;
  font-weight:800;
}
.mp-catalogue-page .mp-direct-language-card.is-live{
  position:relative;
  overflow:hidden;
  border-width:2px;
  background:#fff;
}
.mp-catalogue-page .mp-direct-language-card.is-live:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:7px;
  background:linear-gradient(90deg,#0878d6,#22c5ed);
}
.mp-catalogue-page .mp-direct-language-card.is-live:nth-child(2){
  border-color:#b9a4f3;
}
.mp-catalogue-page .mp-direct-language-card.is-live:nth-child(2):before{
  background:linear-gradient(90deg,#7047d7,#b75de5);
}
.mp-catalogue-page .mp-direct-language-card.is-live:nth-child(3){
  border-color:#ffb886;
}
.mp-catalogue-page .mp-direct-language-card.is-live:nth-child(3):before{
  background:linear-gradient(90deg,#f06b25,#ffad3e);
}
.mp-catalogue-page .mp-direct-language-card.is-live:nth-child(2) .mp-direct-language-code{
  background:linear-gradient(135deg,#6537c6,#a250d0);
}
.mp-catalogue-page .mp-direct-language-card.is-live:nth-child(3) .mp-direct-language-code{
  background:linear-gradient(135deg,#d9571f,#ff8c2d);
}
.mp-catalogue-page .mp-direct-language-copy h3,
.mp-catalogue-page .mp-direct-language-copy>strong{
  font-weight:750;
}
.mp-catalogue-page .mp-direct-language-copy>strong{
  color:#e86714;
  font-size:21px;
}
.mp-catalogue-page .mp-direct-language-facts{
  gap:9px;
}
.mp-catalogue-page .mp-direct-language-facts>span{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:38px;
  padding:7px 9px;
  border-radius:10px;
  background:#f0f8ff;
  color:#294d69;
  font-size:13px;
  line-height:1.35;
}
.mp-catalogue-page .mp-direct-language-card:nth-child(2) .mp-direct-language-facts>span{
  background:#f7f1ff;
}
.mp-catalogue-page .mp-direct-language-card:nth-child(3) .mp-direct-language-facts>span{
  background:#fff4e9;
}
.mp-catalogue-page .mp-direct-language-facts b{
  display:block;
  width:auto;
  min-width:0;
  height:auto;
  background:none;
  color:#0d69bd;
  font-size:11px;
  font-weight:800;
}
.mp-catalogue-page .mp-direct-language-card:nth-child(2) .mp-direct-language-facts b{color:#7540bd}
.mp-catalogue-page .mp-direct-language-card:nth-child(3) .mp-direct-language-facts b{color:#d45a19}
.mp-catalogue-page .mp-direct-language-note{
  font-size:13px;
  font-weight:500;
}
.mp-catalogue-page .mp-direct-language-card .mp-direct-language-action{
  font-weight:800;
  box-shadow:0 9px 19px rgba(23,104,199,.2);
}
.mp-catalogue-page .mp-direct-language-card:nth-child(2) .mp-direct-language-action{
  background:linear-gradient(135deg,#6636c6,#a04dcd);
  box-shadow:0 9px 19px rgba(102,54,198,.2);
}
.mp-catalogue-page .mp-direct-language-card:nth-child(3) .mp-direct-language-action{
  background:linear-gradient(135deg,#d9571f,#ff8a2b);
  box-shadow:0 9px 19px rgba(217,87,31,.2);
}
@media(max-width:700px){
  .mp-catalogue-page .mp-direct-language-facts>span{
    grid-template-columns:112px minmax(0,1fr);
    font-size:12px;
  }
  .mp-catalogue-page .mp-direct-language-facts b{
    font-size:10px;
  }
}
/* 2026-08-30 LMS product-page manual screen gallery */
.lms-screen-gallery{display:grid;gap:18px}
.lms-screen-gallery-main{margin:0;overflow:hidden;border:1px solid #d8e4ef;border-radius:20px;background:#fff;box-shadow:0 18px 42px rgba(13,49,82,.12)}
.lms-screen-gallery-stage{display:grid;place-items:center;aspect-ratio:16/8.5;padding:14px;background:linear-gradient(145deg,#eaf3fb,#f8fbfe)}
.lms-screen-gallery-stage img{width:100%;height:100%;object-fit:contain;border-radius:11px;transition:opacity .14s ease,transform .14s ease}
.lms-screen-gallery-stage img.is-switching{opacity:.2;transform:scale(.992)}
.lms-screen-gallery-main figcaption{display:grid;gap:3px;padding:15px 19px 17px;border-top:1px solid #e1eaf2}
.lms-screen-gallery-main figcaption strong{color:#0d3152;font-size:17px}
.lms-screen-gallery-main figcaption span{color:#60758a;font-size:13px}
.lms-screen-gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lms-screen-gallery-thumb{min-width:0;padding:7px;border:2px solid transparent;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(13,49,82,.08);color:#294764;cursor:pointer;text-align:left;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.lms-screen-gallery-thumb:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,49,82,.13)}
.lms-screen-gallery-thumb.is-active{border-color:#ff812d;box-shadow:0 9px 24px rgba(255,129,45,.18)}
.lms-screen-gallery-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#eef5fb}
.lms-screen-gallery-thumb span{display:block;overflow:hidden;padding:7px 4px 2px;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.lms-screen-gallery-stage{aspect-ratio:16/10;padding:7px}.lms-screen-gallery-main figcaption span{display:none}.lms-screen-gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lms-screen-gallery-thumb span{font-size:11px}}

/* 2026-08-31 homepage hero: dark visual treatment */
.hero.hero-cinematic{
  background:
    radial-gradient(circle at 76% 22%,rgba(35,133,220,.28),transparent 34%),
    radial-gradient(circle at 8% 88%,rgba(255,129,45,.14),transparent 28%),
    linear-gradient(118deg,#071b30 0%,#0b2d4c 52%,#10283d 100%) !important;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.hero-cinematic .hero-heading .eyebrow{color:#73bdff !important}
.hero-cinematic .hero-heading h1{
  background:linear-gradient(92deg,#fff 0%,#8ed1ff 58%,#53bfe4 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  text-shadow:0 12px 35px rgba(0,0,0,.22) !important;
}
.hero-cinematic .hero-copy>p{color:#c9d9e8 !important}
.hero-cinematic .hero-media{box-shadow:0 24px 52px rgba(0,0,0,.3)}
.hero-cinematic .hero-media-actions .btn{background:#2f78ed;border-color:#2f78ed}
.hero-cinematic .hero-media-actions .btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.48);color:#fff !important}
.hero-cinematic .hero-media-actions .btn-ghost:hover{background:#fff;color:#0d2945 !important}

/* 2026-08-31 medium-desktop hero spacing */
@media(min-width:1200px) and (max-width:1500px){
  .hero-cinematic .hero-wide{min-height:545px !important}
  .hero-cinematic .hero-copy{top:260px !important}
  .hero-media-actions{top:455px !important}
}

/* 2026-08-31 About redesign: strong story panel + clean foundation cards */
.about-combined{
  background:linear-gradient(135deg,#eef6fd 0%,#fff 50%,#fff4e9 100%) !important;
}
.about-section-title{max-width:820px !important;margin-left:auto !important;margin-right:auto !important;text-align:center}
.about-section-title .eyebrow{color:#ef7825 !important}
.about-combined .about-shell{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr) !important;gap:18px !important}
.about-section .about-heading{
  justify-content:center;
  padding:34px !important;
  border:0 !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 15% 10%,rgba(57,167,255,.2),transparent 34%),
    linear-gradient(145deg,#092945,#123f67) !important;
  box-shadow:0 20px 46px rgba(9,41,69,.18) !important;
}
.about-section .about-heading .about-story-kicker{color:#79c5ff !important}
.about-section .about-heading .about-left-title{color:#fff !important;font-size:clamp(25px,2.35vw,35px) !important}
.about-section .about-heading .about-intro{color:#d3e2ef !important}
.about-section .about-story{padding:26px !important;border-color:#d9e6f1 !important;border-radius:22px !important;background:rgba(255,255,255,.94) !important;box-shadow:0 18px 42px rgba(24,62,102,.09) !important}
.about-story>p{color:#50677e !important;font-size:15px !important}
.about-combined .about-points{grid-template-columns:1fr !important;gap:9px !important}
.about-combined .about-points article{min-height:0 !important;padding:13px 15px !important;background:#f8fbfe !important;border-color:#dce8f3 !important}
.about-combined .about-points article:hover{transform:translateY(-2px)}
.about-combined .about-foundation-panel{padding:24px 0 0 !important;border:0 !important;border-top:1px solid #d7e4ef !important;border-radius:0 !important;background:none !important;box-shadow:none !important}
.about-combined .about-foundation-heading{align-items:center !important;margin-bottom:15px !important}
.about-combined .about-foundation-heading .eyebrow{color:#ef7825 !important}
.about-combined .about-foundation-heading .section-title{color:#103657 !important}
.about-combined .about-why-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:10px !important}
.about-combined .about-why-grid article{
  min-height:138px !important;
  padding:18px !important;
  border:1px solid #dce7f1 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(20,68,116,.07) !important;
}
.about-combined .about-why-grid article:nth-child(even){background:#f8fbfe !important}
.about-combined .about-why-grid h3{color:#123b61 !important}
.about-combined .about-why-grid p{color:#60758a !important}
.about-combined .about-why-grid .why-number{background:#e9f4ff !important;color:#176fc7 !important}
@media(max-width:1050px){.about-combined .about-why-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:820px){.about-combined .about-shell{grid-template-columns:1fr !important}.about-section-title{text-align:left}.about-section .about-heading{padding:25px !important}}
@media(max-width:600px){.about-combined .about-why-grid{grid-template-columns:1fr !important}.about-combined .about-foundation-heading{display:block !important}}

/* Contact strip: on desktop, the strip and image share one exact height. */
@media(min-width:901px){
  .contact-visual-strip{height:340px;min-height:340px}
  .contact-strip-inner{height:340px;min-height:340px;padding-top:0 !important;padding-bottom:0 !important}
  .contact-strip-agent{height:340px;min-height:340px;align-self:stretch}
  .contact-strip-agent img{height:340px}
  .contact-strip-copy{padding-top:24px;padding-bottom:24px}
}

/* Circular back-to-top control shared by all public pages. */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:90;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:linear-gradient(145deg,#ff9147,#f36f21);
  color:#fff;
  box-shadow:0 12px 28px rgba(8,42,73,.28);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.92);
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease,box-shadow .22s ease;
}
.back-to-top svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.back-to-top:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 34px rgba(8,42,73,.34)}
.back-to-top:focus-visible{outline:3px solid rgba(47,120,237,.42);outline-offset:4px}
@media(max-width:600px){.back-to-top{right:16px;bottom:16px;width:46px;height:46px}.back-to-top svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

/* v30: transparent SaylanSoft logo trial in header, footer and browser tab. */
.site-header .brand-with-image{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  width:205px !important;
  min-width:205px !important;
  height:66px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
}
.site-header .brand-picture{
  display:block;
  width:100%;
  line-height:0;
}
.site-header .brand-logo{
  display:block;
  width:200px;
  height:60px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
.footer-brand-with-image{
  display:inline-flex !important;
  width:auto !important;
  margin:0 0 8px !important;
  padding:7px 10px !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:0 10px 25px rgba(0,0,0,.16) !important;
  line-height:0;
}
.footer-brand-logo{
  display:block;
  width:230px;
  height:69px;
  object-fit:contain;
}
@media(max-width:1180px){
  .site-header .brand-with-image{width:185px !important;min-width:185px !important}
  .site-header .brand-logo{width:180px;height:54px}
}
@media(max-width:900px){
  .site-header .brand-with-image{width:180px !important;min-width:180px !important;height:60px !important}
  .site-header .brand-logo{width:175px;height:auto}
}
@media(max-width:600px){
  .site-header .brand-with-image{width:165px !important;min-width:165px !important;height:56px !important}
  .site-header .brand-logo{width:160px;height:48px}
  .footer-brand-logo{width:205px;height:auto}
}

/* v31: PayPal-ready footer notice. This is intentionally informational until a
   tested PayPal payment link or checkout configuration is supplied. */
.footer-payment-strip{
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto auto;
  align-items:center;
  gap:16px;
  margin-top:38px;
  padding:20px 2px;
  border-top:1px solid rgba(129,173,221,.22);
  border-bottom:1px solid rgba(129,173,221,.14);
  background:transparent;
  box-shadow:none;
}
.footer-payment-mark{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.footer-payment-mark img{width:38px;height:38px;object-fit:contain}
.footer-payment-copy{display:flex;flex-direction:column;gap:1px;line-height:1.35}
.footer-payment-copy>span{color:#7ebdff;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.footer-payment-copy>strong{color:#fff;font-size:17px;font-weight:750}
.footer-payment-copy>small{color:#aebed0;font-size:12px}
.footer-paypal-wordmark{color:#003087;font-family:Arial,Helvetica,sans-serif;font-size:26px;font-weight:800;font-style:italic;letter-spacing:-1.6px;background:#fff;border-radius:999px;padding:6px 15px;line-height:1}
.footer-paypal-wordmark span{color:#009cde}
.footer-payment-contact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 17px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:700;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.footer-payment-contact:hover{color:#fff;background:#1677d2;border-color:#5eb4ff;transform:translateY(-1px)}
@media(max-width:800px){
  .footer-payment-strip{grid-template-columns:auto 1fr auto}
  .footer-paypal-wordmark{grid-column:3;grid-row:1}
  .footer-payment-contact{grid-column:2 / 4;width:max-content}
}
@media(max-width:560px){
  .footer-payment-strip{grid-template-columns:auto 1fr;gap:13px;padding:18px 0}
  .footer-payment-mark{width:48px;height:48px;border-radius:13px}
  .footer-payment-mark img{width:34px;height:34px}
  .footer-paypal-wordmark{grid-column:1 / 3;grid-row:auto;width:max-content;font-size:23px;margin-top:2px}
  .footer-payment-contact{grid-column:1 / 3;width:100%}
  .footer-payment-copy>strong{font-size:16px}
}

/* v33: dark PayPal-inspired navigation, full-width mobile-app feature and a
   fully transparent PayPal footer treatment. */
.site-header{
  background:linear-gradient(105deg,#071d3d 0%,#0b3266 52%,#123f78 100%) !important;
  border-bottom:1px solid rgba(82,157,236,.3) !important;
  box-shadow:0 9px 24px rgba(3,22,48,.2);
  backdrop-filter:none;
}
.site-header .nav-wrap{color:#fff}
.site-header .main-nav>a:not(.btn){color:#f5f9ff}
.site-header .main-nav>a:not(.btn):hover{color:#80c3ff}
.site-header .brand-with-image{
  padding:4px 9px !important;
  border-radius:12px;
  background:rgba(255,255,255,.96);
}
.site-header .nav-toggle{color:#fff}
.site-header .language-switch{border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.08)}
.site-header .language-switch a{color:#e7f2ff}
.site-header .language-switch .active{background:#fff;color:#092b59}
.site-header .nav-login-admin{background:rgba(255,255,255,.09) !important;color:#fff !important;border-color:rgba(255,255,255,.38) !important}

.home-mobile-apps{
  padding:0 !important;
  overflow:hidden;
  background:#082757 !important;
}
.mobile-app-strip-inner{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);
  gap:0 !important;
  width:100%;
  min-height:560px;
  align-items:stretch !important;
}
.mobile-app-strip-inner .app-home-visual-clean{
  min-width:0;
  height:100%;
  min-height:560px;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#dceeff;
}
.mobile-app-strip-inner .app-home-visual-clean img{
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
  object-position:70% center;
  transform:scale(1.38);
  transform-origin:right center;
}
.mobile-app-strip-inner .home-mobile-copy{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:58px clamp(38px,5vw,88px);
  color:#fff;
  background:
    radial-gradient(circle at 12% 18%,rgba(37,132,232,.3),transparent 34%),
    linear-gradient(135deg,#0a326c 0%,#071d43 60%,#061530 100%);
}
.mobile-app-strip-inner .home-mobile-copy::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:90px;
  z-index:-1;
  background:linear-gradient(90deg,rgba(8,39,87,0),rgba(8,39,87,.92));
  transform:translateX(-100%);
}
.mobile-app-strip-inner .eyebrow{color:#78c4ff;margin-bottom:10px}
.mobile-app-strip-inner .section-title{color:#fff;font-size:clamp(34px,3.2vw,54px);line-height:1.04;margin-bottom:17px}
.mobile-app-strip-inner .home-mobile-copy>p{color:#cfdef0;font-size:16px;max-width:620px}
.mobile-app-strip-inner .home-app-points{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin:20px 0 24px;padding:0;list-style:none;color:#edf6ff}
.mobile-app-strip-inner .home-app-points li{position:relative;margin:0;padding-left:20px;font-size:13px}
.mobile-app-strip-inner .home-app-points li::before{content:"✓";position:absolute;left:0;color:#ff9a47;font-weight:900}
.mobile-app-strip-inner .app-note{display:none}
.mobile-app-strip-inner .btn{align-self:flex-start;background:linear-gradient(90deg,#ff7d28,#ff9b51);border-color:#ff8a39;box-shadow:0 12px 27px rgba(255,125,40,.24)}

.footer-payment-strip{
  border-top:0 !important;
  border-bottom:0 !important;
}
.footer-payment-mark{
  width:48px;
  height:48px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.footer-payment-mark img{width:44px;height:44px}
.footer-paypal-wordmark{
  padding:0;
  border-radius:0;
  background:transparent;
  color:#78b8ff;
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}
.footer-paypal-wordmark span{color:#54c0ee}

@media(max-width:900px){
  .site-header .main-nav{background:linear-gradient(160deg,#092955,#061b38);box-shadow:0 20px 38px rgba(1,17,37,.32)}
  .mobile-app-strip-inner{grid-template-columns:1fr;min-height:0}
  .mobile-app-strip-inner .app-home-visual-clean{min-height:380px;height:48vw;max-height:520px}
  .mobile-app-strip-inner .app-home-visual-clean img{min-height:0;object-position:66% center}
  .mobile-app-strip-inner .home-mobile-copy{padding:48px clamp(26px,7vw,70px)}
  .mobile-app-strip-inner .home-mobile-copy::before{display:none}
}
@media(max-width:600px){
  .site-header .brand-with-image{padding:3px 7px !important;border-radius:10px}
  .mobile-app-strip-inner .app-home-visual-clean{height:300px;min-height:300px}
  .mobile-app-strip-inner .app-home-visual-clean img{object-position:67% center}
  .mobile-app-strip-inner .home-mobile-copy{padding:38px 22px 42px}
  .mobile-app-strip-inner .section-title{font-size:clamp(32px,9vw,43px)}
  .mobile-app-strip-inner .home-app-points{grid-template-columns:1fr}
}

/* v34: text-free mobile-app hero art and transparent, higher-resolution menu logo. */
.site-header .brand-with-image{
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.site-header .brand-logo{
  width:200px !important;
  height:60px !important;
  max-width:none !important;
  object-fit:contain;
  object-position:left center;
  image-rendering:auto;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 3px 8px rgba(0,0,0,.28));
}
.mobile-app-strip-inner{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:570px;
  background:#071a3c;
}
.mobile-app-strip-inner .app-home-visual-clean{
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  min-height:570px;
}
.mobile-app-strip-inner .app-home-visual-clean::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(5,22,52,.08) 39%,rgba(5,22,52,.84) 58%,#06152f 100%);
}
.mobile-app-strip-inner .app-home-visual-clean img{
  width:100%;
  height:100%;
  min-height:570px;
  object-fit:cover;
  object-position:center center;
  transform:none;
}
.mobile-app-strip-inner .home-mobile-copy{
  grid-column:2;
  z-index:1;
  padding:62px clamp(42px,6vw,104px) 62px clamp(30px,4vw,72px);
  background:linear-gradient(90deg,rgba(6,23,53,.08),rgba(6,21,47,.7) 42%,rgba(6,21,47,.96));
}
.mobile-app-strip-inner .home-mobile-copy::before{display:none}
@media(max-width:1180px){
  .site-header .brand-logo{width:180px !important;height:54px !important}
}
@media(max-width:900px){
  .mobile-app-strip-inner{display:block;min-height:0;background:#071a3c}
  .mobile-app-strip-inner .app-home-visual-clean{position:relative;inset:auto;z-index:0;height:420px;min-height:420px}
  .mobile-app-strip-inner .app-home-visual-clean::after{background:linear-gradient(180deg,transparent 45%,#071a3c 100%)}
  .mobile-app-strip-inner .app-home-visual-clean img{height:100%;min-height:0;object-position:33% center}
  .mobile-app-strip-inner .home-mobile-copy{padding:30px clamp(26px,7vw,70px) 52px;background:#071a3c}
  .site-header .brand-logo{width:175px !important;height:auto !important}
}
@media(max-width:600px){
  .site-header .brand-with-image{padding:0 !important;border-radius:0 !important}
  .site-header .brand-logo{width:160px !important;height:48px !important}
  .mobile-app-strip-inner .app-home-visual-clean{height:320px;min-height:320px}
  .mobile-app-strip-inner .app-home-visual-clean img{object-position:29% center}
}

/* v35: vector brand, complete hero subject, store badges and section separation. */
.site-header .brand-logo,
.footer-brand-logo{
  image-rendering:auto;
  filter:none !important;
}
.footer-brand-with-image{
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.mobile-app-strip-inner .app-home-visual-clean{
  background:#061a3d;
}
.mobile-app-strip-inner .app-home-visual-clean img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.mobile-app-store-badges{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px;
}
.mobile-google-play-badge,
.mobile-android-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:7px 14px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:10px;
  color:#fff;
  background:#050b12;
  line-height:1;
}
.mobile-android-badge{background:rgba(255,255,255,.08)}
.mobile-google-play-badge span,
.mobile-android-badge span{display:flex;flex-direction:column;gap:3px}
.mobile-google-play-badge small,
.mobile-android-badge small{font-size:7px;letter-spacing:.08em;color:#cad7e7}
.mobile-google-play-badge strong,
.mobile-android-badge strong{font-size:16px;font-weight:600;color:#fff}
.play-store-mark{
  width:25px;
  height:29px;
  display:block;
  clip-path:polygon(0 0,100% 50%,0 100%);
  background:linear-gradient(145deg,#39d98a 0 34%,#43a5ff 34% 55%,#ffd34d 55% 74%,#ff5b62 74%);
}
.android-mark{
  position:relative;
  width:31px;
  height:23px;
  display:block;
  border-radius:15px 15px 7px 7px;
  background:#3ddc84;
}
.android-mark::before,.android-mark::after{content:"";position:absolute;top:-6px;width:2px;height:8px;background:#3ddc84}
.android-mark::before{left:7px;transform:rotate(-27deg)}
.android-mark::after{right:7px;transform:rotate(27deg)}
.mp-home-academy{
  position:relative;
  border-top:16px solid #eef4fa;
  box-shadow:inset 0 3px 0 rgba(255,129,45,.9);
}
@media(max-width:900px){
  .mobile-app-strip-inner .app-home-visual-clean img{object-fit:contain;object-position:center center}
}
@media(max-width:600px){
  .mobile-app-store-badges{align-items:stretch}
  .mobile-google-play-badge,.mobile-android-badge{flex:1 1 145px;justify-content:center}
  .mp-home-academy{border-top-width:11px}
}

/* v36: white ribbon transition, responsive-device loop and three-step guide. */
.mobile-experience-section{position:relative;isolation:isolate;overflow:hidden;padding:82px 0 92px;background:#fff;color:var(--ink)}
.mobile-experience-ribbons{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5}
.mobile-experience-ribbons svg{position:absolute;left:0;top:10px;width:100%;height:360px;overflow:visible}
.mobile-experience-ribbons path{fill:none;stroke-linecap:round;stroke-width:3}
.mobile-experience-ribbons path:nth-child(1){stroke:rgba(42,123,231,.16)}
.mobile-experience-ribbons path:nth-child(2){stroke:rgba(35,193,230,.13);stroke-width:8}
.mobile-experience-ribbons path:nth-child(3){stroke:rgba(255,129,45,.13);stroke-width:4}
.mobile-experience-section::after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 14% 18%,rgba(82,172,255,.09),transparent 28%),radial-gradient(circle at 88% 56%,rgba(255,145,68,.08),transparent 25%)}
.mobile-experience-heading{text-align:center;max-width:780px;margin:0 auto 48px}
.mobile-experience-heading .eyebrow{margin-bottom:8px}
.mobile-experience-heading h2{font-size:clamp(36px,4.6vw,64px);line-height:1.05;letter-spacing:-.045em;margin:0 0 14px;color:var(--navy)}
.mobile-experience-heading p{margin:0;color:var(--muted);font-size:16px}
.mobile-experience-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:start}
.device-showcase,.quick-start-showcase{min-width:0}
.device-rotator-stage{position:relative;min-height:490px}
.device-scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;opacity:0;visibility:hidden;transform:translateY(16px) scale(.97);transition:opacity .55s ease,transform .55s ease,visibility .55s}
.device-scene.is-active{opacity:1;visibility:visible;transform:none}
.device-frame{position:relative;filter:drop-shadow(0 24px 28px rgba(15,51,91,.16))}
.device-screen{overflow:hidden;background:#e9f1f8}
.device-screen img{width:100%;height:100%;object-fit:cover;object-position:top center}
.desktop-frame{width:min(100%,520px);padding:13px 13px 17px;border-radius:15px;background:#172331}.desktop-frame .device-screen{aspect-ratio:16/9;border-radius:5px}.desktop-stand{position:absolute;left:50%;top:100%;width:124px;height:46px;transform:translateX(-50%);border-bottom:10px solid #263647;border-radius:0 0 40px 40px;background:linear-gradient(90deg,transparent 34%,#3d4d5d 35% 65%,transparent 66%)}
.laptop-frame{width:min(100%,500px);padding:12px 12px 15px;border-radius:15px 15px 5px 5px;background:#172331}.laptop-frame .device-screen{aspect-ratio:16/10;border-radius:5px}.laptop-base{position:absolute;left:50%;top:100%;width:112%;height:15px;transform:translateX(-50%);border-radius:2px 2px 12px 12px;background:linear-gradient(180deg,#aeb8c1,#5f6c78)}
.tablet-frame{width:min(77%,340px);padding:13px;border-radius:24px;background:#152536}.tablet-frame .device-screen{aspect-ratio:4/3;border-radius:14px}.phone-device-frame{width:210px;padding:13px 10px 16px;border-radius:34px;background:#142333}.phone-device-frame::before{content:"";display:block;width:55px;height:5px;margin:0 auto 9px;border-radius:9px;background:#526272}.phone-device-frame .device-screen{aspect-ratio:9/16;border-radius:20px}.phone-device-frame .device-screen img{width:245%;max-width:none;object-position:18% top}
.device-scene figcaption{display:flex;flex-direction:column;align-items:center;margin-top:72px;line-height:1.3}.device-scene figcaption strong{font-size:18px;color:var(--navy)}.device-scene figcaption span{font-size:12px;color:var(--muted)}
.device-scene-tablet figcaption,.device-scene-phone figcaption{margin-top:25px}
.device-rotator-dots{display:flex;justify-content:center;gap:8px;margin-top:6px}.device-rotator-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#c7d5e4;cursor:pointer;transition:.2s}.device-rotator-dots button.is-active{width:28px;border-radius:10px;background:linear-gradient(90deg,var(--blue),#45bde8)}
.quick-start-heading{text-align:left;margin-bottom:21px}.quick-start-heading .eyebrow{margin-bottom:4px}.quick-start-heading h3{font-size:clamp(27px,2.5vw,39px);line-height:1.08;margin:0;color:var(--navy);letter-spacing:-.03em}
.quick-step-controls{display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 25px}.quick-step-controls button{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:72px;padding:0;border:0;background:none;color:#8695a8;cursor:pointer;font:inherit}.quick-step-controls button span{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:#e6edf5;color:#536478;font-weight:800;box-shadow:0 0 0 6px #f5f8fb;transition:.3s}.quick-step-controls button small{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.quick-step-controls button.is-active{color:var(--navy)}.quick-step-controls button.is-active span{background:linear-gradient(145deg,#236be8,#0a479e);color:#fff;box-shadow:0 0 0 6px #e6f0ff,0 10px 22px rgba(35,107,232,.25)}.quick-step-controls i{height:2px;flex:1;margin:24px 9px 0;background:linear-gradient(90deg,#c8d8e9,#e8eef5)}
.quick-step-stage{position:relative;min-height:410px;border-top:1px solid #e1e9f2;padding-top:24px}.quick-step-scene{position:absolute;inset:24px 0 0;display:grid;grid-template-columns:200px 1fr;gap:29px;align-items:center;opacity:0;visibility:hidden;transform:translateX(20px);transition:opacity .48s ease,transform .48s ease,visibility .48s}.quick-step-scene.is-active{opacity:1;visibility:visible;transform:none}
.mini-phone{width:190px;height:370px;padding:12px 10px 13px;border-radius:32px;background:#10263f;box-shadow:0 22px 38px rgba(19,52,88,.18)}.mini-phone-speaker{width:52px;height:5px;margin:0 auto 9px;border-radius:9px;background:#566d83}.mini-phone-screen{height:329px;display:flex;flex-direction:column;padding:20px 15px;border-radius:20px;background:linear-gradient(155deg,#fff,#edf5ff);color:#17304f}.mini-brand{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,#0f4d9b,#247dec);color:#fff;font-weight:900;margin-bottom:17px}.mini-phone-screen>strong{font-size:17px;margin-bottom:18px}.mini-phone-screen label{font-size:8px;font-weight:700;color:#64758a;margin:5px 0}.mini-phone-screen>b{display:block;height:30px;border:1px solid #ccdae9;border-radius:8px;background:#fff}.mini-phone-screen>em{display:grid;place-items:center;min-height:32px;margin-top:17px;border-radius:999px;background:var(--orange);color:#fff;font-size:9px;font-weight:800;font-style:normal}.dashboard-screen{background:linear-gradient(160deg,#eaf4ff,#fff)}.mini-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mini-dashboard-grid b{display:grid;place-items:center;min-height:54px;padding:5px;border-radius:9px;background:#fff;border:1px solid #d6e3ef;font-size:8px;text-align:center;color:#25415f}.dashboard-screen>em{margin-top:auto;background:var(--blue)}
.quick-step-copy>span{font-size:10px;font-weight:900;letter-spacing:.13em;color:var(--orange)}.quick-step-copy h4{font-size:23px;line-height:1.12;margin:8px 0;color:var(--navy)}.quick-step-copy p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 13px}.quick-step-copy a{color:var(--blue);font-size:12px;font-weight:800}.quick-step-copy img{width:92px;height:92px;margin-top:17px;padding:5px;border:1px solid #d8e3ef;border-radius:10px;background:#fff}
.mp-home-academy{border-top:0 !important;box-shadow:none !important}
@media(max-width:1020px){.mobile-experience-grid{grid-template-columns:1fr;gap:74px}.device-showcase{max-width:650px;width:100%;margin:0 auto}.quick-start-showcase{max-width:700px;width:100%;margin:0 auto}.quick-start-heading{text-align:center}.quick-step-stage{min-height:430px}}
@media(max-width:600px){.mobile-experience-section{padding:62px 0 70px}.mobile-experience-heading{margin-bottom:34px}.mobile-experience-heading h2{font-size:clamp(34px,10vw,46px)}.device-rotator-stage{min-height:370px}.desktop-frame,.laptop-frame{width:94%}.tablet-frame{width:75%}.phone-device-frame{width:170px}.device-scene figcaption{margin-top:55px}.device-scene-tablet figcaption,.device-scene-phone figcaption{margin-top:19px}.quick-step-controls button{min-width:58px}.quick-step-controls button span{width:43px;height:43px}.quick-step-controls i{margin-top:21px}.quick-step-stage{min-height:610px}.quick-step-scene{grid-template-columns:1fr;justify-items:center;align-content:start;gap:24px}.quick-step-copy{text-align:center}.quick-step-copy img{margin-left:auto;margin-right:auto}.mini-phone{width:180px;height:350px}.mini-phone-screen{height:309px}.quick-start-heading h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.device-scene,.quick-step-scene,.device-rotator-dots button,.quick-step-controls button span{transition:none}}

/* v37: the white responsive-experience band now follows Model Papers. */
#model-papers{scroll-margin-top:82px}
.mp-home-academy + .mobile-experience-section{border-top:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
@media(max-width:1250px) and (min-width:901px){.site-header .main-nav{gap:12px;font-size:13px}}
@media(max-width:900px){#model-papers{scroll-margin-top:76px}}

/* v38: bright Model Papers bridge with translucent ribbons. */
.mp-home-academy{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#fff !important;
  color:var(--navy) !important;
  border:0 !important;
  box-shadow:none !important;
}
.mp-home-academy::before{
  content:"";
  position:absolute;
  z-index:-2;
  left:-9%;
  top:-285px;
  width:118%;
  height:620px;
  border:3px solid rgba(45,125,231,.10);
  border-radius:50%;
  transform:rotate(-5deg);
  box-shadow:0 18px 0 4px rgba(43,191,225,.055),0 40px 0 1px rgba(255,129,45,.065),0 66px 0 8px rgba(48,112,210,.035);
}
.mp-home-academy::after{
  content:"";
  position:absolute;
  z-index:-3;
  inset:0;
  background:radial-gradient(circle at 8% 78%,rgba(54,150,238,.10),transparent 30%),radial-gradient(circle at 91% 20%,rgba(255,146,72,.09),transparent 27%),linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.mp-home-academy .mp-home-copy .section-title{color:var(--navy) !important}
.mp-home-academy .mp-home-copy .eyebrow{color:#216ee5}
.mp-home-academy .mp-home-lead{color:#52677f}
.mp-home-academy .mp-home-highlights article{
  border:1px solid #d6e2ef;
  background:rgba(244,249,255,.82);
  box-shadow:0 10px 28px rgba(31,78,124,.06);
  backdrop-filter:blur(2px);
}
.mp-home-academy .mp-home-highlights article>span{color:#f57d2b}
.mp-home-academy .mp-home-highlights strong{color:var(--navy)}
.mp-home-academy .mp-home-highlights small{color:#62778d}
.mp-home-academy .mp-home-actions .btn-ghost{background:#fff;color:var(--navy) !important;border-color:#b9c9da}
.mp-home-academy + .mobile-experience-section{
  background:#f4f8fc;
  border-top:1px solid #e0e9f3;
  box-shadow:none;
}

/* Slow, uninterrupted device procession from right to left. */
.device-showcase.is-device-marquee{overflow:hidden;position:relative;padding:8px 0 18px}
.device-showcase.is-device-marquee::before,
.device-showcase.is-device-marquee::after{content:"";position:absolute;top:0;bottom:0;width:48px;z-index:5;pointer-events:none}
.device-showcase.is-device-marquee::before{left:0;background:linear-gradient(90deg,#f4f8fc,rgba(244,248,252,0))}
.device-showcase.is-device-marquee::after{right:0;background:linear-gradient(270deg,#f4f8fc,rgba(244,248,252,0))}
.is-device-marquee .device-rotator-stage{
  position:relative;
  display:flex;
  align-items:center;
  gap:34px;
  width:max-content;
  min-height:490px;
  animation:device-screen-marquee 32s linear infinite;
  will-change:transform;
}
.is-device-marquee:hover .device-rotator-stage{animation-play-state:paused}
.is-device-marquee .device-scene{
  position:relative;
  inset:auto;
  flex:0 0 360px;
  width:360px;
  min-height:455px;
  opacity:1;
  visibility:visible;
  transform:none;
  transition:none;
}
.is-device-marquee .desktop-frame,.is-device-marquee .laptop-frame{width:340px}
.is-device-marquee .tablet-frame{width:280px}
.is-device-marquee .phone-device-frame{width:175px}
.is-device-marquee .device-scene figcaption{margin-top:54px}
.is-device-marquee .device-scene-tablet figcaption,.is-device-marquee .device-scene-phone figcaption{margin-top:20px}
.is-device-marquee .device-rotator-dots{display:none}
@keyframes device-screen-marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 17px))}}
@media(max-width:600px){
  .mp-home-academy::before{left:-35%;width:170%;top:-330px}
  .is-device-marquee .device-rotator-stage{gap:22px;min-height:410px;animation-duration:27s}
  .is-device-marquee .device-scene{flex-basis:300px;width:300px;min-height:385px}
  .is-device-marquee .desktop-frame,.is-device-marquee .laptop-frame{width:280px}
  .is-device-marquee .tablet-frame{width:225px}
  .is-device-marquee .phone-device-frame{width:150px}
}
@media(prefers-reduced-motion:reduce){.is-device-marquee .device-rotator-stage{animation:none;transform:none}}

/* v40: supplied Model Paper desktop preview, already presented in its monitor frame. */
.device-scene-product-art .device-product-art{
  display:block;
  width:min(100%,360px);
  height:auto;
  aspect-ratio:6/5;
  object-fit:contain;
  filter:drop-shadow(0 18px 22px rgba(15,51,91,.12));
}
.device-scene-product-art figcaption{margin-top:8px !important}
@media(max-width:600px){
  .device-scene-product-art .device-product-art{width:min(100%,300px)}
}

/* v39: restrained Model Papers background, clean marquee edges and fixed-position fades. */
.mp-home-academy::before{
  inset:0;
  left:0;
  top:0;
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  transform:none;
  box-shadow:none;
  opacity:.72;
  background-image:radial-gradient(circle,rgba(38,106,189,.14) 1.15px,transparent 1.2px);
  background-size:24px 24px;
  background-position:10px 10px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,rgba(0,0,0,.45) 55%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 17%,rgba(0,0,0,.45) 55%,transparent 100%);
}
.mp-home-academy::after{
  background:
    radial-gradient(circle at 92% 15%,rgba(44,130,230,.16),transparent 30%),
    radial-gradient(circle at 10% 88%,rgba(255,137,54,.10),transparent 26%),
    linear-gradient(120deg,#fff 0%,#f9fcff 58%,#eef6ff 100%);
}
.mp-home-academy .mp-home-shell{position:relative;z-index:1}
.device-showcase.is-device-marquee::before,
.device-showcase.is-device-marquee::after{display:none !important}
.quick-step-scene{
  transform:none !important;
  transition:opacity .72s ease,visibility .72s ease !important;
}
.quick-step-scene.is-active{transform:none !important}
.quick-step-scene .mini-phone{
  grid-column:1;
  grid-row:1;
  align-self:center;
  justify-self:center;
  width:190px;
  height:370px;
}
.quick-step-scene .mini-phone-screen{height:329px}
.quick-step-scene .quick-step-copy{grid-column:2;grid-row:1;align-self:center}
@media(max-width:600px){
  .quick-step-scene .mini-phone{grid-column:1;grid-row:1;width:180px;height:350px}
  .quick-step-scene .mini-phone-screen{height:309px}
  .quick-step-scene .quick-step-copy{grid-column:1;grid-row:2;align-self:start}
}

/* v40: natural Sinhala heading, centred navigation and image-based store badges. */
.site-header .main-nav{flex:1;justify-content:center;text-align:center}
.site-header .main-nav>a,.site-header .nav-action-stack{text-align:center}
html:lang(si) .site-header .main-nav{font-size:19px}
.mobile-app-store-badges-real{gap:11px}
.mobile-app-store-badges-real .real-store-badge{
  display:flex;
  align-items:center;
  height:48px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  border-radius:9px;
  background:#050b12;
}
.mobile-app-store-badges-real .real-store-badge img{display:block;width:auto;height:46px;max-width:none;object-fit:contain}
.mobile-app-store-badges-real .real-android-badge{background:#15324f}
.mobile-app-store-badges-real .real-android-badge img{height:46px;width:154px;object-fit:cover}
@media(max-width:900px){
  .site-header .main-nav{align-items:stretch;text-align:center}
  .site-header .main-nav>a{display:block;width:100%;text-align:center}
}

/* v41: align the PayPal row precisely with the footer grid above. */
.site-footer .footer-payment-strip{padding-left:0 !important;padding-right:0 !important}

/* v44: keep the payment notice together and aligned with the footer content. */
.site-footer .footer-payment-strip{display:flex;justify-content:flex-start;align-items:center;gap:15px;flex-wrap:wrap}
.site-footer .footer-payment-copy{flex:0 1 520px}
.site-footer .footer-paypal-wordmark{margin-left:0}
@media(max-width:700px){.site-footer .footer-payment-strip{align-items:flex-start}.site-footer .footer-payment-copy{flex:1 1 calc(100% - 64px)}.site-footer .footer-paypal-wordmark{margin-left:63px}.site-footer .footer-payment-contact{width:auto;margin-left:0}}

/* v42: compact social controls in the footer brand column. */
.footer-social-row{display:flex;align-items:center;gap:10px;margin-top:18px}
.footer-social-link{width:39px;height:39px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.footer-social-link svg{width:18px;height:18px;fill:currentColor}
.footer-social-link.is-active:hover{transform:translateY(-3px);background:#1f72ea;border-color:#5ba1ff}
.footer-social-link.whatsapp:hover{background:#20b75a;border-color:#54db86}
.footer-social-link.is-pending{opacity:.45;cursor:not-allowed}

/* v43: product-aware home hero aligned to the shared 1180px content grid. */
.hero-cinematic [data-hero-dynamic]{transition:opacity .28s ease,transform .28s ease}
.hero-cinematic [data-hero-dynamic].is-changing{opacity:0;transform:translateY(8px)}
@media(min-width:1051px){
  .hero-cinematic .hero-wide{width:min(1180px,calc(100% - 48px)) !important;height:390px !important;min-height:390px !important;margin:0 auto !important}
  .hero-cinematic .hero-heading{top:28px !important;left:0 !important;width:34% !important;max-width:400px !important}
  .hero-cinematic .hero-heading h1{max-width:400px !important;font-size:clamp(37px,3vw,46px) !important;line-height:1.04 !important;letter-spacing:-.03em !important}
  .hero-cinematic .hero-copy{top:184px !important;left:0 !important;width:31% !important;max-width:365px !important}
  .hero-cinematic .hero-copy>p{max-width:365px !important;font-size:14px !important;line-height:1.55 !important}
  .hero-cinematic .hero-media{top:0 !important;right:0 !important;bottom:auto !important;width:67.7% !important;height:390px !important;min-height:390px !important;border-radius:0 !important}
  .hero-cinematic .hero-media-actions{top:319px !important;left:0 !important;right:auto !important}
}
@media(min-width:821px) and (max-width:1050px){
  .hero-cinematic .hero-wide{width:min(100% - 48px,1180px) !important;height:430px !important;min-height:430px !important;margin:0 auto !important}
  .hero-cinematic .hero-heading{top:36px !important;left:0 !important;width:46% !important;max-width:455px !important}
  .hero-cinematic .hero-heading h1{max-width:455px !important;font-size:clamp(37px,4.8vw,48px) !important;line-height:1.04 !important;letter-spacing:-.03em !important}
  .hero-cinematic .hero-copy{top:205px !important;left:0 !important;width:38% !important;max-width:350px !important}
  .hero-cinematic .hero-copy>p{font-size:15px !important;line-height:1.58 !important}
  .hero-cinematic .hero-media{top:0 !important;right:0 !important;width:60% !important;height:430px !important;min-height:430px !important}
  .hero-cinematic .hero-media-actions{top:343px !important;left:0 !important;right:auto !important}
}
@media(max-width:820px){
  .hero-cinematic .hero-wide{display:flex !important;flex-direction:column !important;width:100% !important;min-height:0 !important;height:auto !important}
  .hero-cinematic .hero-heading{position:relative !important;inset:auto !important;order:1 !important;width:100% !important;padding:38px 24px 10px !important}
  .hero-cinematic .hero-heading h1{font-size:clamp(39px,10vw,52px) !important;line-height:1.04 !important}
  .hero-cinematic .hero-copy{position:relative !important;inset:auto !important;order:2 !important;width:100% !important;max-width:none !important;padding:0 24px 21px !important}
  .hero-cinematic .hero-copy>p{max-width:620px !important;font-size:16px !important}
  .hero-cinematic .hero-media{position:relative !important;inset:auto !important;order:3 !important;width:100% !important;height:auto !important;min-height:0 !important;aspect-ratio:16/9 !important}
  .hero-cinematic .hero-media-actions{position:relative !important;inset:auto !important;order:4 !important;width:100% !important;padding:20px 24px 34px !important}
}

/* v44: extended hero titles, more open typography and menu separation. */
.hero-cinematic{margin-top:22px !important}

@media(min-width:1051px){
  .hero-cinematic .hero-heading{
    z-index:7 !important;
    width:64% !important;
    max-width:760px !important;
    pointer-events:none;
  }
  .hero-cinematic .hero-heading h1{
    max-width:760px !important;
    font-size:clamp(39px,3.15vw,49px) !important;
    line-height:1.13 !important;
    letter-spacing:.012em !important;
    text-shadow:0 2px 12px rgba(5,25,48,.58),0 1px 2px rgba(5,25,48,.8);
    text-wrap:balance;
  }
  .hero-cinematic .hero-copy{top:204px !important}
}

@media(min-width:821px) and (max-width:1050px){
  .hero-cinematic .hero-heading{
    z-index:7 !important;
    width:70% !important;
    max-width:680px !important;
    pointer-events:none;
  }
  .hero-cinematic .hero-heading h1{
    max-width:680px !important;
    line-height:1.13 !important;
    letter-spacing:.01em !important;
    text-shadow:0 2px 12px rgba(5,25,48,.58),0 1px 2px rgba(5,25,48,.8);
    text-wrap:balance;
  }
  .hero-cinematic .hero-copy{top:224px !important}
}

@media(max-width:820px){
  .hero-cinematic{margin-top:14px !important}
  .hero-cinematic .hero-heading h1{
    line-height:1.12 !important;
    letter-spacing:.008em !important;
  }
}
/* Online File Converter v1 */
.fc-page{background:#f4f8fc;color:var(--ink)}
.fc-hero{position:relative;overflow:hidden;padding:48px 0 42px;background:radial-gradient(circle at 78% 18%,rgba(44,184,220,.26),transparent 25%),linear-gradient(125deg,#071e38 0%,#0b4772 58%,#087b8a 100%);color:#fff}
.fc-hero::after{content:"";position:absolute;inset:auto -8% -180px 8%;height:300px;border:2px solid rgba(255,255,255,.13);border-radius:50%;transform:rotate(-5deg);box-shadow:0 -20px 0 rgba(61,176,236,.07),0 -42px 0 rgba(255,139,55,.07)}
.fc-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:56px;align-items:center}
.fc-hero .eyebrow{color:#84d9ff}.fc-hero h1{max-width:760px;margin:8px 0 13px;color:#fff;font-size:clamp(40px,5vw,62px);line-height:1.02;letter-spacing:-.04em}.fc-hero p{max-width:720px;margin:0;color:#d9edf8;font-size:16px;line-height:1.55}
.fc-trust-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}.fc-trust-row span{padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:700}
.fc-hero-mark{display:flex;align-items:center;justify-content:center;gap:13px;min-height:170px;padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:25px;background:rgba(255,255,255,.09);box-shadow:0 22px 48px rgba(0,0,0,.16);backdrop-filter:blur(12px)}
.fc-hero-mark span{display:grid;width:104px;height:104px;place-items:center;border-radius:24px;background:#fff;color:#0b4772;font-size:20px;font-weight:900;box-shadow:inset 0 -4px 0 #ff8a2b}.fc-hero-mark b{color:#ffbc75;font-size:34px}
.fc-workspace{padding:76px 0}.fc-workspace-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:26px;align-items:start}
.fc-converter-card,.fc-side article,.fc-payment-grid article{border:1px solid #dce6f0;background:#fff;box-shadow:0 12px 34px rgba(22,64,101,.07)}
.fc-converter-card{padding:clamp(22px,4vw,42px)}.fc-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:25px}.fc-card-head h2{margin:6px 0 0;color:var(--navy);font-size:clamp(29px,3vw,42px)}
.fc-limit-pill{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:#eaf3ff;color:#1556a6;font-size:12px;font-weight:800;white-space:nowrap}
.fc-message{display:grid;gap:4px;margin-bottom:18px;padding:14px 16px;border-left:4px solid}.fc-error{border-color:#c9374f;background:#fff1f3;color:#942339}.fc-success{grid-template-columns:1fr auto;align-items:center;border-color:#1b9b64;background:#edfbf4;color:#126443}.fc-success span{font-size:12px}.fc-success a{grid-column:1/-1;width:max-content;margin-top:5px;color:#0d6b48;font-weight:800}
.fc-dropzone{display:flex;min-height:230px;align-items:center;justify-content:center;flex-direction:column;padding:28px;border:2px dashed #8eb8dd;background:linear-gradient(145deg,#f8fbff,#eef7ff);text-align:center;cursor:pointer;transition:.2s}.fc-dropzone:hover,.fc-dropzone.is-dragging{border-color:#2478de;background:#edf6ff}.fc-dropzone.is-dragging{transform:translateY(-2px);box-shadow:0 12px 25px rgba(36,120,222,.12)}.fc-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.fc-upload-icon{display:grid;width:58px;height:58px;margin-bottom:15px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#2478de,#0d539f);color:#fff;font-size:28px;box-shadow:0 8px 20px rgba(36,120,222,.23)}.fc-dropzone strong{max-width:100%;overflow-wrap:anywhere;color:var(--navy);font-size:19px}.fc-dropzone small{margin-top:6px;color:#64748b}
.fc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:21px}.fc-form-grid label{position:relative;display:grid;gap:7px}.fc-form-grid label>span{color:#40566d;font-size:12px;font-weight:800}.fc-form-grid select,.fc-form-grid input[type=number]{width:100%;min-height:47px;padding:10px 12px;border:1px solid #cad8e6;border-radius:8px;background:#fff;color:#173653;font:inherit}.fc-form-grid input[type=range]{width:calc(100% - 52px);margin-top:12px;accent-color:#2478de}.fc-form-grid output{position:absolute;right:0;bottom:8px;color:#0b4772;font-size:13px;font-weight:800}
.fc-convert-button{display:flex;width:min(100%,360px);min-height:52px;margin:25px auto 0;align-items:center;justify-content:center;gap:14px;border:0;border-radius:999px;background:linear-gradient(100deg,#1f79ec,#0b589f);color:#fff;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 12px 24px rgba(31,121,236,.2)}.fc-convert-button span{font-size:22px}.fc-privacy-note{margin:17px 0 0;color:#687b8f;font-size:11px;text-align:center}
.fc-side{display:grid;gap:18px}.fc-side article{padding:25px}.fc-side h3{margin:8px 0 13px;color:var(--navy);font-size:24px}.fc-side ul{display:grid;gap:9px;margin:0;padding:0;list-style:none;color:#53677c;font-size:13px}.fc-side li::before{content:"✓";margin-right:8px;color:#16895a;font-weight:900}.fc-pro-card{position:relative;border-color:#efbe6c!important;background:linear-gradient(145deg,#fffdf8,#fff5df)!important}.fc-pro-badge{position:absolute;top:17px;right:17px;padding:5px 9px;border-radius:999px;background:#ff8a2b;color:#fff;font-size:10px;font-weight:900}.fc-pro-card>a,.fc-payment-grid a{display:inline-flex;margin-top:17px;color:#176cd2;font-size:13px;font-weight:850}.fc-pro-card>small{display:block;margin-top:11px;color:#776348;font-size:10.5px;line-height:1.55}
.fc-pro-card .fc-account-note{margin:15px 0 0;padding-top:13px;border-top:1px solid rgba(176,122,40,.2);color:#66583f;font-size:12px;line-height:1.55}.fc-pro-card>a.fc-pro-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;margin-top:14px;padding:10px 17px;border-radius:999px;color:#fff;background:linear-gradient(90deg,#176bd1,#0e58a9);box-shadow:0 8px 18px rgba(23,107,209,.2);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.fc-pro-card>a.fc-pro-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 11px 22px rgba(23,107,209,.28)}.fc-pro-card>a.fc-pro-cta span{font-size:16px;line-height:1}
.fc-resize-guide{padding:0 0 72px}.fc-resize-guide-card{padding:clamp(22px,4vw,40px);border:1px solid #dce6f0;background:#fff;box-shadow:0 12px 34px rgba(22,64,101,.07)}.fc-resize-guide-card header{max-width:850px}.fc-resize-guide-card h2{margin:7px 0 10px;color:var(--navy);font-size:clamp(28px,3vw,42px)}.fc-resize-guide-card header p,.fc-resize-note{color:#5d7085;line-height:1.65}.fc-resize-table-wrap{overflow-x:auto;margin-top:24px}.fc-resize-table{width:100%;min-width:650px;border-collapse:collapse}.fc-resize-table th,.fc-resize-table td;padding:13px 15px;border-bottom:1px solid #dce6f0;text-align:left}.fc-resize-table th{background:#0c3558;color:#fff;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.fc-resize-table td{color:#40566d;font-size:13px}.fc-resize-table tbody tr:nth-child(even){background:#f6f9fc}.fc-resize-note{margin:16px 0 0;font-size:12px}
.fc-payment-section{padding:72px 0 90px;background:#fff}.fc-payment-section>div>header{text-align:center;max-width:740px;margin:0 auto 35px}.fc-payment-section h2{margin:7px 0;color:var(--navy);font-size:clamp(31px,4vw,49px)}.fc-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fc-payment-grid article{padding:27px}.fc-payment-grid article>span:first-child{display:grid;width:43px;height:43px;place-items:center;border-radius:50%;background:#eaf3ff;color:#176cd2;font-weight:900}.fc-payment-grid h3{margin:17px 0 10px;color:var(--navy);font-size:21px}.fc-payment-grid p{margin:0;color:#5d7085;font-size:13px;line-height:1.65}.fc-status{display:inline-flex!important;width:auto!important;height:auto!important;margin-top:17px;padding:6px 10px!important;border-radius:999px!important;background:#f0f3f6!important;color:#66778a!important;font-size:11px;font-weight:800}
@media(max-width:1000px){.fc-hero-grid{grid-template-columns:1fr}.fc-hero-mark{min-height:180px}.fc-workspace-grid{grid-template-columns:1fr}.fc-side{grid-template-columns:1fr 1fr}.fc-payment-grid{grid-template-columns:1fr 1fr}.fc-payment-grid article:last-child{grid-column:1/-1}}
@media(max-width:650px){.fc-hero{padding:38px 0 34px}.fc-hero h1{font-size:38px}.fc-hero p{font-size:15px}.fc-hero-mark{min-height:125px;padding:17px}.fc-hero-mark span{width:76px;height:76px;border-radius:18px;font-size:15px}.fc-workspace{padding:45px 0}.fc-card-head{display:grid}.fc-converter-card{padding:19px 14px}.fc-dropzone{min-height:190px}.fc-form-grid,.fc-side,.fc-payment-grid{grid-template-columns:1fr}.fc-payment-grid article:last-child{grid-column:auto}.fc-success{grid-template-columns:1fr}.fc-resize-guide{padding-bottom:52px}.fc-resize-guide-card{padding:21px 15px}.fc-payment-section{padding:53px 0 64px}}

/* Converter redesign v102: compact first view, integrated guide and expandable Pro story. */
.fc-hero{padding:27px 0 25px}
.fc-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:36px;min-height:205px}
.fc-hero h1{max-width:650px;margin:6px 0 9px;font-size:clamp(35px,3.8vw,52px);line-height:1.04}
.fc-hero p{max-width:650px;font-size:14px;line-height:1.48}
.fc-hero-side{display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:14px;align-items:center}
.fc-hero-side figure{height:180px;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:20px;background:#0a2844;box-shadow:0 16px 36px rgba(0,0,0,.18)}
.fc-hero-side img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.fc-hero .fc-trust-row{display:grid;gap:8px;margin:0}
.fc-hero .fc-trust-row span{display:flex;align-items:center;min-height:34px;padding:7px 12px;background:rgba(255,255,255,.11);font-size:10px;line-height:1.25}
.fc-hero .fc-trust-row span::before{content:"✓";margin-right:7px;color:#7de5cf;font-weight:900}
.fc-workspace{padding:30px 0 52px}
.fc-workspace-grid{grid-template-columns:minmax(0,1.58fr) minmax(270px,.52fr);gap:20px}
.fc-converter-card{padding:25px 30px}
.fc-card-head{margin-bottom:15px}.fc-card-head h2{font-size:clamp(25px,2.4vw,34px)}
.fc-limit-pill{min-height:29px;padding:4px 10px}
.fc-dropzone{min-height:145px;padding:18px}
.fc-upload-icon{width:44px;height:44px;margin-bottom:9px;font-size:22px}
.fc-dropzone strong{font-size:16px}.fc-dropzone small{font-size:11px}
.fc-form-grid{gap:11px 14px;margin-top:14px}
.fc-form-grid label{gap:5px}.fc-form-grid select,.fc-form-grid input[type=number]{min-height:38px;padding:7px 10px;font-size:13px}
.fc-form-grid input[type=range]{margin-top:8px}.fc-form-grid output{bottom:6px}
.fc-convert-button{width:auto;min-width:150px;min-height:40px;margin:16px auto 0;padding:8px 24px;font-size:14px;font-weight:750!important}
.fc-privacy-note{margin-top:10px}
.fc-side{gap:14px}.fc-side article{padding:20px}.fc-side h3{font-size:20px}.fc-side ul{gap:7px;font-size:12px}
.fc-inline-resize-guide{margin-top:13px;border:1px solid #d6e3ef;border-radius:10px;background:#f7fbff}
.fc-inline-resize-guide h3{margin:0;padding:10px 13px;color:#0b4772;font-size:13px;font-weight:750}
.fc-inline-resize-guide>p{margin:0;padding:0 13px 8px;color:#5d7085;font-size:11px;line-height:1.5}
.fc-inline-resize-guide .fc-resize-table-wrap{margin:0 12px 8px;border-radius:8px}
.fc-inline-resize-guide .fc-resize-table{min-width:540px}
.fc-inline-resize-guide .fc-resize-table th,.fc-inline-resize-guide .fc-resize-table td{padding:7px 9px;font-size:10px}
.fc-inline-resize-guide>small{display:block;padding:0 13px 10px;color:#64748b;font-size:10px}
.fc-pro-features{padding:58px 0 70px;background:#fff}
.fc-pro-features>div>header{max-width:720px;margin:0 auto 30px;text-align:center}
.fc-pro-features h2{margin:7px 0 8px;color:var(--navy);font-size:clamp(28px,3.2vw,42px)}
.fc-pro-features header p{margin:0;color:#60758a;font-size:14px;line-height:1.6}
.fc-pro-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.fc-pro-feature-grid article{padding:21px;border:1px solid #d8e5f0;border-radius:14px;background:linear-gradient(145deg,#fff,#f5faff);box-shadow:0 9px 24px rgba(22,64,101,.06)}
.fc-pro-feature-grid b{display:inline-grid;min-width:42px;height:34px;padding:0 9px;place-items:center;border-radius:9px;background:#e7f2ff;color:#176bd1;font-size:15px}
.fc-pro-feature-grid h3{margin:13px 0 6px;color:var(--navy);font-size:17px}.fc-pro-feature-grid p{margin:0;color:#60758a;font-size:12px;line-height:1.55}
@media(max-width:1100px){
  .fc-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(370px,1.08fr);gap:24px}
  .fc-hero-side{grid-template-columns:minmax(210px,1fr) 160px}.fc-hero-side figure{height:165px}
  .fc-workspace-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr)}
}
@media(max-width:900px){
  .fc-hero-grid{grid-template-columns:1fr}.fc-hero-side{grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr)}
  .fc-workspace-grid{grid-template-columns:1fr}.fc-side{grid-template-columns:1fr 1fr}
  .fc-pro-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .fc-hero{padding:25px 0}.fc-hero-grid{gap:18px}.fc-hero h1{font-size:35px}
  .fc-hero-side{grid-template-columns:1fr}.fc-hero-side figure{height:155px}.fc-hero .fc-trust-row{grid-template-columns:1fr}
  .fc-workspace{padding:24px 0 42px}.fc-converter-card{padding:18px 14px}.fc-dropzone{min-height:135px}
  .fc-form-grid,.fc-side,.fc-pro-feature-grid{grid-template-columns:1fr}.fc-inline-resize-guide h3{font-size:12px}
  .fc-pro-features{padding:45px 0 54px}
}

/* Converter refinement v49: remove the redundant payment promotion and
   present the resize examples as a polished, easy-to-scan guide. */
.fc-payment-section{display:none!important}
.fc-resize-guide-card{position:relative;overflow:hidden;padding:clamp(25px,4vw,42px);border-color:#cfdeec;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#f7fbff 100%);box-shadow:0 16px 38px rgba(22,64,101,.09)}
.fc-resize-guide-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#176bd1,#22a7c7,#ff8a2b)}
.fc-resize-guide-card .eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eaf3ff;color:#176bd1}
.fc-resize-guide-card h2{margin-top:12px}
.fc-resize-table-wrap{margin-top:26px;border:1px solid #d6e3ef;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(20,64,103,.06)}
.fc-resize-table{border-collapse:separate;border-spacing:0}
.fc-resize-table th,.fc-resize-table td{padding:14px 17px}
.fc-resize-table th{background:linear-gradient(100deg,#0c3558,#10517d);letter-spacing:.05em}
.fc-resize-table th:first-child{border-radius:11px 0 0}
.fc-resize-table th:last-child{border-radius:0 11px 0 0}
.fc-resize-table th:nth-child(n+2),.fc-resize-table td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.fc-resize-table td:last-child{color:#0b4772;font-weight:800}
.fc-resize-table tbody tr:nth-child(even){background:#f2f7fc}
.fc-resize-table tbody tr:last-child td{border-bottom:0}
.fc-resize-table tbody tr:hover{background:#eaf4fd}
.fc-resize-note{display:flex;gap:8px;align-items:flex-start;margin-top:18px;padding:12px 14px;border-left:3px solid #2478de;border-radius:0 8px 8px 0;background:#eef6ff}
.fc-resize-note::before{content:"i";display:grid;flex:0 0 19px;width:19px;height:19px;place-items:center;border-radius:50%;background:#2478de;color:#fff;font-weight:800;line-height:1}

/* v50: keep dark table headings readable and use a friendlier, non-bold
   weight consistently for controls across the public website. */
.fc-resize-table thead th{color:#fff!important;font-weight:600!important}
:where(button,input[type="submit"],input[type="button"],input[type="reset"],.btn,.button,[role="button"],[class$="-button"],[class*="-button "],a[class$="-cta"],a[class*="-cta "]){font-weight:500!important}

/* v51: subtle colour for File Tools cards and an interactive enhancer preview. */
.fta-page-heading{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.fta-card{position:relative;overflow:hidden;border-color:#cfdfed;background:linear-gradient(145deg,#fff 0%,#f8fbfe 100%)}
.fta-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#176bd1,#27a4c4,#ff8a2b)}
.fta-stat-grid .fta-stat:nth-child(1){border-color:#cfe0f6;background:#edf5ff}
.fta-stat-grid .fta-stat:nth-child(2){border-color:#caeadc;background:#eefaf5}
.fta-stat-grid .fta-stat:nth-child(3){border-color:#f2ddbc;background:#fff7e9}
.fta-tool-grid .fta-tool:nth-child(1){border-color:#cfe0f6;background:linear-gradient(145deg,#fff,#edf5ff)}
.fta-tool-grid .fta-tool:nth-child(2){border-color:#caeadc;background:linear-gradient(145deg,#fff,#eefaf5)}
.fta-enhancer-card{background:linear-gradient(145deg,#fff 0%,#f4fbf8 100%)}
.fta-enhancer-grid{align-items:stretch;margin-top:15px}
.fta-live-preview{position:relative;overflow:hidden;min-height:460px;border-color:#62a5e9;background:linear-gradient(145deg,#f4f9ff,#eaf5ff)}
.fta-live-preview input[type="file"]{position:absolute;width:1px;height:1px;opacity:0}
.fta-preview-icon{display:grid;width:54px;height:54px;margin:0 auto 14px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#2478de,#0d579f);color:#fff;font-size:26px;box-shadow:0 9px 20px rgba(36,120,222,.22)}
.fta-live-preview .fta-prompt{display:grid;gap:4px}
.fta-preview-stage{display:none;width:100%;height:100%;min-height:400px;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:repeating-conic-gradient(#edf3f8 0 25%,#fff 0 50%) 50%/22px 22px}
.fta-live-preview.has-image{padding:18px}
.fta-live-preview.has-image .fta-preview-stage{display:flex}
.fta-live-preview .fta-preview{display:block;max-width:88%;max-height:370px;object-fit:contain;transition:filter .16s ease,transform .2s ease;transform-origin:center}
.fta-live-badge{display:none;position:absolute;top:16px;left:16px;padding:6px 9px;border-radius:999px;background:#0b6d53;color:#fff;font-size:10px;font-weight:600;letter-spacing:.08em;box-shadow:0 5px 13px rgba(11,109,83,.2)}
.fta-live-preview.has-image .fta-live-badge,.fta-live-preview.has-image .fta-preview-caption{display:inline-flex}
.fta-preview-caption{display:none;position:absolute;right:15px;bottom:13px;max-width:70%;overflow:hidden;padding:5px 8px;border-radius:6px;background:rgba(7,31,56,.78);color:#fff;text-overflow:ellipsis;white-space:nowrap}
.fta-control-card{align-self:stretch;padding:20px;border:1px solid #d5e4ef;border-radius:16px;background:linear-gradient(145deg,#fff,#f1f8f5);box-shadow:0 9px 22px rgba(20,72,67,.06)}
.fta-control-card output{float:right;color:#176bd1;font-size:11px;font-weight:500}
.fta-effect-checks{display:flex;gap:18px;margin:15px 0;padding:13px;border:1px solid #d7e7e0;border-radius:10px;background:#f3faf7}
.fta-effect-checks label{display:flex;gap:7px;align-items:center;font-weight:500}.fta-effect-checks input{width:auto}
.fta-sharpen-note{margin:0 0 15px;padding:10px 12px;border-left:3px solid #ed8a24;background:#fff7e9;color:#705132;font-size:11px;line-height:1.5}
@media(max-width:760px){.fta-live-preview{min-height:330px}.fta-preview-stage{min-height:285px}.fta-live-preview .fta-preview{max-height:270px}.fta-control-card{padding:15px}}

/* v52: compact status/check controls, explained presets, tonal controls and result actions. */
.fta-page-heading,.fta-card>div:first-child[style*="display:flex"]{align-items:flex-start}
.fta-page-heading>.fta-status,.fta-card>div:first-child>.fta-status{flex:0 0 auto;align-self:flex-start;min-height:0}
.fta-effect-checks input[type="checkbox"]{appearance:auto;width:16px!important;height:16px!important;min-height:0!important;margin:0;padding:0;border:0;border-radius:3px;accent-color:#1672cf}
.fta-field-help{display:block;min-height:30px;margin-top:2px;color:#698094;font-size:10px;font-weight:400;line-height:1.4}
.fta-control-actions,.fta-result-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fta-button-secondary{border:1px solid #b9cde0;background:#fff;color:#155b9f}
.fta-button-danger{background:#c84252;color:#fff}
.fta-result-actions form{margin:0}.fta-result-actions form .fta-button{margin:0}
.fta-filter-defs{position:absolute;width:0;height:0;overflow:hidden}
@media(max-width:760px){.fta-control-actions .fta-button,.fta-result-actions .fta-button{width:auto;margin-left:0;margin-right:0}}
.fta-cap-ok{background:#e9f8f1;color:#116647}.fta-cap-missing{background:#fff2e4;color:#9a5314}.fta-server-summary{display:grid;gap:5px;margin-top:20px;padding:16px;border-left:4px solid}.fta-server-summary.is-ready{border-color:#16895a;background:#ecfaf3;color:#11603f}.fta-server-summary.is-limited{border-color:#e48a28;background:#fff6e9;color:#754b20}.fta-server-summary span{font-size:12px;line-height:1.5}

/* v53: compact File Tools workspace header and actions. */
.fta-page{padding-top:14px}
.fta-nav{align-items:center;margin-bottom:10px;padding-top:8px;padding-bottom:8px}
.fta-nav-context{display:flex;gap:9px;align-items:center;margin-left:auto;padding-left:16px;border-left:1px solid #d7e4ef;color:#365a78;white-space:nowrap}
.fta-nav-context strong{font-size:12px;font-weight:500}.fta-nav-context small{padding:5px 8px;border-radius:999px;background:#eaf3ff;color:#075db7;font-size:10px;font-weight:500}
.fta-enhancer-card>.fta-page-heading,.fta-card:has(#batch-drop)>div:first-child{display:none}
.fta-enhancer-grid{margin-top:0}
.fta-control-actions{flex-wrap:nowrap;gap:8px}.fta-control-actions .fta-button{min-height:37px;padding:7px 12px;font-size:11.5px;white-space:nowrap}
@media(max-width:1000px){.fta-nav-context{order:2;flex-basis:100%;margin-left:0;padding:7px 5px 0;border-left:0;border-top:1px solid #e1e9f1;white-space:normal}}
@media(max-width:420px){.fta-control-actions{flex-wrap:wrap}}

/* Landing-page File Tools feature */
.home-file-tools{background:linear-gradient(135deg,#071f38,#0b4d73 65%,#087c88);color:#fff}.home-file-tools-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:58px;align-items:center}.home-file-tools .eyebrow{color:#81d9ff}.home-file-tools .section-title{max-width:780px;color:#fff}.home-file-tools p{max-width:720px;color:#d8eaf5;font-size:17px;line-height:1.7}.home-file-tool-points{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.home-file-tool-points span{padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:750}.home-file-tools-cta{display:inline-flex!important;width:auto!important;border-radius:999px!important}.home-file-tools-visual{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;padding:40px;border:1px solid rgba(255,255,255,.22);border-radius:28px;background:rgba(255,255,255,.09);box-shadow:0 24px 50px rgba(0,0,0,.16)}.home-file-tools-visual span{display:grid;aspect-ratio:1;place-items:center;border-radius:22px;background:#fff;color:#0b4772;font-size:19px;font-weight:900;box-shadow:inset 0 -4px 0 #ff8a2b}.home-file-tools-visual b{color:#ffbc75;font-size:27px}.home-file-tools-visual small{grid-column:1/-1;margin-top:9px;color:#cce7f5;text-align:center;font-size:10px;font-weight:800;letter-spacing:.12em}
@media(max-width:850px){.home-file-tools-grid{grid-template-columns:1fr;gap:30px}.home-file-tools-visual{max-width:520px;padding:28px}}

/* Standalone website File Tools accounts */
.fta-page{min-height:70vh;padding:42px 0 70px;background:#f2f7fc}.fta-shell{max-width:1120px}.fta-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:10px;border:1px solid #d7e4ef;background:#fff}.fta-nav a,.fta-pill-link{display:inline-flex;align-items:center;padding:9px 15px;border-radius:999px;color:#0b5dad;text-decoration:none;font-size:13px;font-weight:500}.fta-nav a:hover,.fta-pill-link:hover{background:#eaf3ff}.fta-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.fta-card{padding:clamp(20px,3vw,32px);border:1px solid #d7e4ef;background:#fff;box-shadow:0 10px 28px rgba(18,58,92,.07)}.fta-card h1,.fta-card h2,.fta-card h3{color:#0b2c4d}.fta-form{display:grid;gap:14px}.fta-form label{display:grid;gap:6px;color:#294762;font-size:12px;font-weight:600}.fta-form input,.fta-form select{width:100%;min-height:45px;padding:10px 12px;border:1px solid #c9d8e6;border-radius:10px;font:inherit}.fta-button{display:inline-flex;width:max-content;min-height:44px;align-items:center;justify-content:center;padding:10px 22px;border:0;border-radius:999px;background:#1269c7;color:#fff;font:inherit;font-weight:500;text-decoration:none;cursor:pointer}.fta-button.green{background:#118653}.fta-button.orange{background:#ed7c19}.fta-message{margin-bottom:16px;padding:13px 15px;border-left:4px solid}.fta-message.error{border-color:#c93650;background:#fff0f3;color:#8d2437}.fta-message.success{border-color:#16895a;background:#ecfaf3;color:#11603f}.fta-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fta-stat{padding:17px;border:1px solid #dce7f0;background:#f7fafd}.fta-stat small{display:block;color:#6c7e90}.fta-stat strong{display:block;margin-top:4px;color:#0b2c4d;font-size:22px}.fta-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.fta-tool{padding:22px;border:1px solid #d6e3ee;background:linear-gradient(145deg,#fff,#f3f8fd)}.fta-drop{display:grid;min-height:230px;place-items:center;padding:24px;border:2px dashed #78ace0;border-radius:16px;background:#f3f9ff;text-align:center;cursor:pointer}.fta-preview{display:none;max-width:100%;max-height:260px}.fta-drop.has-image .fta-preview{display:block}.fta-drop.has-image .fta-prompt{display:none}.fta-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.fta-result{display:grid;grid-template-columns:minmax(180px,.65fr) 1.35fr;gap:18px;align-items:center;margin-top:20px;padding:17px;border:1px solid #c8e8d9;background:#effaf5}.fta-result img{display:block;max-width:100%;max-height:260px;margin:auto}.fta-result-preview{display:grid;min-height:180px;place-items:center;background:#fff}.fta-table{width:100%;border-collapse:collapse;font-size:13px}.fta-table th,.fta-table td{padding:11px;border-bottom:1px solid #dfe8f0;text-align:left}.fta-muted{color:#65798c;font-size:13px;line-height:1.65}.fta-benefits{display:grid;gap:9px;margin:17px 0}.fta-benefits span{padding:10px 12px;background:#f5f9fd;color:#36516a}.fta-status{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eaf3ff;color:#075db7;font-size:11px;font-weight:600}@media(max-width:760px){.fta-page{padding-top:20px}.fta-grid,.fta-tool-grid,.fta-result{grid-template-columns:1fr}.fta-stat-grid{grid-template-columns:1fr 1fr}.fta-controls{grid-template-columns:1fr}.fta-button{width:calc(100% - 28px);margin-left:14px;margin-right:14px}.fta-nav{overflow-x:auto;flex-wrap:nowrap}.fta-nav a{white-space:nowrap}}

/* File Tools administration and WhatsApp payments */
.fta-admin-nav a.active{background:#0b5dad;color:#fff}.fta-review-form{display:flex;gap:7px;align-items:center;min-width:430px}.fta-review-form input{min-height:42px;padding:8px 10px;border:1px solid #c9d8e6;border-radius:10px}.fta-credential-card{margin-bottom:20px;border-color:#f0b24b;background:#fff9ec}.fta-credential-card code{display:inline-block;padding:4px 8px;border-radius:6px;background:#102f50;color:#fff;font-size:15px;letter-spacing:.04em}
@media(max-width:760px){.fta-review-form{min-width:360px}.fta-review-form .fta-button{width:auto;margin:0}.fta-credential-card code{overflow-wrap:anywhere}}
.fta-password-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:13px 15px;border:1px solid #d8e5ef;border-radius:10px;background:#f5f9fd;color:#526b81;font-size:12px;line-height:1.45}.fta-password-rules strong{grid-column:1/-1;color:#173b5e}.fta-password-rules span::before{content:'✓';margin-right:6px;color:#118653;font-weight:700}@media(max-width:520px){.fta-password-rules{grid-template-columns:1fr}}

/* v46: conversion-focused customer sign-in, registration and workspace */
.ftx-auth-page{position:relative;overflow:hidden;padding:54px 0 78px;background:radial-gradient(circle at 8% 12%,rgba(31,121,236,.13),transparent 28%),radial-gradient(circle at 92% 84%,rgba(255,138,43,.11),transparent 25%),#f2f7fc}
.ftx-auth-container{max-width:1120px}.ftx-auth-shell{display:grid;grid-template-columns:minmax(330px,.86fr) minmax(440px,1.14fr);overflow:hidden;border:1px solid #cdddea;border-radius:26px;background:#fff;box-shadow:0 26px 70px rgba(8,43,74,.13)}
.ftx-auth-story{position:relative;overflow:hidden;display:flex;min-height:600px;flex-direction:column;padding:clamp(32px,5vw,58px);background:radial-gradient(circle at 88% 14%,rgba(44,194,221,.32),transparent 28%),linear-gradient(145deg,#071f3b,#0b4c78 63%,#087d89);color:#fff}
.ftx-auth-story::after{content:"";position:absolute;right:-150px;bottom:-190px;width:430px;height:430px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 60px rgba(255,255,255,.025)}
.ftx-kicker{position:relative;z-index:1;color:#82dcff;font-size:11px;font-weight:800;letter-spacing:.14em}.ftx-auth-story h1{position:relative;z-index:1;margin:14px 0 16px;color:#fff;font-size:clamp(38px,4.3vw,58px);line-height:1.04;letter-spacing:-.035em}.ftx-auth-story>p{position:relative;z-index:1;max-width:470px;margin:0;color:#d9ecf7;font-size:15px;line-height:1.7}
.ftx-format-demo{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;margin:38px 0 30px;padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:rgba(255,255,255,.09);box-shadow:0 18px 40px rgba(0,0,0,.13);backdrop-filter:blur(8px)}.ftx-format-demo span{display:grid;min-height:84px;place-items:center;border-radius:19px;background:#fff;color:#0a436b;font-size:18px;font-weight:800;box-shadow:inset 0 -4px 0 #ff8a2b}.ftx-format-demo b{color:#ffc07d;font-size:25px;font-weight:500}
.ftx-trust-list{position:relative;z-index:1;display:grid;gap:10px;margin-top:auto;color:#dbedf7;font-size:12px}.ftx-trust-list span{display:flex;align-items:center;gap:7px}.ftx-auth-form-panel{align-self:center;padding:clamp(30px,5vw,62px)}.ftx-auth-form-panel h2{margin:8px 0 8px;color:#092d50;font-size:clamp(30px,3vw,42px);line-height:1.12}.ftx-auth-form-panel>.fta-muted{margin:0 0 25px;font-size:14px}.ftx-auth-form-panel .fta-form{gap:16px}.ftx-auth-form-panel .fta-form label{font-size:12px}.ftx-auth-form-panel .fta-form input{min-height:50px;padding:12px 14px;border-color:#c7d8e7;border-radius:12px;background:#fbfdff;transition:border-color .2s,box-shadow .2s}.ftx-auth-form-panel .fta-form input:focus{outline:0;border-color:#2278dc;box-shadow:0 0 0 4px rgba(34,120,220,.11)}.ftx-auth-form-panel .fta-button{min-height:48px;margin-top:3px;padding:11px 28px;background:linear-gradient(95deg,#1e78e5,#0c5ba9);box-shadow:0 10px 22px rgba(18,105,199,.2);font-weight:500;transition:transform .2s,box-shadow .2s}.ftx-auth-form-panel .fta-button:hover{transform:translateY(-2px);box-shadow:0 14px 27px rgba(18,105,199,.27)}.ftx-auth-switch{margin:23px 0 0;color:#63788b;font-size:13px}.ftx-auth-switch a{color:#0868ca;text-decoration:none;font-weight:600}
.ftx-mini-tools{position:relative;z-index:1;display:grid;gap:9px;margin:31px 0}.ftx-mini-tools span{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.08);color:#e8f5fb;font-size:13px}.ftx-mini-tools b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#fff;color:#1269c7;font-size:10px}.ftx-register-shell .ftx-auth-story{min-height:680px}.ftx-register-shell .ftx-auth-form-panel{padding-top:38px;padding-bottom:38px}.ftx-shield{position:relative;z-index:1;display:grid;width:112px;height:126px;margin:42px auto 28px;place-items:center;border:2px solid rgba(255,255,255,.6);border-radius:55px 55px 62px 62px;background:rgba(255,255,255,.1);clip-path:polygon(50% 0,96% 18%,88% 76%,50% 100%,12% 76%,4% 18%)}.ftx-shield span{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#fff;color:#13885a;font-size:25px}
.ftx-workspace-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:42px;align-items:center;margin-bottom:20px;padding:clamp(30px,5vw,52px);border-radius:24px;background:radial-gradient(circle at 88% 10%,rgba(38,190,219,.31),transparent 29%),linear-gradient(125deg,#071f3b,#0b4c78 62%,#087d89);box-shadow:0 18px 42px rgba(8,46,80,.15);color:#fff}.ftx-workspace-hero::after{content:"";position:absolute;left:15%;right:-12%;bottom:-115px;height:170px;border:1px solid rgba(255,255,255,.13);border-radius:50%}.ftx-workspace-copy{position:relative;z-index:1}.ftx-workspace-copy h1{margin:10px 0 10px;color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.08}.ftx-workspace-copy>p{max-width:560px;margin:0;color:#d8ecf7;font-size:15px}.ftx-hero-actions,.ftx-plan-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}.ftx-button-light{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.1);box-shadow:none}.ftx-workspace-demo{margin:0}.ftx-workspace-demo small{grid-column:1/-1;color:#d8ecf7;font-size:9px;font-weight:700;letter-spacing:.14em;text-align:center}.ftx-workspace-card{border-radius:20px}.ftx-workspace-card .fta-stat{border-radius:14px;background:linear-gradient(145deg,#fff,#f1f7fd)}.ftx-plan-message{margin-top:20px}.ftx-plan-actions{margin-bottom:22px}.ftx-tool-grid{gap:18px}.ftx-tool-card{position:relative;overflow:hidden;padding:27px;border-radius:18px;transition:transform .2s,box-shadow .2s}.ftx-tool-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(14,71,117,.11)}.ftx-tool-icon{display:grid;width:46px;height:46px;margin-bottom:20px;place-items:center;border-radius:14px;background:linear-gradient(145deg,#247ce1,#0c579f);color:#fff;font-size:22px;box-shadow:0 8px 18px rgba(36,124,225,.2)}.ftx-enhancer-card .ftx-tool-icon{background:linear-gradient(145deg,#19a16a,#0b7650)}.ftx-tool-card h2{margin:8px 0}.ftx-tool-card ul{display:grid;gap:8px;margin:18px 0 22px;padding:0;list-style:none;color:#4e667c;font-size:12px}.ftx-tool-card li::before{content:"✓";margin-right:8px;color:#16895a;font-weight:700}.ftx-history-card{margin-top:20px;border-radius:20px}
@media(max-width:900px){.ftx-auth-shell,.ftx-workspace-hero{grid-template-columns:1fr}.ftx-auth-story{min-height:0;padding:38px}.ftx-register-shell .ftx-auth-story{min-height:0}.ftx-auth-story h1 br{display:none}.ftx-format-demo{max-width:470px}.ftx-trust-list{margin-top:24px}.ftx-workspace-demo{max-width:480px;width:100%}}
@media(max-width:600px){.ftx-auth-page{padding:20px 0 45px}.ftx-auth-container{width:calc(100% - 24px)}.ftx-auth-shell{border-radius:18px}.ftx-auth-story{padding:30px 22px}.ftx-auth-story h1{font-size:36px}.ftx-auth-story>p{font-size:14px}.ftx-format-demo{margin:25px 0 20px;padding:16px}.ftx-format-demo span{min-height:66px;font-size:15px}.ftx-auth-form-panel{padding:30px 22px}.ftx-auth-form-panel .fta-button{width:100%;margin-left:0;margin-right:0}.ftx-workspace-hero{padding:27px 21px;border-radius:18px}.ftx-hero-actions .fta-button,.ftx-plan-actions .fta-button{width:100%;margin:0}.ftx-workspace-demo{padding:16px}.ftx-workspace-card{padding:18px}.ftx-tool-card{padding:21px}.ftx-tool-grid{grid-template-columns:1fr}}
.fta-paypal-card{margin:26px 0;padding:22px;border:1px solid #bcd6f2;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#eef6ff)}.fta-paypal-card h2{margin:7px 0}.fta-paypal-card #ft-paypal-buttons{max-width:430px;margin-top:18px}.fta-paypal-card #ft-paypal-message{max-width:430px;margin-top:9px}.fta-paypal-card .fta-message{padding:10px 12px}
.fta-active-plan{border-radius:20px}.fta-active-plan>h1{margin-bottom:8px}.fta-active-plan>.fta-message{margin-top:22px}.fta-active-plan .fta-stat-grid{margin-top:20px}

/* v54: final cascade overrides for compact tool navigation and equal controls. */
.fta-page{padding-top:7px}
.fta-nav{margin-bottom:8px;padding:7px 9px}
.fta-nav>a{padding:7px 13px;border:1px solid transparent;background:#eef4fa;color:#174d7b}
.fta-nav>a:nth-child(1){border-color:#c9dcf1;background:#eaf3ff;color:#075db7}
.fta-nav>a:nth-child(2){border-color:#bfd9f5;background:#e4f1ff;color:#075fb8}
.fta-nav>a:nth-child(3){border-color:#bfe4d4;background:#e9f8f1;color:#0c704c}
.fta-nav>a:nth-child(4){border-color:#f0d5ae;background:#fff3e2;color:#9a5518}
.fta-nav>a:nth-child(5){border-color:#d7e0e8;background:#f3f6f8;color:#4d6173}
.fta-nav>a:hover{filter:brightness(.97);transform:translateY(-1px)}
.fta-controls>label{align-content:start}
.fta-control-card .fta-controls select{height:45px;min-height:45px;max-height:45px}
.fta-field-help{min-height:28px}
@media(max-width:760px){.fta-page{padding-top:7px}.fta-nav{margin-bottom:8px}}

/* v55: compact landing navigation and a distinct image-tools destination. */
@media(min-width:901px){
  .site-header .nav-wrap{min-height:92px!important;padding-top:4px!important;padding-bottom:4px!important}
  .site-header .brand-logo{max-height:54px}
  .site-header .main-nav{gap:7px!important}
  .site-header .main-nav>a:not(.nav-image-tools){padding-left:8px!important;padding-right:8px!important}
  .site-header .nav-action-stack{min-width:300px}
  .site-header .nav-action-stack .nav-login-btn{min-height:32px!important;padding-top:6px!important;padding-bottom:6px!important}
}
.site-header .main-nav>a.nav-image-tools{position:relative;display:inline-flex;align-items:center;justify-content:center;max-width:142px;min-height:39px;margin-left:7px;padding:6px 12px!important;border:1px solid rgba(114,211,225,.62);border-radius:12px;background:linear-gradient(135deg,#0c659f,#0b8a82);box-shadow:0 7px 17px rgba(4,47,85,.22);color:#fff!important;font-size:11px;font-weight:500;line-height:1.2;text-align:center}
.site-header .main-nav>a.nav-image-tools::before{content:"";position:absolute;top:5px;bottom:5px;left:-8px;width:1px;background:rgba(255,255,255,.3)}
.site-header .main-nav>a.nav-image-tools:hover{background:linear-gradient(135deg,#0b75b8,#0a9b8f);color:#fff!important;transform:translateY(-1px)}
.hero-cinematic{margin-top:2px!important;border-top:2px solid rgba(99,181,220,.38)}
html{scroll-padding-top:124px}
main #products,main #apps,main #file-tools,main #model-papers,main #about,main #faq,main #contact-strip{scroll-margin-top:124px!important}
@media(max-width:900px){
  .site-header .nav-wrap{min-height:76px!important}
  .site-header .main-nav{top:75px!important}
  .site-header .main-nav>a.nav-image-tools{width:100%;max-width:none;margin:4px 0;padding:10px 14px!important}
  .site-header .main-nav>a.nav-image-tools::before{display:none}
  .hero-cinematic{margin-top:2px!important}
  html{scroll-padding-top:96px}
  main #products,main #apps,main #file-tools,main #model-papers,main #about,main #faq,main #contact-strip{scroll-margin-top:96px!important}
}

/* v56 FINAL CASCADE: homepage navigation, hero, anchors, contact and footer. */
@media (hover:hover) and (pointer:fine){
  .site-header .main-nav>a:not(.nav-image-tools):not(.nav-login-btn):hover{color:#082b58!important;background:linear-gradient(180deg,#ffd166,#ffc439)!important;box-shadow:0 7px 18px rgba(255,196,57,.24)!important}
  .site-header .main-nav>a.nav-image-tools:hover{color:#082b58!important;border-color:#ffd875;background:linear-gradient(180deg,#ffd166,#ffc439)!important;box-shadow:0 8px 20px rgba(255,196,57,.27)}
}
@media(min-width:1051px){
  .hero-cinematic .hero-wide{height:450px!important;min-height:450px!important}
  .hero-cinematic .hero-heading{top:36px!important}
  .hero-cinematic .hero-heading h1{font-size:clamp(42px,3.45vw,54px)!important;line-height:1.06!important}
  .hero-cinematic .hero-copy{top:226px!important}
  .hero-cinematic .hero-copy>p{font-size:16px!important;line-height:1.62!important}
  .hero-cinematic .hero-media{height:450px!important;min-height:450px!important}
  .hero-cinematic .hero-media-actions{top:376px!important}
}
@media(min-width:821px) and (max-width:1050px){
  .hero-cinematic .hero-wide{height:470px!important;min-height:470px!important}
  .hero-cinematic .hero-heading h1{font-size:clamp(40px,5vw,52px)!important}
  .hero-cinematic .hero-copy{top:235px!important}
  .hero-cinematic .hero-media{height:470px!important;min-height:470px!important}
  .hero-cinematic .hero-media-actions{top:386px!important}
}
html{scroll-padding-top:150px}
main #products,main #apps,main #model-papers,main #file-tools,main #about,main #faq,main #contact-strip{scroll-margin-top:150px!important}
.about-section-title{max-width:820px!important;margin-left:0!important;margin-right:0!important;text-align:left!important}
.about-section-title .eyebrow{color:#0b82a8!important}
.contact-strip-phones{gap:9px}
.contact-strip-phones a{min-width:132px;padding:9px 13px;border:1px solid rgba(255,190,92,.72);border-radius:11px;background:linear-gradient(135deg,rgba(5,35,72,.94),rgba(10,82,126,.9));color:#fff!important;box-shadow:0 8px 18px rgba(1,22,45,.18),inset 3px 0 0 #ffb34f;font-weight:500;text-align:center}
.contact-strip-phones a:hover{border-color:#ffd18c;background:linear-gradient(135deg,#0a4076,#0a7590);color:#ffd18c!important;transform:translateY(-1px)}
.contact-strip-direct{margin-left:20px;padding:22px!important;border:1px solid rgba(255,190,92,.58);border-radius:16px;background:linear-gradient(145deg,rgba(5,34,69,.9),rgba(12,72,111,.82));box-shadow:0 14px 28px rgba(1,20,43,.2),inset 4px 0 0 #ffad42}
.contact-strip-direct strong{color:#ffbd68}.contact-strip-direct span{color:#fff}.contact-strip-direct .contact-direct-email{color:#ffd08c;border-bottom-color:rgba(255,208,140,.7)}
.site-footer .footer-payment-strip{width:min(var(--site-content-width),calc(100% - (var(--site-gutter) * 2)))!important;flex-wrap:nowrap!important}
.site-footer .footer-paypal-wordmark{margin-left:auto!important;text-align:right}
.back-to-top{right:18px;bottom:10px;width:42px;height:42px}.back-to-top svg{width:20px;height:20px}
@media(max-width:900px){html{scroll-padding-top:110px}main #products,main #apps,main #model-papers,main #file-tools,main #about,main #faq,main #contact-strip{scroll-margin-top:110px!important}.contact-strip-direct{margin-left:0}}
@media(max-width:700px){.site-footer .footer-payment-strip{flex-wrap:wrap!important}.site-footer .footer-paypal-wordmark{margin-left:auto!important}}
@media(max-width:600px){.back-to-top{right:12px;bottom:8px;width:40px;height:40px}.back-to-top svg{width:19px;height:19px}.contact-strip-phones a{min-width:calc(50% - 5px)}}

/* v57 FINAL: restore the upper contact strip, colour only the contact cards,
   strengthen anchor breathing room and equalise hero/image height. */
.contact-strip-phones{gap:8px}
.contact-strip-phones a{min-width:0;padding:6px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.07);box-shadow:none;color:#fff!important;font-weight:inherit;text-align:initial;transform:none}
.contact-strip-phones a:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.13);color:#fff!important;transform:none}
.contact-strip-direct{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:8px;margin-left:0;padding:0 0 0 34px!important;border:0;border-radius:0;background:none;box-shadow:none}
.contact-strip-direct strong{color:inherit}.contact-strip-direct span{color:#d6e5f5}.contact-strip-direct .contact-direct-email{color:#fff;border-bottom-color:rgba(255,255,255,.58)}

/* Flat contact choices shown beside the message form: colour only, no borders. */
.compact-contact-numbers .contact-card{border:0!important;box-shadow:none!important;color:#fff!important}
.compact-contact-numbers .contact-card:hover{box-shadow:none!important;transform:translateY(-2px)}
.compact-contact-numbers .contact-card:nth-child(1){background:#1268b3!important}
.compact-contact-numbers .contact-card:nth-child(2){background:#087d76!important}
.compact-contact-numbers .contact-card:nth-child(3){background:#0c567f!important}
.compact-contact-numbers .contact-card:nth-child(4){background:#173f70!important}
.compact-contact-numbers .contact-card>span{color:#ffd08a!important}
.compact-contact-numbers .contact-card>strong{color:#fff!important}
.compact-contact-numbers .contact-card>em{color:#e7f4ff!important}
.compact-contact-numbers .contact-card.whatsapp::after{background:#f2a43a!important;color:#102f50!important}
.compact-contact-numbers .address-card{background:#12365f!important;border:0!important;box-shadow:none!important}
.compact-contact-numbers .address-card strong{color:#ffd08a!important}

/* The entire desktop hero and its image panel share one exact height. */
@media(min-width:1051px){
  .hero.hero-cinematic{height:450px!important;min-height:450px!important;padding:0!important;box-sizing:border-box}
  .hero-cinematic .hero-wide{height:100%!important;min-height:100%!important}
  .hero-cinematic .hero-media{top:0!important;bottom:0!important;height:100%!important;min-height:100%!important}
}
@media(min-width:821px) and (max-width:1050px){
  .hero.hero-cinematic{height:470px!important;min-height:470px!important;padding:0!important;box-sizing:border-box}
  .hero-cinematic .hero-wide{height:100%!important;min-height:100%!important}
  .hero-cinematic .hero-media{top:0!important;bottom:0!important;height:100%!important;min-height:100%!important}
}

/* Leave an unmistakable gap after the sticky menu on anchor navigation. */
html{scroll-padding-top:180px}
main #products,main #apps,main #model-papers,main #file-tools,main #about,main #faq,main #contact-strip,main #contact-form{scroll-margin-top:180px!important}
@media(max-width:900px){
  .contact-strip-direct{padding-left:18px!important}
  html{scroll-padding-top:125px}
  main #products,main #apps,main #model-papers,main #file-tools,main #about,main #faq,main #contact-strip,main #contact-form{scroll-margin-top:125px!important}
}
@media(max-width:600px){.contact-strip-phones a{min-width:0}}

/* v58 FINAL: true edge-to-edge hero media and international image-tools story. */
@media(min-width:821px){
  .hero.hero-cinematic,.hero-cinematic .hero-wide,.hero-cinematic .hero-media,.hero-cinematic .hero-media-slide,.hero-cinematic .hero-media-slide img{height:450px!important;min-height:450px!important;max-height:450px!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box!important}
  .hero-cinematic .hero-media{top:0!important;bottom:auto!important;align-self:stretch!important}
  .hero-cinematic .hero-media-slide{inset:0!important}
  .hero-cinematic .hero-media-slide img{display:block!important;width:100%!important;object-fit:cover!important}
}
.home-file-tools{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgba(44,190,210,.2),transparent 29%),linear-gradient(125deg,#061f39 0%,#0a4d73 58%,#087f88 100%)!important}
.home-file-tools::before{content:"";position:absolute;inset:auto -12% -190px 35%;height:330px;border-radius:50%;background:rgba(255,255,255,.045);transform:rotate(-5deg)}
.home-file-tools-grid{position:relative;z-index:1;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr)!important;gap:46px!important}
.home-file-tools-copy .section-title{font-size:clamp(38px,3.7vw,57px);line-height:1.04;letter-spacing:-.035em}
.home-file-tools-copy>p{font-size:16px;line-height:1.7}
.home-file-tools-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.home-file-tools-actions .home-file-tools-cta{margin:0!important;font-weight:500!important}
.home-file-tools-actions .enhancer{background:linear-gradient(95deg,#14a06c,#087550)!important;border-color:#1aa674!important}
.home-image-studio{position:relative;overflow:hidden;margin:0;border:0;border-radius:24px;background:#082e4a;box-shadow:0 24px 54px rgba(0,20,38,.28)}
.home-image-studio img{display:block;width:100%;height:390px;object-fit:cover}
.home-image-studio figcaption{display:flex;gap:7px;flex-wrap:wrap;position:absolute;left:16px;right:16px;bottom:15px}
.home-image-studio figcaption span{padding:7px 11px;border:0;border-radius:999px;background:rgba(5,29,53,.82);color:#fff;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
@media(max-width:1000px){.home-file-tools-grid{grid-template-columns:1fr!important}.home-image-studio{max-width:780px}.home-image-studio img{height:auto;aspect-ratio:3/2}}
@media(max-width:600px){.home-file-tools-actions{display:grid}.home-file-tools-actions .home-file-tools-cta{width:100%!important}.home-image-studio{border-radius:18px}.home-image-studio figcaption{position:static;padding:12px;background:#082e4a}.home-image-studio figcaption span{background:#0d496b}}

/* Image Studio login — portrait-led split layout */
.ftx-auth-page{padding:38px 0 68px;background:radial-gradient(circle at 8% 15%,rgba(31,121,236,.15),transparent 30%),radial-gradient(circle at 94% 84%,rgba(255,138,43,.10),transparent 27%),#f2f7fc}
.ftx-auth-container{max-width:1180px}
.ftx-auth-shell{grid-template-columns:minmax(480px,1.04fr) minmax(430px,.96fr);min-height:650px;border-color:#cbddeb;border-radius:28px;box-shadow:0 28px 75px rgba(7,39,70,.15)}
.ftx-auth-story{isolation:isolate;min-height:650px;padding:0;background:#092e4c}
.ftx-auth-story::after{display:none}
.ftx-auth-story::before{content:"";position:absolute;z-index:2;top:0;right:-1px;bottom:0;width:88px;background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,.92) 14%,rgba(255,255,255,.52) 43%,rgba(255,255,255,.14) 72%,transparent 100%);pointer-events:none}
.ftx-auth-portrait{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:49% center}
.ftx-auth-visual-copy{position:relative;z-index:3;display:flex;min-height:650px;flex-direction:column;justify-content:flex-end;padding:clamp(34px,5vw,58px) clamp(56px,6vw,76px) clamp(38px,5vw,58px) clamp(32px,4.5vw,52px);background:linear-gradient(180deg,rgba(3,22,39,.04) 25%,rgba(3,24,43,.62) 58%,rgba(3,27,48,.94) 100%)}
.ftx-auth-visual-copy .ftx-kicker{color:#8ce6ff;text-shadow:0 2px 14px rgba(0,0,0,.32)}
.ftx-auth-visual-copy h1{max-width:430px;margin:12px 0 12px;font-size:clamp(37px,4vw,56px);text-shadow:0 3px 22px rgba(0,0,0,.38)}
.ftx-auth-visual-copy>p{max-width:450px;color:#edf8ff;font-size:15px;line-height:1.65;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.ftx-auth-visual-copy .ftx-trust-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px;color:#edf8ff}
.ftx-auth-visual-copy .ftx-trust-list span{padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(4,35,58,.42);backdrop-filter:blur(8px);font-size:10px}
.ftx-auth-form-panel{position:relative;z-index:4;padding:clamp(36px,5vw,66px)}
.ftx-auth-form-panel h2{max-width:510px;font-size:clamp(31px,3vw,43px)}
.ftx-auth-form-panel>.fta-muted{max-width:500px;line-height:1.65}

@media(max-width:900px){
  .ftx-auth-shell{grid-template-columns:1fr;min-height:0}
  .ftx-auth-story,.ftx-auth-visual-copy{min-height:520px}
  .ftx-auth-story::before{top:auto;right:0;bottom:-1px;left:0;width:auto;height:66px;background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,.87) 17%,rgba(255,255,255,.34) 57%,transparent 100%)}
  .ftx-auth-portrait{object-position:center 38%}
  .ftx-auth-visual-copy{padding-right:42px;padding-bottom:55px}
}
@media(max-width:600px){
  .ftx-auth-page{padding-top:18px}
  .ftx-auth-story,.ftx-auth-visual-copy{min-height:460px}
  .ftx-auth-portrait{object-position:center center}
  .ftx-auth-visual-copy{padding:28px 34px 46px 22px}
  .ftx-auth-visual-copy h1{font-size:36px}
  .ftx-auth-visual-copy .ftx-trust-list span{font-size:9px}
}

/* Image Studio login — full-screen clean split */
.ftx-auth-page{
  min-height:calc(100vh - 92px);
  padding:0!important;
  background:#fff!important;
}
.ftx-auth-page .ftx-auth-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.ftx-auth-page .ftx-auth-shell{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  min-height:calc(100vh - 92px)!important;
  overflow:hidden;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.ftx-auth-page .ftx-auth-story,
.ftx-auth-page .ftx-auth-visual-copy{
  min-height:calc(100vh - 92px)!important;
}
.ftx-auth-page .ftx-auth-story::before{
  display:none!important;
}
.ftx-auth-page .ftx-auth-portrait{
  object-position:center center;
}
.ftx-portrait-compare{position:absolute;z-index:1;inset:0;overflow:hidden;background:#082d4b}
.ftx-portrait-compare .ftx-auth-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.ftx-portrait-before{filter:saturate(.66) brightness(.76) contrast(.94)}
.ftx-portrait-after-wrap{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 100% 0 0);animation:ftxAfterReveal 10s cubic-bezier(.65,0,.35,1) infinite}
.ftx-portrait-after{filter:saturate(1.12) brightness(1.06) contrast(1.06)}
.ftx-compare-divider{position:absolute;z-index:2;top:0;bottom:0;left:0;width:1px;background:rgba(255,255,255,.72);box-shadow:0 0 10px rgba(3,28,48,.25);animation:ftxCompareSlide 10s cubic-bezier(.65,0,.35,1) infinite}
.ftx-compare-divider i{position:absolute;top:32%;left:50%;display:grid;width:34px;height:34px;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(6,43,70,.62);box-shadow:0 5px 18px rgba(0,0,0,.22);color:#fff;font-size:14px;font-style:normal;backdrop-filter:blur(7px)}
.ftx-compare-label{position:absolute;z-index:2;top:24px;padding:7px 10px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(4,35,58,.5);color:#fff;font-size:9px;font-weight:800;letter-spacing:.13em;backdrop-filter:blur(7px)}
.ftx-before-label{left:24px}.ftx-after-label{right:24px}
.ftx-auth-story:hover .ftx-portrait-after-wrap,.ftx-auth-story:hover .ftx-compare-divider{animation-play-state:paused}
@keyframes ftxAfterReveal{0%,12%,100%{clip-path:inset(0 100% 0 0)}45%,62%{clip-path:inset(0 0 0 0)}92%{clip-path:inset(0 100% 0 0)}}
@keyframes ftxCompareSlide{0%,12%,100%{left:0}45%,62%{left:100%}92%{left:0}}
.ftx-auth-page .ftx-auth-visual-copy{
  padding-left:clamp(42px,5vw,88px);
  padding-right:clamp(42px,5vw,88px);
}
.ftx-auth-page .ftx-auth-form-panel{
  width:min(100%,660px);
  margin:auto;
  padding:clamp(42px,6vw,92px);
}
.ftx-auth-page + .site-footer,
.ftx-auth-page ~ .back-to-top{
  display:none!important;
}
body:has(.ftx-auth-page){
  overflow:hidden;
}

@media(max-width:900px){
  body:has(.ftx-auth-page){overflow:auto}
  .ftx-auth-page + .site-footer{display:block!important}
  .ftx-auth-page .ftx-auth-shell{grid-template-columns:1fr!important}
  .ftx-auth-page .ftx-auth-story,
  .ftx-auth-page .ftx-auth-visual-copy{min-height:560px!important}
  .ftx-auth-page .ftx-auth-form-panel{min-height:520px;display:flex;flex-direction:column;justify-content:center}
}
@media(max-width:600px){
  .ftx-auth-page .ftx-auth-story,
  .ftx-auth-page .ftx-auth-visual-copy{min-height:480px!important}
  .ftx-auth-page .ftx-auth-visual-copy{padding:30px 24px 42px}
  .ftx-auth-page .ftx-auth-form-panel{min-height:auto;padding:42px 24px 54px}
}
@media(prefers-reduced-motion:reduce){
  .ftx-portrait-after-wrap{animation:none;clip-path:inset(0 48% 0 0)}
  .ftx-compare-divider{animation:none;left:52%}
}

/* Image Studio login — compact laptop and short-screen refinement */
@media (min-width:901px) and (max-width:1450px),
       (min-width:901px) and (max-height:820px){
  .ftx-auth-page .ftx-auth-visual-copy{
    justify-content:flex-end;
    padding:28px 46px 34px clamp(36px,5vw,68px);
  }
  .ftx-auth-page .ftx-auth-visual-copy h1{
    max-width:390px;
    margin:8px 0 9px;
    font-size:clamp(34px,3.25vw,46px);
    line-height:1.02;
  }
  .ftx-auth-page .ftx-auth-visual-copy>p{
    max-width:430px;
    font-size:13px;
    line-height:1.5;
  }
  .ftx-auth-page .ftx-auth-visual-copy .ftx-trust-list{
    display:none;
  }
  .ftx-auth-page .ftx-kicker{
    font-size:10px;
  }
  .ftx-auth-page .ftx-auth-form-panel{
    width:min(100%,620px);
    padding:36px clamp(46px,6vw,82px);
  }
  .ftx-auth-page .ftx-auth-form-panel h2{
    max-width:520px;
    font-size:clamp(30px,3.15vw,42px);
    line-height:1.08;
  }
  .ftx-auth-page .ftx-auth-form-panel>.fta-muted{
    margin-bottom:19px;
    font-size:13px;
  }
  .ftx-auth-page .ftx-auth-form-panel .fta-form{
    gap:12px;
  }
  .ftx-auth-page .ftx-auth-form-panel .fta-form input{
    min-height:46px;
  }
  .ftx-auth-page .ftx-auth-switch{
    margin-top:17px;
  }
  .ftx-auth-page .ftx-compare-divider i{
    top:24%;
  }
  .ftx-auth-page .ftx-compare-label{
    top:18px;
  }
}

@media (min-width:901px) and (max-height:680px){
  .ftx-auth-page .ftx-auth-visual-copy{padding-bottom:24px}
  .ftx-auth-page .ftx-auth-visual-copy h1{font-size:34px}
  .ftx-auth-page .ftx-auth-visual-copy>p{display:none}
  .ftx-auth-page .ftx-auth-form-panel{padding-top:24px;padding-bottom:24px}
}

/* Landing page — Image Studio hero */
.studio-hero{position:relative;overflow:hidden;padding:clamp(26px,3vw,44px) 0 clamp(46px,5vw,70px);background:radial-gradient(circle at 86% 8%,rgba(31,194,213,.2),transparent 29%),radial-gradient(circle at 8% 88%,rgba(31,121,236,.16),transparent 31%),linear-gradient(125deg,#061d36 0%,#0a456b 57%,#087980 100%);color:#fff}
.studio-hero::before{content:"";position:absolute;right:-12%;bottom:-230px;width:720px;height:420px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.022),0 0 0 92px rgba(255,255,255,.016);transform:rotate(-8deg)}
.studio-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(390px,.88fr) minmax(540px,1.12fr);gap:clamp(38px,5vw,78px);align-items:center}
.studio-hero-copy{position:relative;z-index:5}
.studio-hero-copy .eyebrow{color:#83e5ff}
.studio-hero-copy h1{max-width:660px;margin:13px 0 20px;color:#fff;font-size:clamp(48px,5vw,72px);line-height:1.01;letter-spacing:-.045em}
.studio-hero-copy>p{max-width:620px;margin:0;color:#dceef7;font-size:16px;line-height:1.7}
.studio-hero-points{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 27px}
.studio-hero-points span{padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.075);color:#edf9ff;font-size:11px;font-weight:700;backdrop-filter:blur(8px)}
.studio-hero-actions{display:flex;gap:11px;flex-wrap:wrap}
.studio-hero-actions .btn{display:inline-flex!important;width:auto!important;align-items:center;justify-content:center;gap:8px;border-radius:999px!important}
.studio-hero-actions .btn-ghost{border-color:rgba(255,255,255,.42)!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
.studio-hero-actions .btn-ghost:hover{background:#fff!important;color:#073455!important}
.studio-hero-note{display:block;margin-top:20px;color:#bcdbe9;font-size:10px;font-weight:650;letter-spacing:.035em}
.studio-hero-gallery{position:relative;display:grid;min-height:520px;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:15px;perspective:1200px}
.studio-compare-card{position:relative;overflow:hidden;margin:0;border:1px solid rgba(255,255,255,.24);border-radius:24px;background:#082b46;box-shadow:0 25px 58px rgba(0,15,31,.28);transform:translateZ(0)}
.studio-card-portrait{grid-row:1/3;transform:rotate(-1.2deg)}
.studio-card-landscape{transform:translateY(12px) rotate(1.4deg)}
.studio-card-product{transform:translateY(-3px) rotate(-.8deg)}
.studio-compare-media{position:absolute;inset:0 0 38px;overflow:hidden}
.studio-compare-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.studio-card-portrait .studio-compare-media img{object-position:center 35%}
.studio-before{filter:saturate(.55) brightness(.72) contrast(.92)}
.studio-after-wrap{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 100% 0 0);animation:studioReveal 9.6s cubic-bezier(.65,0,.35,1) infinite;animation-delay:var(--studio-delay)}
.studio-after{filter:saturate(1.12) brightness(1.06) contrast(1.07)}
.studio-divider{position:absolute;z-index:3;top:0;bottom:0;left:0;width:1px;background:rgba(255,255,255,.78);animation:studioSlide 9.6s cubic-bezier(.65,0,.35,1) infinite;animation-delay:var(--studio-delay)}
.studio-divider i{position:absolute;top:50%;left:50%;display:grid;width:28px;height:28px;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.78);border-radius:50%;background:rgba(5,39,64,.66);box-shadow:0 5px 16px rgba(0,0,0,.24);color:#fff;font-size:11px;font-style:normal;backdrop-filter:blur(7px)}
.studio-before-tag,.studio-after-tag{position:absolute;z-index:3;top:12px;padding:6px 8px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(4,33,55,.48);color:#fff;font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;backdrop-filter:blur(6px)}
.studio-before-tag{left:12px}.studio-after-tag{right:12px}
.studio-compare-card figcaption{position:absolute;right:0;bottom:0;left:0;height:38px;padding:11px 14px;background:rgba(4,31,51,.96);color:#e9f7fd;font-size:11px;font-weight:700;letter-spacing:.025em}
.studio-compare-card:hover .studio-after-wrap,.studio-compare-card:hover .studio-divider{animation-play-state:paused}
@keyframes studioReveal{0%,12%,100%{clip-path:inset(0 100% 0 0)}44%,62%{clip-path:inset(0 0 0 0)}92%{clip-path:inset(0 100% 0 0)}}
@keyframes studioSlide{0%,12%,100%{left:0}44%,62%{left:100%}92%{left:0}}

@media(max-width:1100px){
  .studio-hero{padding:24px 0 44px}
  .studio-hero-grid{grid-template-columns:minmax(340px,.88fr) minmax(460px,1.12fr);gap:34px}
  .studio-hero-copy h1{font-size:clamp(42px,5vw,58px)}
  .studio-hero-copy>p{font-size:14px;line-height:1.6}
  .studio-hero-points{margin:20px 0 22px}
  .studio-hero-points span{padding:7px 9px;font-size:9px}
  .studio-hero-gallery{min-height:450px;gap:12px}
  .studio-compare-card{border-radius:19px}
}
@media(max-width:850px){
  .studio-hero{padding:22px 0 42px}
  .studio-hero-grid{grid-template-columns:1fr;gap:36px}
  .studio-hero-copy{max-width:700px}
  .studio-hero-copy h1{font-size:clamp(42px,9vw,62px)}
  .studio-hero-gallery{min-height:570px;grid-template-columns:1fr 1fr;grid-template-rows:1.15fr .85fr}
  .studio-card-portrait{grid-column:1/3;grid-row:1;transform:none}
  .studio-card-landscape,.studio-card-product{transform:none}
  .studio-card-portrait .studio-compare-media img{object-position:center 30%}
}
@media(max-width:560px){
  .studio-hero{padding:20px 0 38px}
  .studio-hero-copy h1{font-size:42px}
  .studio-hero-copy>p{font-size:14px}
  .studio-hero-actions{display:grid}
  .studio-hero-actions .btn{width:100%!important}
  .studio-hero-note{line-height:1.5}
  .studio-hero-gallery{min-height:680px;grid-template-columns:1fr;grid-template-rows:1fr 1fr 1fr}
  .studio-card-portrait{grid-column:1;grid-row:1}
  .studio-compare-card{border-radius:17px}
  .studio-compare-media{bottom:34px}
  .studio-compare-card figcaption{height:34px;padding:9px 12px}
}
@media(prefers-reduced-motion:reduce){
  .studio-after-wrap{animation:none;clip-path:inset(0 48% 0 0)}
  .studio-divider{animation:none;left:52%}
}

/* Landing Image Studio — one comparison at a time */
.studio-hero-gallery{display:block!important;min-height:520px;padding-bottom:30px}
.studio-hero-gallery .studio-compare-card{position:absolute;inset:0 0 30px;display:block;opacity:0;visibility:hidden;transform:none!important;border-radius:26px;transition:opacity .65s ease,visibility .65s ease;pointer-events:none}
.studio-hero-gallery .studio-compare-card.is-active{opacity:1;visibility:visible;pointer-events:auto}
.studio-hero-gallery .studio-compare-media{inset:0 0 42px}
.studio-hero-gallery .studio-compare-media img,.studio-hero-gallery .studio-card-portrait .studio-compare-media img{object-position:center}
.studio-hero-gallery .studio-card-portrait .studio-compare-media img{object-position:center 32%}
.studio-hero-gallery .studio-after-wrap,.studio-hero-gallery .studio-divider{animation:none}
.studio-hero-gallery .studio-compare-card.is-active .studio-after-wrap{animation:studioSingleReveal 7.6s cubic-bezier(.65,0,.35,1) both}
.studio-hero-gallery .studio-compare-card.is-active .studio-divider{animation:studioSingleSlide 7.6s cubic-bezier(.65,0,.35,1) both}
.studio-hero-gallery .studio-divider{width:0;background:transparent!important;box-shadow:none!important}
.studio-hero-gallery .studio-divider i{width:32px;height:32px;border-color:rgba(255,255,255,.38);background:rgba(5,39,64,.34);box-shadow:0 4px 14px rgba(0,0,0,.12);opacity:.48;backdrop-filter:blur(5px)}
.studio-hero-gallery .studio-compare-card:hover .studio-after-wrap,.studio-hero-gallery .studio-compare-card:hover .studio-divider{animation-play-state:paused}
.studio-gallery-dots{position:absolute;z-index:8;right:0;bottom:0;left:0;display:flex;justify-content:center;gap:8px;height:18px}
.studio-gallery-dots button{width:7px;height:7px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.34);box-shadow:none;cursor:pointer;transition:width .25s ease,background .25s ease}
.studio-gallery-dots button.is-active{width:24px;border-radius:999px;background:#8be7ff}
@keyframes studioSingleReveal{0%,13%{clip-path:inset(0 100% 0 0)}72%,100%{clip-path:inset(0 0 0 0)}}
@keyframes studioSingleSlide{0%,13%{left:0}72%,100%{left:100%}}

@media(max-width:1100px){
  .studio-hero-gallery{min-height:450px}
}
@media(max-width:850px){
  .studio-hero-gallery{min-height:500px!important;display:block!important}
  .studio-hero-gallery .studio-compare-card{inset:0 0 30px!important}
}
@media(max-width:560px){
  .studio-hero-gallery{min-height:360px!important}
  .studio-hero-gallery .studio-compare-media{bottom:36px}
}
@media(prefers-reduced-motion:reduce){
  .studio-hero-gallery .studio-compare-card.is-active .studio-after-wrap{animation:none;clip-path:inset(0 48% 0 0)}
  .studio-hero-gallery .studio-compare-card.is-active .studio-divider{animation:none;left:52%}
}

/* v59 FINAL: international phone display and footer-column alignment. */
.compact-contact-numbers .contact-card.mobile>strong,
.compact-contact-numbers .contact-card.whatsapp>strong,
.compact-contact-numbers .contact-card.office>strong{color:#fff!important;opacity:1!important}
.compact-contact-numbers .contact-card>strong{font-variant-numeric:tabular-nums}
.compact-contact-numbers .address-card strong{color:#ffd08a!important;line-height:1.48!important}
@media(min-width:601px){
  .footer-grid-expanded>.footer-lms-qr{justify-self:end!important;align-items:flex-end!important;text-align:right!important}
  .footer-grid-expanded>.footer-lms-qr>a{align-self:flex-end!important}
  .footer-grid-expanded>.footer-lms-qr small{margin-left:auto!important;margin-right:0!important;text-align:right!important}
}

/* v56: Image Editor V2 — Milestone 1 canvas foundation. */
.fta-nav>a:nth-child(n){border-color:transparent;background:#eef4fa;color:#174d7b}
.fta-nav>a.fta-nav-workspace{border-color:#c9dcf1;background:#eaf3ff;color:#075db7}
.fta-nav>a.fta-nav-converter{border-color:#bfd9f5;background:#e4f1ff;color:#075fb8}
.fta-nav>a.fta-nav-enhancer{border-color:#bfe4d4;background:#e9f8f1;color:#0c704c}
.fta-nav>a.fta-nav-editor{border-color:#cfcaf4;background:#f1efff;color:#5141a6}
.fta-nav>a.fta-nav-billing{border-color:#f0d5ae;background:#fff3e2;color:#9a5518}
.fta-nav>a.fta-nav-logout{border-color:#d7e0e8;background:#f3f6f8;color:#4d6173}
.ftx-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ftx-editor-card{border-color:#d7d2f2!important;background:linear-gradient(145deg,#fff,#f4f2ff)!important}.ftx-editor-card .ftx-tool-icon{background:linear-gradient(145deg,#695bd5,#4033a1)}.ftx-editor-button{background:#5748bd}

.fte-editor-shell{overflow:hidden;border:1px solid #cbdbe8;border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(16,54,88,.12)}
.fte-topbar{display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:14px;align-items:center;padding:13px 15px;border-bottom:1px solid #d8e4ed;background:linear-gradient(180deg,#fff,#f7fafc)}
.fte-topbar-title{display:grid;gap:3px}.fte-topbar-title .eyebrow{font-size:9px}.fte-topbar-title strong{max-width:380px;overflow:hidden;color:#153b5a;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.fte-history-actions,.fte-top-actions{display:flex;gap:7px;align-items:center}.fte-icon-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:5px;padding:7px 10px;border:1px solid #ccdce8;border-radius:9px;background:#fff;color:#31536f;font:inherit;font-size:12px;cursor:pointer}.fte-icon-button:hover:not(:disabled){border-color:#8eb9dc;background:#eff7ff}.fte-icon-button:disabled{opacity:.4;cursor:not-allowed}.fte-icon-button.is-on{border-color:#8ecfc2;background:#effaf6;color:#087155}.fte-export-button{min-height:36px;padding:7px 17px;opacity:.48}
.fte-workspace-grid{display:grid;grid-template-columns:78px minmax(0,1fr) 292px;min-height:680px;background:#e8eef4}
.fte-toolrail{display:flex;flex-direction:column;gap:5px;padding:10px 8px;border-right:1px solid #d4e0e9;background:#f8fafc}.fte-tool{display:grid;min-height:61px;place-items:center;align-content:center;gap:4px;border:1px solid transparent;border-radius:11px;background:transparent;color:#526a7d;font:inherit;cursor:pointer}.fte-tool>span{font-size:19px;line-height:1}.fte-tool small{font-size:9px}.fte-tool:hover{background:#edf4fa;color:#174d7b}.fte-tool.is-active{border-color:#bad3ea;background:#eaf4ff;color:#0962b2;box-shadow:0 5px 12px rgba(35,99,153,.08)}
.fte-canvas-panel{display:grid;min-width:0;grid-template-rows:1fr auto;background:#dfe6ed}.fte-empty-state{display:grid;place-items:center;align-content:center;padding:35px;text-align:center}.fte-upload-card{display:grid;width:min(470px,92%);min-height:300px;place-items:center;align-content:center;gap:8px;padding:34px;border:2px dashed #7daed5;border-radius:20px;background:linear-gradient(145deg,#f8fbff,#edf6ff);cursor:pointer;box-shadow:0 12px 28px rgba(24,72,110,.08)}.fte-upload-card:hover{border-color:#287cc1;background:#eef7ff}.fte-upload-icon{display:grid;width:62px;height:62px;margin-bottom:7px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#2478de,#0d579f);color:#fff;font-size:28px;box-shadow:0 9px 20px rgba(36,120,222,.2)}.fte-upload-card strong{color:#123b5c;font-size:20px}.fte-upload-card small,.fte-empty-state>p{color:#718496;font-size:12px}.fte-upload-action{margin-top:13px;padding:9px 18px;border-radius:999px;background:#1269c7;color:#fff;font-size:12px}.fte-editor-shell.is-dragging .fte-canvas-panel{outline:3px solid #2d8bdd;outline-offset:-3px}.fte-editor-shell.is-dragging .fte-upload-card{border-color:#1269c7;transform:translateY(-2px)}
.fte-stage-wrap{min-height:0;padding:18px}.fte-stage{display:flex;height:100%;min-height:610px;align-items:center;justify-content:center;overflow:auto;padding:28px;border:1px solid #cad6e0;border-radius:14px;background-color:#cbd4dc;background-image:linear-gradient(45deg,#d5dde4 25%,transparent 25%),linear-gradient(-45deg,#d5dde4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d5dde4 75%),linear-gradient(-45deg,transparent 75%,#d5dde4 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;box-shadow:inset 0 2px 10px rgba(29,55,78,.08)}
.fte-artboard{position:relative;flex:0 0 auto;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(13,39,63,.3);transition:width .12s ease,height .12s ease}.fte-artboard>img{display:block;width:100%;height:100%;object-fit:fill;user-select:none;-webkit-user-drag:none}.fte-guide{position:absolute;z-index:4;pointer-events:none;background:#15a6d8;box-shadow:0 0 0 1px rgba(255,255,255,.7)}.fte-guide-v{top:0;bottom:0;left:50%;width:1px}.fte-guide-h{right:0;left:0;top:50%;height:1px}.fte-center-marker{position:absolute;z-index:5;top:50%;left:50%;width:9px;height:9px;border:1px solid #0785b6;border-radius:50%;background:#fff;transform:translate(-50%,-50%);pointer-events:none}.fte-selection-outline{position:absolute;z-index:3;inset:0;border:1px solid rgba(35,117,190,.7);pointer-events:none}
.fte-statusbar{display:flex;min-height:43px;align-items:center;justify-content:space-between;gap:12px;padding:7px 13px;border-top:1px solid #cbd8e2;background:#f9fbfc;color:#536a7d;font-size:11px}.fte-status-sep{margin:0 7px;color:#9aabba}.fte-zoom-controls{display:flex;align-items:center;gap:7px}.fte-zoom-controls button{width:28px;height:28px;border:1px solid #d0dce5;border-radius:7px;background:#fff;color:#31536f;cursor:pointer}.fte-zoom-controls input{width:105px;accent-color:#176bd1}.fte-zoom-controls output{min-width:38px;color:#244c6b;font-size:10px;text-align:right}
.fte-inspector{min-width:0;padding:18px 16px;border-left:1px solid #d4e0e9;background:#fff}.fte-inspector-head{padding-bottom:15px;border-bottom:1px solid #e2e9ef}.fte-inspector-head h2{margin:5px 0 7px;color:#123b5c;font-size:19px}.fte-inspector-head p{margin:0;color:#6b7f91;font-size:11px;line-height:1.55}.fte-inspector-content{display:grid;gap:15px;padding-top:15px}.fte-panel-section{padding:14px;border:1px solid #dce6ee;border-radius:13px;background:#f9fbfd}.fte-panel-section h3{margin:0 0 11px;color:#264a66;font-size:12px}.fte-meta-list{display:grid;gap:7px;margin:0}.fte-meta-list>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:7px;font-size:10px}.fte-meta-list dt{color:#7b8d9c}.fte-meta-list dd{margin:0;overflow:hidden;color:#2f4e67;text-align:right;text-overflow:ellipsis;white-space:nowrap}.fte-replace-button,.fte-wide-action{display:flex;width:100%;min-height:36px;align-items:center;justify-content:center;margin-top:12px;border:1px solid #bed3e4;border-radius:9px;background:#fff;color:#1762a1;font:inherit;font-size:11px;cursor:pointer}.fte-wide-action+.fte-wide-action{margin-top:7px}.fte-switch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;color:#405b70;font-size:11px}.fte-switch-row input{width:16px;height:16px;accent-color:#1576c5}.fte-panel-note{margin:8px 0 0;color:#82919d;font-size:9px;line-height:1.5}.fte-coming-panel{margin-top:16px;padding:24px 18px;border:1px solid #ddd8f3;border-radius:15px;background:linear-gradient(145deg,#fbfaff,#f2f0ff);text-align:center}.fte-coming-icon{display:grid;width:48px;height:48px;margin:0 auto 12px;place-items:center;border-radius:14px;background:#6557ca;color:#fff;font-size:20px}.fte-coming-panel h3{margin:0 0 8px;color:#43378f;font-size:16px}.fte-coming-panel p{color:#6d678d;font-size:11px;line-height:1.6}.fte-status-chip{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:#e8e4ff;color:#5143a5;font-size:8px;font-weight:700;letter-spacing:.08em}
@media(max-width:1050px){.fte-workspace-grid{grid-template-columns:70px minmax(0,1fr)}.fte-inspector{grid-column:1/-1;border-top:1px solid #d4e0e9;border-left:0}.fte-inspector-content{grid-template-columns:repeat(3,minmax(0,1fr))}.fte-coming-panel{max-width:560px;margin:16px auto 0}.ftx-tool-grid{grid-template-columns:1fr 1fr}.ftx-editor-card{grid-column:1/-1}}
@media(max-width:700px){.fte-editor-shell{border-radius:14px}.fte-topbar{grid-template-columns:1fr auto}.fte-history-actions{display:none}.fte-top-actions .fte-icon-button span{display:none}.fte-top-actions #fte-fit{display:none}.fte-workspace-grid{grid-template-columns:1fr}.fte-toolrail{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #d4e0e9}.fte-tool{min-width:62px;min-height:53px}.fte-stage-wrap{padding:9px}.fte-stage{min-height:430px;padding:16px}.fte-inspector{grid-column:auto}.fte-inspector-content{grid-template-columns:1fr}.fte-statusbar{align-items:flex-start;flex-direction:column}.fte-zoom-controls{width:100%}.fte-zoom-controls input{flex:1}.ftx-tool-grid{grid-template-columns:1fr}.ftx-editor-card{grid-column:auto}}

/* v61: Image Editor V2 — Milestone 2 crop, transform, snapping and resize. */
.fte-artboard>canvas{display:block;width:100%;height:100%;user-select:none}
.fte-crop-layer{position:absolute;z-index:8;inset:0;overflow:hidden;touch-action:none}.fte-crop-shade{position:absolute;background:rgba(8,22,35,.58);pointer-events:none}.fte-crop-box{position:absolute;z-index:2;box-sizing:border-box;border:2px solid #fff;cursor:move;box-shadow:0 0 0 1px rgba(20,116,201,.9);touch-action:none}.fte-crop-grid{position:absolute;pointer-events:none;background:rgba(255,255,255,.62)}.fte-crop-grid-v{top:0;bottom:0;width:1px}.fte-crop-grid-v.one{left:33.333%}.fte-crop-grid-v.two{left:66.666%}.fte-crop-grid-h{right:0;left:0;height:1px}.fte-crop-grid-h.one{top:33.333%}.fte-crop-grid-h.two{top:66.666%}.fte-crop-handle{position:absolute;z-index:4;width:12px;height:12px;padding:0;border:2px solid #fff;border-radius:50%;background:#1374cb;box-shadow:0 1px 4px rgba(0,0,0,.25)}.fte-crop-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}.fte-crop-handle.n{left:50%;top:-7px;transform:translateX(-50%);cursor:ns-resize}.fte-crop-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}.fte-crop-handle.e{right:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}.fte-crop-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}.fte-crop-handle.s{left:50%;bottom:-7px;transform:translateX(-50%);cursor:ns-resize}.fte-crop-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.fte-crop-handle.w{left:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.fte-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fte-preset-grid button,.fte-transform-grid button{min-height:36px;border:1px solid #cbdce9;border-radius:8px;background:#fff;color:#35536a;font:inherit;font-size:10px;cursor:pointer}.fte-preset-grid button:hover,.fte-transform-grid button:hover{border-color:#8cb8da;background:#eef7ff}.fte-preset-grid button.is-active{border-color:#539bd6;background:#e7f3ff;color:#0860aa;font-weight:700}
.fte-field-grid{display:grid;gap:9px}.fte-field-grid.two{grid-template-columns:1fr 1fr}.fte-field-grid label{display:grid;gap:5px;color:#617789;font-size:9px}.fte-field-grid input{width:100%;box-sizing:border-box;min-height:34px;padding:6px 8px;border:1px solid #cbdbe7;border-radius:8px;background:#fff;color:#21455f;font:inherit;font-size:11px}.fte-primary-action{display:flex;width:100%;min-height:38px;align-items:center;justify-content:center;border:0;border-radius:9px;background:#176dca;color:#fff;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.fte-primary-action:hover{background:#0e5cae}.fte-action-stack .fte-wide-action{margin-top:7px}.fte-transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fte-transform-grid button{display:grid;min-height:54px;place-items:center;align-content:center;gap:3px;font-size:18px}.fte-transform-grid button span{font-size:9px}
.fte-tool[data-tool="crop"].is-active{border-color:#efc184;background:#fff5e7;color:#9b5b09}.fte-tool[data-tool="resize"].is-active{border-color:#b9d9d1;background:#ecfaf6;color:#08715a}
@media(max-width:700px){.fte-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fte-field-grid.two{grid-template-columns:1fr 1fr}}

/* === Image Editor V2 M2.1: constrained workspace + contextual inspector === */
.fte-inspector-content[hidden],
.fte-coming-panel[hidden]{display:none!important}

@media (min-width:1051px){
  .fte-workspace-grid{
    height:clamp(520px,calc(100vh - 250px),800px);
    min-height:0;
  }
  .fte-toolrail{
    min-height:0;
    overflow-y:auto;
  }
  .fte-canvas-panel{
    min-height:0;
    overflow:hidden;
  }
  .fte-stage-wrap{
    min-height:0;
    overflow:hidden;
  }
  .fte-stage{
    height:100%;
    min-height:0;
    box-sizing:border-box;
  }
  .fte-inspector{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
  .fte-inspector-head{
    position:sticky;
    z-index:3;
    top:-18px;
    margin:-18px -16px 0;
    padding:18px 16px 15px;
    background:#fff;
  }
  .fte-statusbar{
    position:relative;
    z-index:2;
  }
}

@media (max-width:1050px){
  .fte-workspace-grid{height:auto;min-height:0}
  .fte-stage{min-height:520px}
  .fte-inspector{overflow:visible}
}

@media (max-width:700px){
  .fte-stage{min-height:430px}
}

/* === Image Editor V2 M2.2: respect HTML hidden states === */
.fte-empty-state[hidden],
.fte-stage-wrap[hidden],
.fte-crop-layer[hidden],
.fte-inspector-content[hidden],
.fte-coming-panel[hidden]{
  display:none!important;
}

/* Image Editor V2 M2.3 — draggable canvas guides */
.fte-guide.is-draggable{pointer-events:auto;background:#0b8fca;box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 0 3px rgba(11,143,202,.12)}
.fte-guide-v.is-draggable{width:2px;cursor:ew-resize;touch-action:none}
.fte-guide-h.is-draggable{height:2px;cursor:ns-resize;touch-action:none}
.fte-guide-position-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.fte-guide-position-grid label{font-size:12px;color:#597086;display:grid;gap:5px}
.fte-guide-position-grid input{width:100%;box-sizing:border-box;border:1px solid #c9daea;border-radius:9px;padding:8px 9px;background:#fff;color:#0d2f4d}
.fte-help{margin:9px 0 0;font-size:11px;line-height:1.45;color:#74899c}


/* Image Editor V2 M3 — Adjust tool + slimmer draggable guides */
.fte-guide.is-draggable{box-shadow:0 0 0 1px rgba(255,255,255,.78),0 0 0 2px rgba(11,143,202,.08)}
.fte-guide-v.is-draggable{width:1px}
.fte-guide-h.is-draggable{height:1px}
.fte-guide-v.is-draggable:hover,.fte-guide-v.is-draggable:active{width:2px;transform:translateX(-.5px)}
.fte-guide-h.is-draggable:hover,.fte-guide-h.is-draggable:active{height:2px;transform:translateY(-.5px)}
.fte-section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px}
.fte-section-heading-row h3{margin:0}
.fte-mini-reset{border:0;background:transparent;color:#176bd1;font:inherit;font-size:11px;font-weight:700;cursor:pointer;padding:4px 0}
.fte-mini-reset:hover{text-decoration:underline}
.fte-slider-stack{display:grid;gap:13px;margin-top:12px}
.fte-adjust-row{display:grid;gap:7px;color:#536b81;font-size:12px}
.fte-adjust-row>span{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fte-adjust-row output{min-width:38px;text-align:right;color:#0b3154;font-weight:700;font-variant-numeric:tabular-nums}
.fte-adjust-row input[type="range"]{width:100%;accent-color:#1976d2;cursor:pointer}
.fte-adjust-presets{grid-template-columns:repeat(3,1fr)}
.fte-adjust-presets button{min-height:38px}


/* Image Editor V2 M4 — Text layers */
.fte-object-layer{position:absolute;z-index:6;inset:0;overflow:hidden;pointer-events:none}
.fte-text-object{position:absolute;max-width:92%;transform:translate(-50%,-50%);white-space:pre-wrap;line-height:1.16;text-shadow:0 2px 5px rgba(0,0,0,.35);cursor:move;user-select:none;pointer-events:auto;touch-action:none;padding:4px 7px;border:1px solid transparent;border-radius:4px;box-sizing:border-box}
.fte-tool[data-tool="text"].is-active{border-color:#d8c5f5;background:#f6efff;color:#6a38a8}
.fte-text-object.is-selected{border:1px dashed rgba(255,255,255,.95);box-shadow:0 0 0 1px rgba(82,74,190,.7),0 3px 9px rgba(0,0,0,.15)}
.fte-text-add-grid{display:grid;grid-template-columns:1fr;gap:8px}.fte-text-add-grid button{display:grid;gap:2px;padding:11px 12px;border:1px solid #d4dbea;border-radius:9px;background:#fff;text-align:left;color:#294b68;cursor:pointer}.fte-text-add-grid button:hover{border-color:#aa91db;background:#faf7ff}.fte-text-add-grid strong{font-size:12px}.fte-text-add-grid span{font-size:9px;color:#7c8b9a}
.fte-text-field{display:grid;gap:6px;margin:10px 0;color:#617789;font-size:9px}.fte-text-field textarea,.fte-panel-section select,.fte-panel-section input[type="color"]{width:100%;box-sizing:border-box;border:1px solid #cbdbe7;border-radius:8px;background:#fff;color:#21455f;font:inherit}.fte-text-field textarea{min-height:72px;padding:8px;resize:vertical;font-size:11px}.fte-panel-section select{min-height:34px;padding:6px 8px;font-size:10px}.fte-panel-section input[type="color"]{height:34px;padding:3px}.fte-text-align-grid{margin-top:12px}
.fte-text-object[contenteditable="true"]{user-select:text;cursor:text}
@media(max-width:700px){.fte-text-object{max-width:88%}}

/* Image Editor V2 M4.1 — Text editing refinements */
.fte-text-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:0 0 10px;border-bottom:1px solid #e3eaf1;margin-bottom:2px}
.fte-text-tabs button{min-height:34px;border:1px solid #d2dce7;border-radius:8px;background:#f8fafc;color:#5d7286;font-size:10px;font-weight:700;cursor:pointer}
.fte-text-tabs button:hover{background:#f3f0fb;border-color:#cbb8e8}
.fte-text-tabs button.is-active{background:#f3ecff;border-color:#b995eb;color:#6738a5;box-shadow:inset 0 0 0 1px rgba(103,56,165,.06)}
.fte-text-tab-pane[hidden],.fte-panel-section[hidden]{display:none!important}
.fte-text-object{max-width:none;overflow-wrap:anywhere;word-break:normal}
.fte-text-object.is-editing{cursor:text;user-select:text;outline:2px solid rgba(255,255,255,.95);outline-offset:1px;border-color:#6b43b5;background:rgba(255,255,255,.08)}
.fte-text-width-handle{position:absolute;right:-7px;top:50%;width:12px;height:28px;transform:translateY(-50%);border-radius:7px;background:#6d43b5;border:2px solid #fff;box-shadow:0 1px 5px rgba(27,33,57,.28);cursor:ew-resize;touch-action:none}
.fte-text-width-handle:before{content:"";position:absolute;left:4px;top:6px;width:2px;height:12px;border-radius:2px;background:rgba(255,255,255,.9)}
.fte-text-object[contenteditable="true"] .fte-text-width-handle{display:none}


/* Image Editor M4.2 — free text-box sizing and text effects */
.fte-text-tabs{grid-template-columns:repeat(4,1fr)}
.fte-text-object{display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0;padding:5px 8px}
.fte-text-content{display:block;width:100%;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;outline:none}
.fte-text-object.is-selected{overflow:visible}
.fte-text-object.is-selected>.fte-text-content{overflow:hidden;max-height:100%}
.fte-text-resize-handle{position:absolute;width:11px;height:11px;border-radius:50%;background:#6d43b5;border:2px solid #fff;box-shadow:0 1px 5px rgba(27,33,57,.28);z-index:4;touch-action:none}
.fte-text-resize-handle.is-nw{left:-7px;top:-7px;cursor:nwse-resize}.fte-text-resize-handle.is-n{left:50%;top:-7px;transform:translateX(-50%);cursor:ns-resize}.fte-text-resize-handle.is-ne{right:-7px;top:-7px;cursor:nesw-resize}.fte-text-resize-handle.is-e{right:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}.fte-text-resize-handle.is-se{right:-7px;bottom:-7px;cursor:nwse-resize}.fte-text-resize-handle.is-s{left:50%;bottom:-7px;transform:translateX(-50%);cursor:ns-resize}.fte-text-resize-handle.is-sw{left:-7px;bottom:-7px;cursor:nesw-resize}.fte-text-resize-handle.is-w{left:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.fte-text-object.is-editing{overflow:visible}
.fte-text-object.is-editing>.fte-text-content{overflow:visible;max-height:none}
.fte-text-object[style*="background-image: linear-gradient"]>.fte-text-content{background:inherit;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@media(max-width:700px){.fte-text-tabs{grid-template-columns:repeat(2,1fr)}}


/* Image Editor V2 M4.3 — text interaction refinements */
.fte-text-content[contenteditable="true"]{user-select:text!important;cursor:text!important;caret-color:#fff;pointer-events:auto;min-height:1em}
.fte-text-object.is-editing{touch-action:auto;cursor:text!important}
.fte-text-object.is-editing>.fte-text-content{overflow:auto;max-height:100%;white-space:pre-wrap}
.fte-text-content{background-size:100% 100%;background-repeat:no-repeat}
\n\n/* Image Editor V2 M4.4 — reliable inline edit, outside-only outline, 3-stop gradients */\n.fte-text-object{position:absolute}\n.fte-text-content{position:relative;z-index:2;box-sizing:border-box}\n.fte-text-stroke-layer{position:absolute!important;z-index:1!important;inset:5px 8px;pointer-events:none;color:transparent!important}\n.fte-text-fill-layer{z-index:2}\n.fte-text-object.is-editing>.fte-text-stroke-layer{display:none}\n#fte-text-gradient-c-row.is-disabled{opacity:.45;pointer-events:none}\n.fte-text-fill-layer[contenteditable=\"true\"]{position:relative;z-index:5;background-image:none!important;-webkit-text-fill-color:currentColor!important;color:inherit!important}\n
/* Image Editor V2 M4.5 — text stability + contextual quick controls */
@media(min-width:701px){
  .fte-topbar{grid-template-columns:minmax(190px,.9fr) minmax(240px,1.25fr) auto auto}
}
.fte-context-quickbar{min-width:0;min-height:36px;display:flex;align-items:center;justify-content:center}
.fte-context-group{display:flex;align-items:center;gap:5px;min-width:0;padding:4px 6px;border:1px solid #d7e2eb;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(36,70,100,.04)}
.fte-context-group[hidden]{display:none!important}
.fte-context-button{min-width:32px;height:28px;padding:3px 7px;border:0;border-radius:7px;background:transparent;color:#294f6d;font:inherit;font-size:12px;cursor:pointer}
.fte-context-button:hover,.fte-context-button.is-on{background:#eef4ff;color:#5e35b1}
.fte-context-value{min-width:46px;text-align:center;color:#45647b;font-size:11px;font-variant-numeric:tabular-nums}
.fte-context-color{position:relative;width:30px;height:28px;display:grid;place-items:center;border-radius:7px;cursor:pointer;overflow:hidden}
.fte-context-color span{font-size:18px;line-height:1;color:#6d43b5}.fte-context-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.fte-context-hint{padding-left:5px;border-left:1px solid #e3eaf0;color:#74899a;font-size:10px;white-space:nowrap}

/* Inline editing uses a controlled textarea instead of contenteditable. This prevents
   browser scrollbars/contenteditable artefacts from appearing over the canvas. */
.fte-text-object.is-editing{overflow:visible!important;background:rgba(255,255,255,.05);outline:2px solid rgba(109,67,181,.8);outline-offset:1px}
.fte-text-object.is-editing>.fte-text-fill-layer{visibility:hidden}
.fte-text-inline-editor{position:absolute;z-index:7;inset:5px 8px;width:calc(100% - 16px);height:calc(100% - 10px);box-sizing:border-box;margin:0;padding:0;border:0;outline:0;background:rgba(255,255,255,.08);resize:none;overflow:hidden;scrollbar-width:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;caret-color:#fff}
.fte-text-inline-editor::-webkit-scrollbar{display:none}

/* M4.5 outline is produced by safe shadow rings on the fill layer; retire the old
   duplicate stroke layer completely so thick outlines cannot become black blobs. */
.fte-text-stroke-layer{display:none!important}
.fte-text-fill-layer{position:relative;z-index:2}

@media(max-width:900px){.fte-context-hint{display:none}.fte-context-group{gap:2px}.fte-topbar{grid-template-columns:1fr auto auto}.fte-context-quickbar{grid-column:1/-1;grid-row:2;justify-content:flex-start}}
@media(max-width:700px){.fte-context-quickbar{display:none}}


/* Image Editor V2 M4.6 — compact editor chrome, focus mode, smoother text outline */
@media(min-width:901px){
  .fte-topbar{
    display:grid;
    grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto auto;
    gap:9px;
    min-height:52px;
    padding:8px 12px;
    align-items:center;
  }
  .fte-topbar-title{display:flex;align-items:center;min-width:0;gap:0}
  .fte-topbar-title strong{max-width:260px;font-size:13px}
  .fte-context-quickbar{min-height:32px;justify-content:flex-start}
  .fte-context-group{padding:2px 5px;box-shadow:none}
  .fte-history-actions,.fte-top-actions{gap:5px}
  .fte-top-actions{display:flex;align-items:center;flex-wrap:nowrap}
  .fte-icon-button{min-height:34px}
  .fte-focus-toggle{white-space:nowrap}
}

body.fte-focus-open{overflow:hidden!important}
.fte-editor-shell.is-focus-mode{
  position:fixed!important;
  z-index:2147483000!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.fte-editor-shell.is-focus-mode .fte-topbar{position:relative;z-index:20}
.fte-editor-shell.is-focus-mode .fte-workspace-grid{
  height:auto!important;
  min-height:0!important;
}
.fte-editor-shell.is-focus-mode .fte-stage{height:100%!important;min-height:0!important}
.fte-editor-shell.is-focus-mode .fte-toolrail,
.fte-editor-shell.is-focus-mode .fte-canvas-panel,
.fte-editor-shell.is-focus-mode .fte-stage-wrap,
.fte-editor-shell.is-focus-mode .fte-inspector{min-height:0!important}
.fte-editor-shell.is-focus-mode .fte-inspector{overflow-y:auto!important}
.fte-editor-shell.is-focus-mode .fte-focus-toggle{background:#edf5ff;color:#125ca9;border-color:#9fc5e7}

/* Keep the text outline visually smooth and discourage oversized blob-like borders. */
#fte-text-outline-size{max-width:100%}
\n\n/* Image Editor V2 M4.7 — guaranteed one-row desktop chrome + true editor focus mode */
@media(min-width:901px){
  .fte-topbar{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:7px!important;
    min-height:50px!important;
    padding:7px 10px!important;
  }
  .fte-topbar-title{flex:0 1 210px!important;min-width:110px!important}
  .fte-topbar-title strong{max-width:210px!important;font-size:12px!important}
  .fte-context-quickbar{flex:1 1 auto!important;min-width:0!important;justify-content:center!important}
  .fte-context-group{max-width:100%;white-space:nowrap!important}
  .fte-history-actions{flex:0 0 auto!important;order:3!important}
  .fte-top-actions{flex:0 0 auto!important;order:2!important;flex-wrap:nowrap!important}
  .fte-context-quickbar{order:1!important}
  .fte-topbar-title{order:0!important}
  .fte-icon-button{min-height:32px!important;padding:5px 8px!important}
  .fte-export-button{min-height:32px!important;padding:5px 13px!important}
}
@media(min-width:901px) and (max-width:1180px){
  .fte-context-hint{display:none!important}
  .fte-topbar-title{flex-basis:170px!important}
  .fte-topbar-title strong{max-width:170px!important}
  .fte-context-button{min-width:28px!important;padding:3px 5px!important}
  .fte-context-value{min-width:42px!important}
  .fte-icon-button{padding-left:7px!important;padding-right:7px!important}
}

/* Focus mode must occupy the complete browser content viewport. The JS moves the
   shell directly beneath BODY before this rule is applied, so no parent wrapper,
   transform or account navigation can remain above it. */
body.fte-focus-open{overflow:hidden!important}
body.fte-focus-open>.fte-editor-shell.is-focus-mode{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.fte-focus-open>.fte-editor-shell.is-focus-mode .fte-workspace-grid{
  height:auto!important;
  min-height:0!important;
}

/* M5 Shapes */
[data-shape-pane][hidden]{display:none!important}.fte-shape-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fte-shape-add-grid button{min-height:62px;border:1px solid #d8e3ef;border-radius:11px;background:#fff;color:#173a61;font-size:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}.fte-shape-add-grid button span{font-size:11px}.fte-shape-object{position:absolute;z-index:8;cursor:move;transform-origin:center;box-sizing:border-box}.fte-shape-visual{position:absolute;inset:0;box-sizing:border-box}.fte-shape-object.is-selected{outline:1px dashed #7c3aed;outline-offset:3px}.fte-shape-h{position:absolute;width:11px;height:11px;border:2px solid #7c3aed;background:#fff;border-radius:50%;z-index:4}.fte-shape-h.nw{left:-7px;top:-7px}.fte-shape-h.ne{right:-7px;top:-7px}.fte-shape-h.se{right:-7px;bottom:-7px}.fte-shape-h.sw{left:-7px;bottom:-7px}

/* M5.2 — Shape interaction reliability.
   The object layer intentionally ignores empty-space clicks, so every live shape
   must explicitly opt back into pointer events just like text objects do. */
.fte-shape-object{
  pointer-events:auto;
  touch-action:none;
  user-select:none;
  -webkit-user-drag:none;
}
.fte-shape-visual{pointer-events:none}
.fte-shape-h{
  pointer-events:auto;
  touch-action:none;
}
.fte-shape-h.nw,.fte-shape-h.se{cursor:nwse-resize}
.fte-shape-h.ne,.fte-shape-h.sw{cursor:nesw-resize}

/* M5.3 — SVG shape renderer, star/seal controls and reliable guide snapping */
.fte-shape-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.fte-star-controls{margin-top:14px;padding-top:13px;border-top:1px solid #e5edf7}
.fte-star-controls[hidden]{display:none!important}
.fte-shape-preset-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.fte-shape-preset-row button{border:1px solid #d5e0ef;background:#fff;border-radius:9px;padding:8px 6px;color:#31506f;cursor:pointer}
.fte-shape-preset-row button:hover{border-color:#a78bfa;background:#faf7ff}

/* M6.1 Images */
.fte-image-upload{display:flex;min-height:118px;border:1px dashed #a9bdd3;border-radius:14px;background:#f8fbff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;text-align:center}
.fte-image-upload:hover{border-color:#7c3aed;background:#faf7ff}.fte-image-upload>span{font-size:30px;line-height:1;color:#6d28d9}.fte-image-upload strong{color:#173a61}.fte-image-upload small{color:#70859c}
.fte-image-object{position:absolute;box-sizing:border-box;transform-origin:center;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-drag:none;cursor:move;z-index:9}
.fte-image-object>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill;pointer-events:none;user-select:none;-webkit-user-drag:none}
.fte-image-object.is-selected{outline:1px dashed #7c3aed;outline-offset:3px}
.fte-image-h{position:absolute;width:11px;height:11px;border:2px solid #7c3aed;background:#fff;border-radius:50%;z-index:5;pointer-events:auto;touch-action:none}
.fte-image-h.nw{left:-7px;top:-7px;cursor:nwse-resize}.fte-image-h.ne{right:-7px;top:-7px;cursor:nesw-resize}.fte-image-h.se{right:-7px;bottom:-7px;cursor:nwse-resize}.fte-image-h.sw{left:-7px;bottom:-7px;cursor:nesw-resize}

/* M6.6 — selected image styling */
#fte-image-style .fte-section-heading-row{margin-top:15px}
#fte-image-style .fte-section-heading-row:first-child{margin-top:0}

/* M6.7 corrected image stroke and feather */
.fte-image-stroke-overlay{pointer-events:none}

/* M7 — Canvas extension + background/main-image effects */
#fte-panel-effects .fte-panel-section h3{margin-top:0}
#fte-panel-effects select,#fte-panel-canvas select{width:100%;min-height:36px;border:1px solid #d8e3ef;border-radius:9px;background:#fff;padding:6px 8px;color:#25445f}
#fte-panel-effects .fte-section-heading-row,#fte-panel-canvas .fte-section-heading-row{margin-bottom:8px}

/* M7.1 — zoom + hand/pan workspace navigation */
.fte-stage.is-hand-active{cursor:grab}
.fte-stage.is-hand-active.is-panning{cursor:grabbing}
.fte-stage.is-hand-active .fte-artboard,
.fte-stage.is-hand-active .fte-object-layer,
.fte-stage.is-hand-active .fte-text-object,
.fte-stage.is-hand-active .fte-shape-object,
.fte-stage.is-hand-active .fte-image-object,
.fte-stage.is-hand-active .fte-guide,
.fte-stage.is-hand-active .fte-crop-layer{cursor:inherit}
#fte-hand-toggle.is-on,#fte-panel-hand.is-on{border-color:#7c3aed;background:#f7f1ff;color:#6d28d9}

/* M7.2 — full-edge pan access at high zoom */
.fte-stage{
  display:block!important;
  overflow:auto!important;
  align-items:initial!important;
  justify-content:initial!important;
}
.fte-artboard{
  display:block;
  flex:none!important;
}
.fte-stage.is-hand-active{overscroll-behavior:contain}

/* M8 — Selection & local correction */
.fte-local-selection-layer{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}
.fte-local-selection-layer[hidden]{display:none!important}
.fte-local-selection-box{position:absolute;box-sizing:border-box;border:1px dashed #7c3aed;background:rgba(124,58,237,.06);pointer-events:auto;cursor:move}
.fte-local-selection-box.is-ellipse{border-radius:50%}
.fte-local-selection-h{position:absolute;width:11px;height:11px;border:2px solid #7c3aed;background:#fff;border-radius:50%;pointer-events:auto}
.fte-local-selection-h.nw{left:-7px;top:-7px;cursor:nwse-resize}.fte-local-selection-h.ne{right:-7px;top:-7px;cursor:nesw-resize}
.fte-local-selection-h.se{right:-7px;bottom:-7px;cursor:nwse-resize}.fte-local-selection-h.sw{left:-7px;bottom:-7px;cursor:nesw-resize}
.fte-stage.is-hand-active .fte-local-selection-layer{pointer-events:none}

/* M8.1 selection refinement */
[data-selection-shape].is-active{border-color:#7c3aed!important;background:#f7f1ff!important;color:#6d28d9!important}
.fte-local-lasso-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:auto;cursor:move}
.fte-local-lasso-poly{fill:rgba(124,58,237,.06);stroke:#7c3aed;stroke-width:.18;stroke-dasharray:.8 .55;vector-effect:non-scaling-stroke}

/* M8.2 — Selection usability / marching ants */
@keyframes fte-marching-ants{
  to{background-position:12px 0,100% 12px,-12px 100%,0 -12px}
}
@keyframes fte-lasso-ants{
  to{stroke-dashoffset:-10}
}
.fte-local-selection-box{
  border:0!important;
  background:rgba(124,58,237,.07)!important;
}
.fte-marching-ants{
  position:absolute;
  inset:-1px;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(90deg,#fff 50%,#111 50%) repeat-x top left,
    linear-gradient(180deg,#fff 50%,#111 50%) repeat-y top right,
    linear-gradient(90deg,#fff 50%,#111 50%) repeat-x bottom left,
    linear-gradient(180deg,#fff 50%,#111 50%) repeat-y top left;
  background-size:12px 2px,2px 12px,12px 2px,2px 12px;
  animation:fte-marching-ants .55s linear infinite;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.9));
}
.fte-local-selection-box.is-ellipse .fte-marching-ants{
  background:none;
  border:2px dashed #111;
  outline:1px dashed #fff;
  outline-offset:-3px;
  border-radius:50%;
  animation:none;
}
.fte-local-selection-h{
  width:13px!important;
  height:13px!important;
  border-width:2px!important;
  box-shadow:0 0 0 1px #fff,0 1px 4px rgba(0,0,0,.25);
}
.fte-local-lasso-poly-under{
  fill:rgba(124,58,237,.06);
  stroke:#fff;
  stroke-width:.48;
  vector-effect:non-scaling-stroke;
}
.fte-local-lasso-poly{
  fill:transparent!important;
  stroke:#111!important;
  stroke-width:.22!important;
  stroke-dasharray:1.2 .8!important;
  stroke-dashoffset:0;
  vector-effect:non-scaling-stroke;
  animation:fte-lasso-ants .55s linear infinite;
}
[data-selection-shape]{
  min-height:72px;
}
[data-selection-shape].is-active{
  border-color:#6d28d9!important;
  background:#f3e8ff!important;
  color:#5b21b6!important;
  box-shadow:0 0 0 2px rgba(124,58,237,.12);
}

/* M8.2.1 — reliable marquee visibility */
.fte-local-selection-layer{
  z-index:20!important;
}
.fte-local-selection-box{
  border:0!important;
  background:rgba(124,58,237,.08)!important;
  overflow:visible!important;
}
.fte-marquee-svg{
  position:absolute;
  inset:-2px;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  overflow:visible;
  pointer-events:none;
  z-index:2;
}
.fte-marquee-under{
  fill:none;
  stroke:#fff;
  stroke-width:2.2;
  vector-effect:non-scaling-stroke;
}
.fte-marquee-ants{
  fill:none;
  stroke:#111;
  stroke-width:1.2;
  stroke-dasharray:7 5;
  stroke-dashoffset:0;
  vector-effect:non-scaling-stroke;
  animation:fte-marquee-svg-ants .6s linear infinite;
}
@keyframes fte-marquee-svg-ants{
  to{stroke-dashoffset:-24}
}
.fte-local-selection-h{
  z-index:4!important;
}

/* M8.3 — selection placement, polygon lasso and point editing */
.fte-local-lasso-poly-under{
  fill:rgba(124,58,237,.12)!important;
  stroke:#fff!important;
  stroke-width:.8!important;
}
.fte-local-lasso-poly{
  stroke:#111!important;
  stroke-width:.42!important;
  stroke-dasharray:1.6 1!important;
  filter:drop-shadow(0 0 .35px #fff);
}
.fte-selection-node{
  fill:#fff;
  stroke:#7c3aed;
  stroke-width:.45;
  vector-effect:non-scaling-stroke;
  pointer-events:auto;
  cursor:move;
}
#fte-select-edit-points.is-on{
  border-color:#7c3aed;
  background:#f3e8ff;
  color:#5b21b6;
}

/* M8.3.1 — Freehand / Polygon Lasso reliability */
.fte-local-lasso-svg{
  pointer-events:none!important;
}
.fte-local-lasso-poly-under,
.fte-local-lasso-poly{
  pointer-events:visiblePainted;
}
.fte-selection-node{
  pointer-events:all!important;
}
.fte-selection-node.is-start{
  fill:#fef08a!important;
  stroke:#111!important;
  stroke-width:.55!important;
}
.fte-polygon-preview-line{
  stroke:#facc15;
  stroke-width:.45;
  stroke-dasharray:1.4 1;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
  filter:drop-shadow(0 0 .4px #111);
}

/* M8.3.2 — lasso interaction + pencil cursor */
.fte-stage.is-pencil-select,
.fte-stage.is-pencil-select .fte-artboard,
.fte-stage.is-pencil-select .fte-local-selection-layer{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg transform='rotate(-35 12 12)'%3E%3Crect x='10' y='2' width='4' height='15' rx='1' fill='%23facc15' stroke='%23111' stroke-width='1'/%3E%3Cpath d='M10 17h4l-2 5z' fill='%23f5deb3' stroke='%23111' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E") 3 21, crosshair!important;
}
.fte-stage.is-pencil-select.is-hand-active,
.fte-stage.is-pencil-select.is-panning{
  cursor:grab!important;
}
.fte-stage.is-pencil-select.is-panning{
  cursor:grabbing!important;
}
.fte-local-lasso-poly-under,
.fte-local-lasso-poly{
  stroke-linejoin:round;
  stroke-linecap:round;
}
.fte-selection-node.is-start{
  cursor:pointer!important;
}

/* M8.3.3 — lasso start/finish usability + larger flipped pencil cursor */
.fte-stage.is-pencil-select,
.fte-stage.is-pencil-select .fte-artboard,
.fte-stage.is-pencil-select .fte-local-selection-layer{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(32 0) scale(-1 1) rotate(-35 16 16)'%3E%3Crect x='12' y='3' width='8' height='20' rx='2' fill='%23facc15' stroke='%23111' stroke-width='2'/%3E%3Crect x='12' y='3' width='8' height='5' rx='2' fill='%23f87171' stroke='%23111' stroke-width='2'/%3E%3Cpath d='M12 23h8l-4 7z' fill='%23f5deb3' stroke='%23111' stroke-width='2'/%3E%3Cpath d='M15 28h2l-1 2z' fill='%23111'/%3E%3C/g%3E%3C/svg%3E") 5 28, crosshair!important;
}
.fte-selection-node-html,
.fte-lasso-start-target{
  position:absolute;
  width:13px;
  height:13px;
  margin-left:-6.5px;
  margin-top:-6.5px;
  border-radius:50%;
  background:#fff;
  border:2px solid #7c3aed;
  box-shadow:0 0 0 1px #fff,0 1px 5px rgba(0,0,0,.35);
  z-index:30;
  pointer-events:auto;
}
.fte-selection-node-html.is-start{
  width:17px;
  height:17px;
  margin-left:-8.5px;
  margin-top:-8.5px;
  background:#fde047;
  border-color:#111;
  cursor:pointer;
}
.fte-lasso-start-target{
  width:18px;
  height:18px;
  margin-left:-9px;
  margin-top:-9px;
  background:rgba(253,224,71,.45);
  border:2px solid #111;
  box-shadow:0 0 0 3px rgba(255,255,255,.75),0 0 0 5px rgba(250,204,21,.35);
  pointer-events:none;
}

/* M8.4 — Magnetic Lasso */
.fte-magnetic-controls{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e5edf7;
}
.fte-magnetic-controls[hidden]{display:none!important}
[data-selection-shape="magnetic"].is-active{
  border-color:#0891b2!important;
  background:#ecfeff!important;
  color:#155e75!important;
}

/* M8.4.1 — Magnetic Lasso usability */
.fte-selection-node-html.is-magnetic-anchor{
  width:9px;
  height:9px;
  margin-left:-4.5px;
  margin-top:-4.5px;
  background:#fff;
  border:2px solid #0891b2;
  box-shadow:0 0 0 1px #fff,0 1px 4px rgba(0,0,0,.3);
}
.fte-selection-node-html.is-magnetic-anchor.is-start{
  width:24px!important;
  height:24px!important;
  margin-left:-12px!important;
  margin-top:-12px!important;
  background:#fde047!important;
  border:3px solid #111!important;
  box-shadow:0 0 0 3px #fff,0 0 0 6px rgba(250,204,21,.35)!important;
}

/* M8.5 — Selection clipboard + expanded Hand pan space */
#fte-select-copy,
#fte-select-paste{
  min-height:44px;
}
#fte-select-paste{
  border-color:#7c3aed;
}
.fte-stage.is-hand-active{
  overscroll-behavior:contain;
  scroll-behavior:auto;
}

/* M8.6 — magnetic drag tracing + tool switching */
.fte-magnetic-drag-start{
  position:absolute;
  width:14px;height:14px;
  margin-left:-7px;margin-top:-7px;
  border-radius:50%;
  background:#fde047;
  border:2px solid #111;
  box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(250,204,21,.28);
  pointer-events:none;
  z-index:30;
}
.fte-stage.is-pencil-select .fte-local-lasso-poly{
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* FINAL landing hero layout: exactly one clean comparison image at a time. */
.studio-hero-gallery{
  position:relative!important;
  display:block!important;
  min-height:500px!important;
  padding:0 0 25px!important;
}
.studio-hero-gallery .studio-compare-card{
  position:absolute!important;
  inset:0 0 25px!important;
  display:none!important;
  overflow:hidden!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:none!important;
  border-radius:24px!important;
  pointer-events:none!important;
}
.studio-hero-gallery .studio-compare-card.is-active{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.studio-hero-gallery .studio-compare-media{
  position:absolute!important;
  inset:0!important;
}
.studio-hero-gallery .studio-compare-media img,
.studio-hero-gallery .studio-card-portrait .studio-compare-media img{
  object-position:center!important;
}
.studio-hero-gallery .studio-card-portrait .studio-compare-media img{
  object-position:center 30%!important;
}
.studio-hero-gallery .studio-before-tag,
.studio-hero-gallery .studio-after-tag,
.studio-hero-gallery .studio-divider,
.studio-hero-gallery figcaption{
  display:none!important;
}
.studio-hero-gallery .studio-after-wrap{animation:none!important}
.studio-hero-gallery .studio-compare-card.is-active .studio-after-wrap{
  animation:studioSingleReveal 7.6s cubic-bezier(.65,0,.35,1) both!important;
}
.studio-gallery-dots{bottom:1px!important}

/* Laptop-first sizing: preserve a large image while keeping both CTAs visible. */
@media (min-width:851px) and (max-width:1450px),
       (min-width:851px) and (max-height:850px){
  .studio-hero{padding:18px 0 30px!important}
  .studio-hero-grid{gap:34px!important;grid-template-columns:minmax(360px,.9fr) minmax(470px,1.1fr)!important}
  .studio-hero-copy h1{margin:9px 0 14px!important;font-size:clamp(44px,4.35vw,60px)!important}
  .studio-hero-copy>p{font-size:14px!important;line-height:1.55!important}
  .studio-hero-points{margin:18px 0 20px!important}
  .studio-hero-note{margin-top:13px!important}
  .studio-hero-gallery{min-height:440px!important}
}
@media(max-width:850px){
  .studio-hero-gallery{min-height:420px!important}
}
@media(max-width:560px){
  .studio-hero-gallery{min-height:310px!important}
  .studio-hero-gallery .studio-compare-card{border-radius:17px!important}
}

/* Registration v104: portrait-led, compact account creation screen. */
.ftx-register-shell .ftx-auth-story{min-height:calc(100vh - 92px)!important;background:#072b48}
.ftx-register-shell .ftx-register-portrait{object-position:center 18%;filter:saturate(1.03) contrast(1.02)}
.ftx-register-shell .ftx-register-visual-copy{justify-content:flex-end;min-height:calc(100vh - 92px)!important;padding:34px clamp(40px,5vw,70px) 40px;background:linear-gradient(180deg,rgba(3,20,36,.03) 25%,rgba(3,24,43,.52) 58%,rgba(3,26,47,.94) 100%)}
.ftx-register-shell .ftx-register-visual-copy h1{max-width:540px;font-size:clamp(36px,3.8vw,53px)}
.ftx-register-shell .ftx-auth-form-panel{width:min(100%,720px);padding:30px clamp(38px,5vw,72px)}
.ftx-register-shell .ftx-auth-form-panel h2{margin-top:6px;font-size:clamp(28px,2.65vw,38px)}
.ftx-register-shell .ftx-auth-form-panel>.fta-muted{margin-bottom:16px;font-size:12px}
.ftx-register-form{gap:11px!important}
.ftx-register-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ftx-register-shell .ftx-auth-form-panel .fta-form input{min-height:43px;padding:9px 12px}
.ftx-register-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:9px 12px;font-size:10.5px}
.ftx-register-rules strong{font-size:11px}
.ftx-register-shell .ftx-auth-form-panel .fta-button{min-height:42px;margin-top:0;padding:8px 22px;font-weight:700!important}
.ftx-register-shell .ftx-auth-switch{margin-top:13px}
@media (min-width:901px) and (max-height:720px){
  .ftx-register-shell .ftx-register-visual-copy{padding-bottom:27px}
  .ftx-register-shell .ftx-register-visual-copy h1{font-size:36px}
  .ftx-register-shell .ftx-auth-form-panel{padding-top:20px;padding-bottom:20px}
  .ftx-register-shell .ftx-auth-form-panel h2{font-size:28px}
  .ftx-register-shell .ftx-auth-form-panel>.fta-muted{margin-bottom:10px;line-height:1.45}
  .ftx-register-form{gap:8px!important}
  .ftx-register-shell .ftx-auth-form-panel .fta-form input{min-height:39px}
}
@media(max-width:900px){
  .ftx-register-shell .ftx-auth-story,.ftx-register-shell .ftx-register-visual-copy{min-height:500px!important}
  .ftx-register-shell .ftx-register-portrait{object-position:center 16%}
  .ftx-register-shell .ftx-auth-form-panel{min-height:auto;padding:38px clamp(25px,7vw,60px) 48px}
}
@media(max-width:600px){
  .ftx-register-shell .ftx-auth-story,.ftx-register-shell .ftx-register-visual-copy{min-height:440px!important}
  .ftx-register-shell .ftx-register-portrait{object-position:center 13%}
  .ftx-register-shell .ftx-register-visual-copy{padding:28px 24px 36px}
  .ftx-register-fields{grid-template-columns:1fr}
  .ftx-register-rules{grid-template-columns:1fr}
}

/* Workspace v107: centred RGB navigation, visual tool cards and fewer actions. */
.fta-customer-nav{justify-content:center;gap:10px;padding:10px 14px;border:0;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(18,58,92,.08)}
.fta-customer-nav>a{min-width:112px;justify-content:center;border:0!important;border-radius:999px!important;color:#fff!important;font-weight:700!important;box-shadow:0 6px 14px rgba(15,46,75,.13)}
.fta-customer-nav>a:hover{filter:brightness(1.06);color:#fff!important;transform:translateY(-2px)}
.fta-customer-nav .fta-nav-workspace{background:#185fbb!important}
.fta-customer-nav .fta-nav-converter{background:#1478d2!important}
.fta-customer-nav .fta-nav-enhancer{background:#138b58!important}
.fta-customer-nav .fta-nav-editor{background:#c83d48!important}
.fta-customer-nav .fta-nav-billing{background:#e18124!important}
.fta-customer-nav .fta-nav-logout{background:#526579!important}
.ftx-workspace-hero{grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);min-height:245px;padding:30px 36px;margin-bottom:18px}
.ftx-workspace-copy h1{font-size:clamp(34px,3.7vw,48px)}
.ftx-dashboard-hero-image{position:relative;z-index:1;height:190px;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:18px;box-shadow:0 16px 34px rgba(0,20,40,.22)}
.ftx-dashboard-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%}
.ftx-workspace-card{padding:22px 26px}
.ftx-workspace-card .fta-stat-grid{margin-bottom:18px}
.ftx-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:0}
a.ftx-tool-card{display:flex;min-height:470px;flex-direction:column;padding:0 22px 21px;color:inherit;text-decoration:none}
.ftx-tool-image{display:block;width:calc(100% + 44px);height:auto;aspect-ratio:3/2;margin:0 -22px 18px;object-fit:contain;background:#0a2945}
.ftx-tool-card .ftx-tool-icon{position:relative;z-index:2;align-self:flex-end;width:42px;height:42px;margin:-41px -4px 10px 0;border:3px solid #fff;border-radius:12px}
.ftx-tool-card h2{font-size:22px}.ftx-tool-card ul{margin-bottom:16px}
.ftx-card-access{display:inline-flex;margin-top:auto;align-items:center;color:#1269c7;font-size:12px;font-weight:750}
.ftx-card-access::after{content:"→";margin-left:7px;font-size:15px}
.ftx-enhancer-card .ftx-card-access{color:#118653}.ftx-editor-card .ftx-card-access{color:#b93645}
.ftx-tool-card:hover .ftx-card-access{text-decoration:underline}
.ftx-history-card{padding:25px 32px}
.ftx-plan-actions{justify-content:center;gap:10px;margin:14px 0 20px}
.ftx-plan-actions .fta-button{width:auto!important;min-height:38px;margin:0!important;padding:7px 18px;font-size:13px;font-weight:700!important}
@media(max-width:1000px){
  .fta-customer-nav{gap:7px}.fta-customer-nav>a{min-width:auto}
  .ftx-tool-grid{grid-template-columns:1fr 1fr}.ftx-tool-card:last-child{grid-column:1/-1;min-height:420px}
}
@media(max-width:760px){
  .fta-customer-nav{justify-content:flex-start;border-radius:10px}.fta-customer-nav>a{width:auto;margin:0}
  .ftx-workspace-hero{grid-template-columns:1fr;padding:25px 22px}.ftx-dashboard-hero-image{height:180px}
  .ftx-tool-grid{grid-template-columns:1fr}.ftx-tool-card:last-child{grid-column:auto}
  a.ftx-tool-card{min-height:0}.ftx-tool-image{height:auto}
}

/* Pro batch converter v109: one-row intake and laptop-first controls. */
.ftx-batch-converter{padding:22px 26px 25px;border-radius:0 0 18px 18px}
.ftx-batch-converter .fta-form{gap:15px}
.ftx-batch-toprow{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(180px,.55fr) minmax(330px,1.25fr) auto;gap:15px;align-items:center;min-height:112px;padding:14px 16px;border:1px solid #d5e3ef;border-radius:14px;background:linear-gradient(135deg,#fff,#f3f8fd)}
.ftx-batch-heading h1{margin:4px 0 5px;color:#0b2c4d;font-size:25px;line-height:1.08}
.ftx-batch-heading p{margin:0;color:#64798d;font-size:11px;line-height:1.45}
.ftx-batch-picker{display:flex;min-height:76px;flex-direction:column;justify-content:center;padding:11px 13px;border:1px dashed #66a6df;border-radius:11px;background:#edf6ff;color:#123b60;cursor:pointer}
.ftx-batch-picker strong{font-size:13px}.ftx-batch-picker small{margin:2px 0 7px;color:#637b91;font-size:9.5px}
.ftx-batch-picker input[type=file]{width:100%;min-height:27px;padding:0;border:0;border-radius:0;background:transparent;color:#566f86;font-size:9px}
.ftx-batch-picker input[type=file]::file-selector-button{min-height:27px;margin-right:7px;padding:5px 9px;border:0;border-radius:999px;background:#176fd0;color:#fff;font-weight:700;cursor:pointer}
.ftx-batch-previews{display:flex;min-width:0;gap:8px;align-items:center;overflow-x:auto;padding:3px 1px}
.ftx-batch-previews figure{position:relative;flex:0 0 100px;margin:0;overflow:hidden;border:1px solid #cbddea;border-radius:9px;background:#fff}
.ftx-batch-previews img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#eaf1f6}
.ftx-batch-previews figcaption{overflow:hidden;padding:4px 6px;color:#506980;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.ftx-preview-empty{color:#7a8da0;font-size:10px;text-align:center}
.ftx-batch-quota{align-self:start;white-space:nowrap}
.ftx-batch-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:0}
.ftx-batch-controls label{gap:5px;font-size:11px}
.ftx-batch-controls input,.ftx-batch-controls select{height:39px;min-height:39px;padding:7px 10px;font-size:12px}
.ftx-batch-submit{width:auto!important;min-width:185px;min-height:38px;margin:0 auto!important;padding:7px 19px;font-size:13px;font-weight:700!important}
.ftx-batch-results{margin-top:18px}.ftx-batch-results h2{font-size:23px}.ftx-batch-results .fta-message{display:flex;justify-content:space-between;gap:12px;align-items:center}
.ftx-batch-results .fta-button{min-height:36px;padding:7px 15px;font-size:12px}
@media(max-width:1050px){
  .ftx-batch-toprow{grid-template-columns:minmax(190px,.7fr) minmax(175px,.55fr) minmax(260px,1fr)}
  .ftx-batch-quota{position:absolute;right:20px;top:18px}
  .ftx-batch-converter{position:relative}
}
@media(max-width:760px){
  .ftx-batch-converter{padding:16px 14px 22px}
  .ftx-batch-toprow{grid-template-columns:1fr;gap:10px}.ftx-batch-quota{position:static;grid-row:1;justify-self:end}
  .ftx-batch-picker{min-height:68px}.ftx-batch-previews{min-height:82px}
  .ftx-batch-controls{grid-template-columns:1fr 1fr}.ftx-batch-submit{margin:0 auto!important}
}
@media(max-width:470px){.ftx-batch-controls{grid-template-columns:1fr}}

/* Batch converter v110: one-line heading above an expandable upload canvas. */
.ftx-batch-titlebar{display:flex;gap:15px;align-items:center;min-height:48px;padding:4px 2px 9px;border-bottom:1px solid #dbe6ef}
.ftx-batch-titlebar .eyebrow{flex:0 0 auto}.ftx-batch-titlebar h1{flex:0 0 auto;margin:0;color:#0b2c4d;font-size:23px;line-height:1.1}.ftx-batch-titlebar p{min-width:0;margin:0;color:#64798d;font-size:11px;line-height:1.4}.ftx-batch-titlebar .ftx-batch-quota{position:static!important;flex:0 0 auto;align-self:center;margin-left:auto;white-space:nowrap}
.ftx-batch-canvas{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:18px;border:2px dashed #7aaedf;border-radius:14px;background:linear-gradient(145deg,#f8fbff,#edf6ff);transition:min-height .2s ease}
.ftx-batch-canvas .ftx-batch-picker{width:min(100%,310px);min-height:auto;align-items:center;padding:10px 14px;border:0;background:transparent;text-align:center}.ftx-batch-canvas .ftx-batch-picker strong{font-size:14px}.ftx-batch-canvas .ftx-batch-picker small{margin-bottom:8px}.ftx-batch-canvas .ftx-batch-picker input[type=file]{width:auto;max-width:100%;font-size:10px}
.ftx-batch-canvas.has-previews{min-height:0;justify-content:flex-start;padding-top:14px;padding-bottom:16px}.ftx-batch-canvas.has-previews .ftx-batch-picker{padding-top:2px;padding-bottom:3px}
.ftx-batch-canvas .ftx-batch-previews{display:flex;width:100%;min-height:0;flex-wrap:wrap;justify-content:center;gap:12px;overflow:visible;padding:0}.ftx-batch-canvas .ftx-batch-previews figure{flex:0 1 190px;width:190px;margin:0;border-radius:11px;box-shadow:0 6px 16px rgba(16,55,88,.1)}.ftx-batch-canvas .ftx-batch-previews img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.ftx-batch-canvas .ftx-batch-previews figcaption{padding:6px 8px;font-size:9px}.ftx-batch-canvas:not(.has-previews) .ftx-batch-previews{display:none}
@media(max-width:900px){.ftx-batch-titlebar{flex-wrap:wrap;gap:7px 12px}.ftx-batch-titlebar p{flex:1 1 320px}.ftx-batch-titlebar .ftx-batch-quota{margin-left:0}}
@media(max-width:600px){.ftx-batch-titlebar h1{font-size:21px}.ftx-batch-titlebar .eyebrow{width:100%}.ftx-batch-titlebar .ftx-batch-quota{margin-left:auto}.ftx-batch-canvas{min-height:140px;padding:13px}.ftx-batch-canvas .ftx-batch-previews figure{flex-basis:calc(50% - 7px);width:calc(50% - 7px)}}

/* Batch workflow v111: clearer heading, additive selection, guide and ZIP action. */
.ftx-batch-titlebar{position:relative;overflow:hidden;min-height:58px;padding:10px 15px;border:1px solid #cbddeb;border-left:4px solid #176fd0;border-radius:12px;background:linear-gradient(100deg,#edf5ff 0%,#f5fbff 55%,#eefaf6 100%);box-shadow:0 7px 18px rgba(18,64,101,.06)}
.ftx-batch-titlebar::after{content:"";position:absolute;right:-28px;bottom:-44px;width:125px;height:80px;border:1px solid rgba(23,111,208,.12);border-radius:50%}
.ftx-batch-titlebar .eyebrow{position:relative;z-index:1;padding:5px 8px;border-radius:999px;background:#176fd0;color:#fff;font-size:9px}
.ftx-batch-titlebar h1{position:relative;z-index:1;font-size:22px}.ftx-batch-titlebar p{position:relative;z-index:1;color:#45647f}.ftx-batch-titlebar .ftx-batch-quota{position:relative!important;z-index:1;background:#fff;box-shadow:0 4px 12px rgba(18,64,101,.08)}
.ftx-batch-canvas .ftx-batch-previews figure{position:relative}
.ftx-remove-preview{position:absolute;top:6px;right:6px;display:grid;width:24px;height:24px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(7,39,67,.82);color:#fff;font-size:16px;line-height:1;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.18)}
.ftx-remove-preview:hover{background:#c83d48}
.ftx-pro-resize-guide{margin-top:2px;padding:14px 16px;border:1px solid #d5e3ef;border-radius:12px;background:#f7fbff}
.ftx-pro-resize-guide h2{margin:0 0 5px;color:#0b3559;font-size:16px}.ftx-pro-resize-guide>p{margin:0;color:#5c7287;font-size:10.5px;line-height:1.5}
.ftx-resize-examples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.ftx-resize-examples span{display:grid;gap:2px;padding:8px 10px;border:1px solid #d6e3ee;border-radius:8px;background:#fff;color:#48637b;font-size:10px}.ftx-resize-examples b{color:#0b4772;font-size:10px}
.ftx-results-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}.ftx-results-heading h2{margin:0}.ftx-results-heading form{margin:0}.ftx-zip-button{min-height:38px!important;margin:0!important;padding:7px 17px!important;background:#0d6f56!important;font-size:12px!important;font-weight:700!important}
@media(max-width:700px){.ftx-resize-examples{grid-template-columns:1fr 1fr}.ftx-results-heading{align-items:flex-start;flex-direction:column}}

/* Safe resize v112: simplified heading and mistake-resistant resizing. */
.ftx-batch-titlebar{overflow:visible;min-height:54px;padding:9px 13px;border:0;border-left:0;border-radius:11px;background:#eef5fb;box-shadow:inset 0 -1px 0 #d5e2ed}
.ftx-batch-titlebar::after{display:none}
.ftx-batch-titlebar .eyebrow{padding:6px 10px;background:#155fae}
.ftx-batch-titlebar h1{padding-right:15px;border-right:1px solid #c6d7e5;font-size:21px}
.ftx-batch-titlebar p{font-size:10.5px}
.ftx-batch-controls label>small{display:block;margin-top:-2px;color:#73879a;font-size:8.5px;font-weight:500}
.ftx-resize-warning{margin:0;padding:9px 12px;border:1px solid #efb8b8;border-radius:9px;background:#fff1f1;color:#a32e37;font-size:11px;text-align:center}
.ftx-pro-resize-guide{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(430px,1.2fr);gap:14px 22px;align-items:center;margin-top:3px;padding:16px 18px;border-color:#cbddeb;background:linear-gradient(135deg,#f7fbff,#eef7ff)}
.ftx-pro-resize-guide h2{margin:5px 0 5px;font-size:17px}.ftx-pro-resize-guide>div>p{margin:0;color:#5c7287;font-size:10.5px;line-height:1.55}
.ftx-resize-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ftx-resize-presets button{min-height:34px;padding:6px 9px;border:1px solid #bed3e6;border-radius:999px;background:#fff;color:#15578f;font-size:9.5px;font-weight:650!important;cursor:pointer}
.ftx-resize-presets button:hover{border-color:#176fd0;background:#e5f1ff;color:#0b4d8d}
.ftx-resize-rule{grid-column:1/-1;padding:9px 12px;border-left:3px solid #16895a;border-radius:0 7px 7px 0;background:#ecf8f2;color:#496a5c;font-size:10px}.ftx-resize-rule strong,.ftx-resize-rule b{color:#126348}
@media(max-width:850px){.ftx-pro-resize-guide{grid-template-columns:1fr}.ftx-resize-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ftx-batch-titlebar h1{padding-right:0;border-right:0}.ftx-resize-presets{grid-template-columns:1fr}}

/* Converter alignment v113: unified heading baseline and consistent actions. */
.ftx-batch-titlebar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:10px 13px}
.ftx-batch-title-copy{display:flex;min-width:0;gap:14px;align-items:center}
.ftx-batch-title-copy .eyebrow{flex:0 0 auto}
.ftx-batch-title-copy h1{display:flex;min-height:30px;align-items:center;margin:0;padding-right:14px;border-right:1px solid #c6d7e5;font-size:21px;line-height:1}
.ftx-batch-title-copy p{margin:0;color:#45647f;font-size:11.5px;line-height:1.35}
.ftx-batch-title-actions{position:relative;z-index:1;display:flex;flex:0 0 auto;gap:8px;align-items:center}
.ftx-fullscreen-button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:6px 13px;border:1px solid #a9c6df;border-radius:999px;background:#fff;color:#14568f;font-size:11px;font-weight:700!important;cursor:pointer;box-shadow:0 4px 11px rgba(18,64,101,.07)}
.ftx-fullscreen-button:hover,.ftx-fullscreen-button[aria-pressed="true"]{border-color:#176fd0;background:#176fd0;color:#fff}
.ftx-batch-canvas .ftx-batch-picker input[type=file]{font-size:11px}
.ftx-batch-canvas .ftx-batch-picker input[type=file]::file-selector-button{min-height:38px;padding:8px 16px;font-size:12px;font-weight:700}
.ftx-pro-resize-guide>div>p{font-size:11.5px}.ftx-resize-presets button{font-size:10.5px}.ftx-resize-rule{font-size:11px}
.ftx-results-heading{padding-right:14px}
.ftx-batch-converter:fullscreen{width:100%;height:100%;overflow:auto;padding:26px;background:#f3f8fc}
.ftx-batch-converter:fullscreen .ftx-batch-canvas{max-width:1500px;margin-right:auto;margin-left:auto}
@media(max-width:900px){.ftx-batch-title-copy{flex-wrap:wrap;gap:7px 12px}.ftx-batch-title-copy p{flex:1 1 290px}.ftx-batch-title-actions{margin-left:auto}}
@media(max-width:600px){.ftx-batch-titlebar{align-items:flex-start;flex-direction:column}.ftx-batch-title-copy h1{padding-right:0;border-right:0}.ftx-batch-title-actions{width:100%;margin-left:0;justify-content:space-between}.ftx-results-heading{padding-right:0}}

/* Phase 1 — stability + unified transform foundation */
.fte-image-centre-anchor{
  position:absolute;left:50%;top:50%;
  width:10px;height:10px;margin-left:-5px;margin-top:-5px;
  border:2px solid #fff;border-radius:50%;background:#7c3aed;
  box-shadow:0 0 0 1px #5b21b6;pointer-events:none;z-index:8;
}

/* Phase 1.2 — normal editor viewport fit.
   The old fixed 610px minimum made the editor extend below shorter browser
   windows, so an image could be technically "Fit" but still not visible in
   one screen. Keep a comfortable workspace while sizing it to the viewport.
   Fullscreen rules already override this with height:100% / min-height:0. */
@media (min-width:901px){
  .fte-editor-shell:not(.is-focus-mode) .fte-stage{
    min-height:clamp(360px, calc(100dvh - 360px), 610px);
  }
}

/* Phase 1.3 — clean initial/Fit preview: no workspace scrollbars until pan/zoom needs them. */
.fte-stage.is-fit-clean{overflow:hidden!important;}

/* Phase 1.4 — file actions */
.fte-image-file-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.fte-image-file-actions .fte-replace-button,
.fte-remove-image-button{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}
.fte-remove-image-button{
  border:1px solid #fecaca;
  background:#fff;
  color:#b91c1c;
  border-radius:10px;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.fte-remove-image-button:hover{
  background:#fff7f7;
}

/* Phase 1.5 — safe source replace/remove + artboard remove button */
.fte-source-action-status{
  margin:8px 0 0;
  padding:8px 10px;
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#9a3412;
  border-radius:8px;
  font-size:12px;
  line-height:1.4;
}
.fte-image-file-actions .is-blocked,
.fte-remove-image-button.is-blocked{
  opacity:.52;
  cursor:not-allowed;
}
.fte-artboard-remove-image{
  position:absolute;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(127,29,29,.35);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#b91c1c;
  font-size:20px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
  z-index:35;
  box-shadow:0 1px 5px rgba(15,23,42,.16);
}
.fte-artboard-remove-image:hover{background:#fff1f2;}
.fte-artboard-remove-image.is-blocked{
  opacity:.48;
  cursor:not-allowed;
}

/* Phase 1.6 — compact source action + smoother centre resize */
.fte-image-file-actions.is-single{
  grid-template-columns:1fr;
}
.fte-image-file-actions.is-single .fte-replace-button{
  width:100%;
}

/* Phase 1.7 — Fullscreen/Restore are always clean Fit views */
.fte-stage.is-fit-transition,
.fte-stage.is-fit-clean{
  overflow:hidden !important;
  scrollbar-width:none;
}
.fte-stage.is-fit-transition::-webkit-scrollbar,
.fte-stage.is-fit-clean::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

/* Phase 2.1 — unified transform + 9-point anchor */
.fte-unified-transform{
  margin:10px 0 14px;
  padding:12px;
  border:1px solid #dbe6f2;
  border-radius:10px;
  background:#f8fbff;
}
.fte-transform-unit{
  font-size:11px;
  color:#64748b;
  font-weight:700;
}
.fte-transform-numbers{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:8px;
}
.fte-transform-numbers label{
  display:grid;
  gap:4px;
  font-size:11px;
  font-weight:700;
  color:#475569;
}
.fte-transform-numbers input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:7px 5px;
  border:1px solid #cbd5e1;
  border-radius:7px;
  background:#fff;
  color:#0f2745;
  font:inherit;
}
.fte-transform-anchor-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.fte-transform-anchor-row strong{
  display:block;
  font-size:12px;
  color:#17375e;
}
.fte-transform-anchor-row small{
  display:block;
  margin-top:2px;
  font-size:10px;
  line-height:1.35;
  color:#718096;
}
.fte-anchor-grid{
  display:grid;
  grid-template-columns:repeat(3,22px);
  grid-template-rows:repeat(3,22px);
  gap:4px;
}
.fte-anchor-grid button{
  position:relative;
  width:22px;height:22px;
  padding:0;
  border:1px solid #cbd5e1;
  border-radius:5px;
  background:#fff;
  cursor:pointer;
}
.fte-anchor-grid button::after{
  content:'';
  position:absolute;
  left:50%;top:50%;
  width:5px;height:5px;
  border-radius:50%;
  background:#94a3b8;
  transform:translate(-50%,-50%);
}
.fte-anchor-grid button:hover{border-color:#7c3aed;background:#f5f3ff;}
.fte-anchor-grid button.is-active{
  border-color:#6d28d9;
  background:#ede9fe;
  box-shadow:0 0 0 1px rgba(109,40,217,.12);
}
.fte-anchor-grid button.is-active::after{background:#6d28d9;}
@media(max-width:1120px){
  .fte-transform-numbers{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Phase 2.2 — Free Transform handles */
.fte-free-transform-h{
  position:absolute;width:11px;height:11px;border:2px solid #6d28d9;background:#fff;border-radius:50%;
  z-index:20;pointer-events:auto;touch-action:none;box-shadow:0 1px 4px rgba(30,41,59,.22);
}
.fte-free-transform-h.is-nw{left:-7px;top:-7px;cursor:nwse-resize}
.fte-free-transform-h.is-n{left:50%;top:-7px;transform:translateX(-50%);cursor:ns-resize}
.fte-free-transform-h.is-ne{right:-7px;top:-7px;cursor:nesw-resize}
.fte-free-transform-h.is-e{right:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.fte-free-transform-h.is-se{right:-7px;bottom:-7px;cursor:nwse-resize}
.fte-free-transform-h.is-s{left:50%;bottom:-7px;transform:translateX(-50%);cursor:ns-resize}
.fte-free-transform-h.is-sw{left:-7px;bottom:-7px;cursor:nesw-resize}
.fte-free-transform-h.is-w{left:-7px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.fte-rotate-stem{
  position:absolute;left:50%;top:-31px;width:1px;height:24px;background:#7c3aed;transform:translateX(-50%);
  z-index:18;pointer-events:none;
}
.fte-rotate-handle{
  position:absolute;left:50%;top:-48px;width:24px;height:24px;margin-left:-12px;
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  border:2px solid #6d28d9;border-radius:50%;background:#fff;color:#6d28d9;font-size:15px;font-weight:700;
  z-index:21;pointer-events:auto;touch-action:none;cursor:grab;box-shadow:0 1px 5px rgba(30,41,59,.22);
}
.fte-rotate-handle:active{cursor:grabbing;background:#f5f3ff}
.fte-text-object.is-selected,.fte-shape-object.is-selected,.fte-image-object.is-selected{overflow:visible!important}
.fte-unified-transform .fte-section-heading-row h3 small{font-size:10px;font-weight:500;color:#64748b}

/* Phase 2.3 — live transform visual clues */
.fte-transform-hud{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:60;
  display:grid;
  grid-template-columns:auto auto;
  gap:2px 10px;
  align-items:center;
  max-width:min(520px,calc(100% - 24px));
  padding:7px 10px;
  border:1px solid rgba(55,65,81,.22);
  border-radius:8px;
  background:rgba(15,23,42,.88);
  color:#fff;
  box-shadow:0 5px 18px rgba(15,23,42,.18);
  backdrop-filter:blur(6px);
  pointer-events:none;
  font-size:11px;
  line-height:1.25;
}
.fte-transform-hud[hidden]{display:none!important;}
.fte-transform-hud>span{
  grid-row:1 / span 2;
  align-self:stretch;
  display:flex;
  align-items:center;
  padding-right:9px;
  border-right:1px solid rgba(255,255,255,.2);
  color:#bfdbfe;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.fte-transform-hud strong{font-size:12px;font-weight:800;}
.fte-transform-hud em{font-style:normal;color:#dbeafe;}
.fte-transform-hud.is-snapped{
  border-color:#34d399;
  box-shadow:0 0 0 1px rgba(52,211,153,.18),0 5px 18px rgba(15,23,42,.18);
}
.fte-guide.is-snap-active{
  opacity:1!important;
  filter:drop-shadow(0 0 3px rgba(16,185,129,.8));
}
.fte-guide-v.is-snap-active{
  border-left-color:#10b981!important;
  border-left-width:2px!important;
}
.fte-guide-h.is-snap-active{
  border-top-color:#10b981!important;
  border-top-width:2px!important;
}

/* Phase 2.4 — final transform visual refinement */
.fte-smart-guide{
  position:absolute;
  z-index:48;
  pointer-events:none;
  opacity:.92;
}
.fte-smart-guide-v{
  top:0;bottom:0;width:0;
  border-left:1px solid #10b981;
  box-shadow:0 0 0 1px rgba(16,185,129,.08);
}
.fte-smart-guide-h{
  left:0;right:0;height:0;
  border-top:1px solid #10b981;
  box-shadow:0 0 0 1px rgba(16,185,129,.08);
}
.fte-object-anchor-point{
  position:absolute;
  width:9px;height:9px;
  margin-left:-4.5px;margin-top:-4.5px;
  padding:0;
  border:1px solid rgba(109,40,217,.62);
  border-radius:50%;
  background:rgba(255,255,255,.82);
  box-shadow:0 0 0 1px rgba(255,255,255,.65);
  transform:none!important;
  cursor:crosshair;
  z-index:16;
  opacity:.42;
}
.fte-object-anchor-point:hover{
  opacity:1;
  width:12px;height:12px;
  margin-left:-6px;margin-top:-6px;
  background:#ede9fe;
}
.fte-object-anchor-point.is-active{
  opacity:1;
  width:13px;height:13px;
  margin-left:-6.5px;margin-top:-6.5px;
  border:2px solid #fff;
  background:#7c3aed;
  box-shadow:0 0 0 2px #6d28d9;
}
.fte-transform-hud{
  opacity:.82;
  transform:scale(.96);
  transform-origin:left bottom;
}
.fte-transform-hud.is-snapped{opacity:.96;}

/* Phase 2.5 — final anchor usability + reliable rotation reset */
.fte-object-anchor-point{
  width:20px!important;
  height:20px!important;
  margin-left:-10px!important;
  margin-top:-10px!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  cursor:pointer!important;
  z-index:18!important;
}
.fte-object-anchor-point::after{
  content:'';
  position:absolute;
  left:50%;top:50%;
  width:7px;height:7px;
  border-radius:50%;
  background:rgba(124,58,237,.68);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 0 0 1px rgba(109,40,217,.32);
  transform:translate(-50%,-50%);
  transition:width .12s ease,height .12s ease,background .12s ease,box-shadow .12s ease;
}
.fte-object-anchor-point:hover::after{
  width:10px;height:10px;
  background:#7c3aed;
  box-shadow:0 0 0 3px rgba(124,58,237,.15);
}
.fte-object-anchor-point.is-active::after{
  width:11px;height:11px;
  background:#6d28d9;
  border:2px solid #fff;
  box-shadow:0 0 0 2px #6d28d9,0 0 0 5px rgba(109,40,217,.12);
}
.fte-rotate-handle{
  touch-action:none;
}

/* Phase 3.1 — Unicode typography + text presets */
.fte-font-toolbar{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:8px;
}
.fte-font-toolbar label{
  display:grid;
  gap:4px;
  font-size:11px;
  font-weight:700;
  color:#475569;
}
.fte-font-toolbar select,
.fte-font-toolbar input{
  width:100%;
  box-sizing:border-box;
  min-height:36px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  padding:7px 8px;
  font:inherit;
  color:#0f2745;
}
.fte-font-preview{
  margin:10px 0 14px;
  padding:10px 12px;
  border:1px solid #dbe6f2;
  border-radius:9px;
  background:#f8fbff;
}
.fte-font-preview span{
  display:block;
  margin-bottom:5px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#64748b;
}
.fte-font-preview strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:20px;
  line-height:1.35;
  color:#17375e;
}
.fte-text-preset-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}
.fte-text-preset-grid button{
  min-height:58px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:8px 10px;
  border:1px solid #dbe6f2;
  border-radius:9px;
  background:#fff;
  color:#17375e;
  text-align:left;
  cursor:pointer;
}
.fte-text-preset-grid button:hover{
  border-color:#8b5cf6;
  background:#faf8ff;
}
.fte-text-preset-grid strong{
  font-size:13px;
  line-height:1.25;
}
.fte-text-preset-grid small{
  font-size:10px;
  color:#718096;
}
@media(max-width:1120px){
  .fte-font-toolbar,.fte-text-preset-grid{grid-template-columns:1fr;}
}

/* Phase 3.2 — Unicode UX + glow/neon/3D text */
.fte-unicode-samples{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.fte-unicode-samples button{
  border:1px solid #dbe6f2;
  border-radius:999px;
  background:#fff;
  color:#315376;
  padding:5px 8px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.fte-unicode-samples button:hover{
  border-color:#8b5cf6;
  background:#faf8ff;
}
.fte-text-advanced-fx{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e5edf6;
}
.fte-text-preset-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.fte-text-preset-grid [data-text-preset="neon-blue"] strong{color:#0796b8;}
.fte-text-preset-grid [data-text-preset="neon-pink"] strong{color:#c0268d;}
.fte-text-preset-grid [data-text-preset="gold-glow"] strong,
.fte-text-preset-grid [data-text-preset="3d-gold"] strong{color:#9a6a14;}
@media(max-width:1120px){
  .fte-text-preset-grid{grid-template-columns:1fr 1fr;}
}

/* Phase 3.3 — clean text shadow + richer editable 3D */
.fte-text-object .fte-text-effects-layer,
.fte-text-object .fte-text-fill-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:flex;
  align-items:inherit;
  justify-content:inherit;
  text-align:inherit;
  pointer-events:none;
  white-space:pre-wrap;
  overflow:visible;
}
.fte-text-object .fte-text-effects-layer{z-index:0;}
.fte-text-object .fte-text-fill-layer{z-index:1;}
.fte-depth-direction-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin:8px 0;
}
.fte-depth-direction-grid button{
  min-height:34px;
  border:1px solid #dbe6f2;
  border-radius:8px;
  background:#fff;
  color:#315376;
  font-size:17px;
  cursor:pointer;
}
.fte-depth-direction-grid button:hover{
  border-color:#8b5cf6;
  background:#faf8ff;
}
.fte-text-preset-grid [data-text-preset="3d-blue"] strong{color:#1f6fb2;}
.fte-text-preset-grid [data-text-preset="3d-red"] strong{color:#b2382d;}
.fte-text-preset-grid [data-text-preset="3d-chrome"] strong{color:#64748b;}
.fte-text-preset-grid [data-text-preset="3d-retro"] strong{color:#b45309;}

/* Phase 4.1 — Eyedropper + solid fill */
.fte-color-sample-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  margin:8px 0 10px;
  border:1px solid #dbe6f2;
  border-radius:10px;
  background:#f8fbff;
}
.fte-color-swatch{
  width:42px;height:42px;
  flex:0 0 42px;
  border-radius:8px;
  border:1px solid rgba(15,39,69,.18);
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.fte-color-sample-card strong{display:block;font-size:14px;color:#17375e;}
.fte-color-sample-card small{display:block;margin-top:2px;font-size:10px;color:#718096;}
.fte-inspector #fte-color-picker{min-height:38px;width:100%;}
.fte-artboard.is-eyedropper-active,
.fte-artboard.is-eyedropper-active *{cursor:crosshair!important;}
#fte-clear-last-fill:disabled{opacity:.45;cursor:not-allowed;}

/* Phase 4.2 — Clone Stamp */
.fte-artboard.is-clone-source-pick,
.fte-artboard.is-clone-source-pick *{
  cursor:crosshair!important;
}
.fte-clone-cursor{
  position:absolute;
  z-index:58;
  border:1px solid rgba(255,255,255,.95);
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(15,23,42,.9);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.fte-clone-source-marker{
  position:absolute;
  z-index:59;
  width:24px;height:24px;
  margin-left:-12px;margin-top:-12px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid #fff;
  border-radius:50%;
  background:rgba(15,23,42,.78);
  color:#fff;
  font-size:18px;
  font-weight:700;
  line-height:1;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(15,23,42,.6);
}
#fte-panel-clone .fte-primary-action{
  margin-top:8px;
}

/* Phase 4.3 — Healing Brush + Patch */
.fte-artboard.is-heal-source-pick,
.fte-artboard.is-heal-source-pick *{cursor:crosshair!important;}
.fte-heal-cursor{
  position:absolute;
  z-index:58;
  border:1px dashed rgba(255,255,255,.98);
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(34,197,94,.9);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.fte-heal-source-marker{
  position:absolute;
  z-index:59;
  width:24px;height:24px;
  margin-left:-12px;margin-top:-12px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid #fff;
  border-radius:50%;
  background:rgba(22,101,52,.82);
  color:#fff;
  font-size:18px;font-weight:700;line-height:1;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(20,83,45,.65);
}
#fte-panel-heal .fte-primary-action{margin-top:8px;}

/* Phase 4.3.1 — smoother retouch interaction */
.fte-clone-cursor,
.fte-heal-cursor{
  will-change:left,top,width,height;
}

/* Phase 4.3.2 — fast retouch / clean tool switching */
.fte-stage:has(.fte-clone-cursor:not([hidden])),
.fte-stage:has(.fte-heal-cursor:not([hidden])){
  user-select:none;
}
.fte-clone-cursor,
.fte-heal-cursor{
  transition:none!important;
  pointer-events:none!important;
}

/* Phase 4.3.3 — patch quality / editing-mode Esc */
#fte-patch-color-match{accent-color:currentColor;}

/* Phase 4.3.4 — transient retouch visual cleanup */
.fte-clone-cursor[hidden],
.fte-clone-source-marker[hidden],
.fte-heal-cursor[hidden],
.fte-heal-source-marker[hidden]{
  display:none!important;
}

/* Phase 4.4 — Smart Remove / Content-Aware Fill */
#fte-heal-contentaware-section .fte-primary-action{margin-top:8px;}

/* Phase 4.4.1 — selection cursor / focus-mode Esc cleanup */
.fte-stage:not(.is-pencil-select){cursor:default;}

/* Phase 5.1 — Layers foundation */
.fte-layer-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.fte-layer-row{display:flex;align-items:center;gap:7px;min-height:42px;padding:6px 7px;border:1px solid rgba(15,23,42,.12);border-radius:9px;background:#fff}
.fte-layer-row.is-hidden{opacity:.52}.fte-layer-row.is-locked{background:#f8fafc}
.fte-layer-select{display:flex;align-items:center;gap:8px;min-width:0;flex:1;border:0;background:transparent;text-align:left;padding:4px;cursor:pointer}
.fte-layer-select.is-static{cursor:default}
.fte-layer-kind{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:#eef4ff;color:#1d4ed8;font-weight:700;flex:0 0 auto}
.fte-layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#172033}
.fte-layer-actions{display:flex;gap:3px;align-items:center}.fte-layer-actions button{width:27px;height:27px;border:1px solid rgba(15,23,42,.12);border-radius:6px;background:#fff;cursor:pointer;font-size:12px}
.fte-layer-actions button:hover{background:#eef4ff;border-color:#93b4ef}
.fte-layer-row.is-foundation{background:#f8fafc}.fte-layer-badge{font-size:9px;letter-spacing:.06em;font-weight:700;color:#64748b;padding:3px 6px;border-radius:999px;background:#e9eef5}

/* Phase 5.2 — Main Image / Background separation */
.fte-layer-bg-color-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px}
.fte-layer-bg-color-row input[type="color"]{width:56px;height:34px;padding:2px;border:1px solid rgba(15,23,42,.14);border-radius:7px;background:#fff}
.fte-layer-bg-preview{height:42px;margin-top:9px;border:1px solid rgba(15,23,42,.13);border-radius:8px;background:#fff}
.fte-layer-bg-preview.is-transparent{
  background-color:#fff;
  background-image:linear-gradient(45deg,#dfe5ec 25%,transparent 25%),linear-gradient(-45deg,#dfe5ec 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dfe5ec 75%),linear-gradient(-45deg,transparent 75%,#dfe5ec 75%);
  background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;
}

/* Phase 5.3 — Canvas presets, draggable Main Image, live background */
.fte-layer-preset-group{margin-top:12px}
.fte-layer-preset-group h4{margin:0 0 7px;font-size:11px;color:#475569;font-weight:700}
.fte-canvas-preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.fte-canvas-preset-grid button{min-height:31px;border:1px solid rgba(15,23,42,.13);border-radius:7px;background:#fff;font-size:11px;cursor:pointer}
.fte-canvas-preset-grid button:hover{background:#eef4ff;border-color:#93b4ef}
#fte-social-canvas-preset{width:100%;min-height:36px;border:1px solid rgba(15,23,42,.14);border-radius:7px;background:#fff;padding:5px 8px;font-size:12px}
.fte-main-layer-box{position:absolute;transform:translate(-50%,-50%);border:1.5px dashed #2563eb;box-sizing:border-box;z-index:13;cursor:move;touch-action:none;pointer-events:auto}
.fte-main-layer-box::before,.fte-main-layer-box::after{content:"";position:absolute;background:#2563eb}
.fte-main-layer-box::before{left:50%;top:-4px;width:7px;height:7px;border-radius:50%;transform:translateX(-50%)}
.fte-main-layer-box::after{left:-4px;top:50%;width:7px;height:7px;border-radius:50%;transform:translateY(-50%)}
.fte-main-layer-box.is-locked{cursor:not-allowed;border-color:#94a3b8}
.fte-main-layer-box.is-dragging{border-style:solid}
.fte-main-layer-drag-label{position:absolute;left:7px;top:7px;padding:3px 6px;border-radius:5px;background:rgba(37,99,235,.88);color:#fff;font-size:10px;line-height:1.2;pointer-events:none;white-space:nowrap}

/* Phase 5.4 — Main Image corner resize + snapping */
.fte-main-resize-handle{
  position:absolute;width:13px;height:13px;padding:0;border:2px solid #fff;border-radius:3px;
  background:#2563eb;box-shadow:0 0 0 1px #2563eb;z-index:3;touch-action:none
}
.fte-main-resize-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}
.fte-main-resize-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}
.fte-main-resize-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}
.fte-main-resize-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}
.fte-main-layer-box.is-locked .fte-main-resize-handle{display:none}
.fte-main-resize-handle.is-active{transform:scale(1.18)}
.fte-main-layer-box.is-snap-x{border-left-color:#16a34a;border-right-color:#16a34a}
.fte-main-layer-box.is-snap-y{border-top-color:#16a34a;border-bottom-color:#16a34a}
.fte-main-layer-box.is-snap-x.is-snap-y{border-color:#16a34a}

/* Phase 5.5 — Canva-like Main Image free transform */
.fte-main-resize-handle{width:15px;height:15px}
.fte-main-resize-handle.nw{left:-8px;top:-8px}
.fte-main-resize-handle.ne{right:-8px;top:-8px}
.fte-main-resize-handle.se{right:-8px;bottom:-8px}
.fte-main-resize-handle.sw{left:-8px;bottom:-8px}
.fte-main-layer-box{will-change:left,top,width,height}

/* Phase 5.6 — persistent Main Image transform handles
   The raster itself is already clipped by the canvas bitmap. Only the transform
   UI needs to extend into the pasteboard, as in Canva-style editors. */
.fte-artboard.is-main-layer-editing{
  overflow:visible !important;
}
.fte-artboard.is-main-layer-editing > #fte-preview-canvas{
  overflow:hidden;
}
.fte-artboard.is-main-layer-editing .fte-main-layer-box{
  overflow:visible;
}
.fte-artboard.is-main-layer-editing .fte-main-resize-handle{
  display:block;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.fte-artboard.is-main-layer-editing .fte-main-layer-box.is-locked .fte-main-resize-handle{
  display:none;
}

/* Phase 5.7 — Enter to apply Main Image transform */
.fte-enter-commit-hint{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:10px 0 6px;padding:8px 10px;border:1px solid rgba(37,99,235,.22);
  border-radius:8px;background:#f5f8ff;color:#24446f;font-size:11px;font-weight:600
}
.fte-enter-commit-hint kbd{
  min-width:42px;padding:3px 7px;border:1px solid #a9b8cc;border-bottom-width:2px;
  border-radius:5px;background:#fff;color:#16345d;font:600 11px/1.2 system-ui,sans-serif;
  text-align:center;box-shadow:0 1px 1px rgba(15,23,42,.06)
}

/* Phase 5.8 — professional layer management */
.fte-layer-row.is-object{position:relative}
.fte-layer-row.is-active{border-color:#7da7ed;background:#f1f6ff;box-shadow:0 0 0 1px rgba(37,99,235,.08)}
.fte-layer-row.is-menu-open{border-color:#93b4ef}
.fte-layer-drag{width:14px;flex:0 0 14px;color:#94a3b8;font-size:12px;letter-spacing:-3px;cursor:grab;user-select:none}
.fte-layer-row.is-dragging{opacity:.38}
.fte-layer-row.is-drop-before::before,.fte-layer-row.is-drop-after::after{
  content:"";position:absolute;left:4px;right:4px;height:2px;border-radius:2px;background:#2563eb;z-index:5
}
.fte-layer-row.is-drop-before::before{top:-5px}
.fte-layer-row.is-drop-after::after{bottom:-5px}
.fte-layer-actions{flex:0 0 auto}
.fte-layer-popover{
  position:fixed;z-index:100000;width:190px;padding:6px;border:1px solid rgba(15,23,42,.14);
  border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18)
}
.fte-layer-popover>button{
  display:flex;width:100%;align-items:center;gap:9px;min-height:34px;padding:6px 9px;border:0;
  border-radius:6px;background:transparent;color:#1e293b;text-align:left;font-size:12px;cursor:pointer
}
.fte-layer-popover>button:hover{background:#eef4ff}
.fte-layer-popover>button.is-danger{color:#b42318}
.fte-layer-popover>button.is-danger:hover{background:#fff1f0}
.fte-layer-pop-sep{height:1px;margin:5px 3px;background:#e2e8f0}
.fte-layer-rename-form{padding:5px}
.fte-layer-rename-form label{display:block;font-size:11px;font-weight:700;color:#475569}
.fte-layer-rename-form input{width:100%;box-sizing:border-box;margin-top:5px;min-height:35px;padding:6px 8px;border:1px solid #b9c5d5;border-radius:6px;font-size:12px}
.fte-layer-rename-form>div{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}
.fte-layer-rename-form button{min-height:31px;padding:5px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer;font-size:11px}
.fte-layer-rename-form button.is-primary{border-color:#2563eb;background:#2563eb;color:#fff}

/* Phase 5.8.1 — exclusive transform focus */
#fte-main-layer-box[hidden]{
  display:none !important;
  pointer-events:none !important;
}
.fte-artboard:not(.is-main-layer-editing) #fte-main-layer-box{
  display:none !important;
  pointer-events:none !important;
}
.fte-artboard.is-main-layer-editing #fte-main-layer-box{
  display:block;
}

/* Phase 5.8.2 — visible layer controls / no horizontal clipping */
#fte-panel-layers{overflow-x:hidden}
#fte-layer-list{min-width:0;max-width:100%;overflow-x:hidden}
.fte-layer-row{display:block;min-width:0;max-width:100%;box-sizing:border-box;padding:6px 7px}
.fte-layer-row-top{display:flex;align-items:center;gap:6px;min-width:0;width:100%}
.fte-layer-row-top .fte-layer-select{min-width:0;flex:1 1 auto}
.fte-layer-row-top .fte-layer-actions{flex:0 0 auto}
.fte-layer-name{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fte-layer-actions button{width:25px;height:25px;min-width:25px;padding:0}
.fte-layer-stack-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:6px;padding-left:20px}
.fte-layer-stack-actions button{
  min-width:0;height:27px;padding:0 3px;border:1px solid rgba(15,23,42,.12);border-radius:6px;
  background:#fff;color:#334155;font-size:10px;line-height:1;cursor:pointer;overflow:hidden
}
.fte-layer-stack-actions button span{font-size:9px}
.fte-layer-stack-actions button:hover{background:#eef4ff;border-color:#93b4ef;color:#1d4ed8}
.fte-layer-row.is-active .fte-layer-stack-actions button{background:#fff}
.fte-layer-row.is-foundation .fte-layer-row-top{min-height:30px}
.fte-layer-row.is-main-foundation .fte-layer-actions{margin-left:2px}
.fte-layer-drag{display:grid;place-items:center;width:13px;flex:0 0 13px}
@media(max-width:1450px){
  .fte-layer-stack-actions{padding-left:0}
  .fte-layer-stack-actions button span{display:none}
}

/* Phase 5.8.3 — resizable inspector + reliable Main Image lock */
.fte-editor-shell{--fte-inspector-width:320px}
@media(min-width:1051px){
  .fte-workspace-grid{
    grid-template-columns:78px minmax(0,1fr) 7px var(--fte-inspector-width) !important;
  }
  .fte-inspector-splitter{
    display:block;grid-column:3;position:relative;z-index:20;cursor:ew-resize;
    background:#e3eaf1;border-left:1px solid #d2dde7;border-right:1px solid #d2dde7;
    touch-action:none;user-select:none
  }
  .fte-inspector-splitter::after{
    content:"";position:absolute;left:2px;top:50%;width:2px;height:42px;transform:translateY(-50%);
    border-radius:2px;background:#9baebe;box-shadow:0 -8px 0 #9baebe,0 8px 0 #9baebe
  }
  .fte-inspector-splitter:hover,.fte-inspector-splitter.is-dragging{background:#d8e8f6}
  .fte-inspector{grid-column:4;min-width:0}
}
@media(max-width:1050px){
  .fte-inspector-splitter{display:none!important}
}
.fte-main-row-lock.is-on{background:#eef4ff!important;border-color:#7da7ed!important;color:#174d7b}
.fte-layer-row.is-main-foundation.is-locked{border-color:#a9b8c8;background:#f3f6f9}

/* Phase 5.8.4 — Ctrl object picker + focus handoff */
.fte-stage.is-ctrl-object-select .fte-text-object,
.fte-stage.is-ctrl-object-select .fte-shape-object,
.fte-stage.is-ctrl-object-select .fte-image-object{
  pointer-events:auto !important;
  cursor:pointer !important;
}
.fte-stage.is-ctrl-object-select .fte-text-object:hover,
.fte-stage.is-ctrl-object-select .fte-shape-object:hover,
.fte-stage.is-ctrl-object-select .fte-image-object:hover{
  outline:1px solid rgba(37,99,235,.78);
  outline-offset:2px;
}

/* Phase 6.1 — clean final export */
body.fte-export-open{overflow:hidden}
.fte-export-modal[hidden]{display:none!important}
.fte-export-modal{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:18px;background:rgba(10,23,38,.56);backdrop-filter:blur(3px)}
.fte-export-dialog{width:min(760px,96vw);max-height:92dvh;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(15,23,42,.12);border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.fte-export-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid #e4eaf0}
.fte-export-head h2{margin:3px 0 4px;color:#123453;font-size:22px}.fte-export-head p{margin:0;color:#6b7f90;font-size:12px}
.fte-export-close{width:34px;height:34px;border:1px solid #d4dee8;border-radius:8px;background:#fff;color:#50677a;font-size:22px;cursor:pointer}
.fte-export-body{overflow-y:auto;padding:16px 22px;display:grid;gap:13px}
.fte-export-section{padding:14px;border:1px solid #dce5ed;border-radius:12px;background:#fbfdff}
.fte-export-section h3{margin:0 0 10px;color:#183d60;font-size:14px}
.fte-export-section>label{display:grid;gap:5px;margin-top:9px;color:#506a80;font-size:11px}
.fte-export-section input[type="text"],.fte-export-section input[type="number"],.fte-export-section select{width:100%;box-sizing:border-box;min-height:38px;padding:7px 9px;border:1px solid #cad8e5;border-radius:8px;background:#fff;color:#17344f}
.fte-export-quality-row span{display:flex;justify-content:space-between}
.fte-export-size-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.fte-export-size-tabs button,.fte-export-scale-grid button{min-height:34px;border:1px solid #cad8e5;border-radius:7px;background:#fff;color:#38566e;cursor:pointer}
.fte-export-size-tabs button.is-active,.fte-export-scale-grid button.is-active{border-color:#4b8bd9;background:#edf5ff;color:#0b5eae}
.fte-export-size-pane{margin-top:10px}.fte-export-size-pane[hidden]{display:none!important}
.fte-export-project-size{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:8px;background:#eef5fb}.fte-export-project-size strong{color:#143f66;font-size:15px}.fte-export-project-size span{color:#6e8294;font-size:10px}
.fte-export-scale-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.fte-export-upscale-row{margin-top:12px!important;padding:9px 10px;border:1px solid #dce7f2;border-radius:8px;background:#f7fbff}.fte-export-upscale-row span{display:grid;gap:2px}.fte-export-upscale-row small{font-size:9px;font-weight:400;color:#7890a4}
.fte-export-transparency-note{padding:9px 10px;border-radius:8px;background:#eef8f3;color:#38634e;font-size:10px;line-height:1.45}.fte-export-jpeg-bg{grid-template-columns:1fr auto!important;align-items:center}.fte-export-jpeg-bg input{width:62px;height:36px}
.fte-export-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;background:#153f67;color:#dcecff}.fte-export-summary strong{color:#fff}
.fte-export-status{min-height:18px;margin:0;color:#49667e;font-size:11px}
.fte-export-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid #e4eaf0;background:#f8fafc}.fte-export-foot button{min-width:128px}
@media(max-width:600px){.fte-export-scale-grid{grid-template-columns:repeat(2,1fr)}.fte-export-head,.fte-export-body,.fte-export-foot{padding-left:14px;padding-right:14px}}

/* Phase 6.1.1 — explicit export background / transparency */
.fte-export-bg-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.fte-export-bg-choices>label{display:flex;align-items:flex-start;gap:7px;padding:10px;border:1px solid #d4e0ea;border-radius:9px;background:#fff;cursor:pointer}
.fte-export-bg-choices>label:has(input:checked){border-color:#4d8dd8;background:#eef6ff;box-shadow:0 0 0 1px rgba(77,141,216,.1)}
.fte-export-bg-choices input{margin-top:2px}.fte-export-bg-choices span{display:grid;gap:2px}.fte-export-bg-choices strong{color:#234865;font-size:11px}.fte-export-bg-choices small{color:#71889a;font-size:9px;line-height:1.3}
.fte-export-bg-choices .is-disabled{opacity:.58}
.fte-export-bg-preview-row{display:flex;align-items:center;gap:12px;margin-top:10px}
.fte-export-bg-preview{width:104px;height:54px;display:grid;place-items:center;border:1px solid #cbd8e3;border-radius:8px;background:#fff;color:#5f7587;font-size:9px}
.fte-export-bg-preview.is-transparent{background-color:#fff!important;background-image:linear-gradient(45deg,#dce4eb 25%,transparent 25%),linear-gradient(-45deg,#dce4eb 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dce4eb 75%),linear-gradient(-45deg,transparent 75%,#dce4eb 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0}
.fte-export-bg-preview.is-transparent span{padding:2px 5px;border-radius:4px;background:rgba(255,255,255,.85)}
.fte-export-bg-color{display:flex!important;align-items:center;gap:8px!important;margin:0!important}.fte-export-bg-color input{width:58px;height:36px}
@media(max-width:650px){.fte-export-bg-choices{grid-template-columns:1fr}}

/* Phase 6.2 — autosave / saved projects / recent projects */
body.fte-project-open{overflow:hidden}
.fte-recovery-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;border-top:1px solid #cfe0ef;border-bottom:1px solid #cfe0ef;background:#f2f8ff;color:#294e6b}
.fte-recovery-banner[hidden]{display:none!important}.fte-recovery-banner>div:first-child{display:grid;gap:2px}.fte-recovery-banner strong{font-size:12px}.fte-recovery-banner span{font-size:10px;color:#627d92}
.fte-recovery-actions{display:flex;gap:6px}.fte-recovery-actions button{min-height:31px;padding:5px 10px;border:1px solid #bfd0df;border-radius:7px;background:#fff;color:#38576e;cursor:pointer;font-size:10px}.fte-recovery-actions button.is-primary{border-color:#2778c6;background:#2778c6;color:#fff}
.fte-project-modal[hidden]{display:none!important}.fte-project-modal{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;padding:18px;background:rgba(10,23,38,.56);backdrop-filter:blur(3px)}
.fte-project-dialog{width:min(880px,96vw);max-height:92dvh;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(15,23,42,.12);border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.fte-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid #e4eaf0}.fte-project-head h2{margin:3px 0 4px;color:#123453;font-size:22px}.fte-project-head p{margin:0;color:#6b7f90;font-size:12px}
.fte-project-close{width:34px;height:34px;border:1px solid #d4dee8;border-radius:8px;background:#fff;color:#50677a;font-size:22px;cursor:pointer}
.fte-project-body{overflow-y:auto;padding:16px 22px 22px;display:grid;gap:14px}
.fte-project-save-card,.fte-project-recent-section{padding:14px;border:1px solid #dce5ed;border-radius:12px;background:#fbfdff}.fte-project-save-card h3,.fte-project-recent-section h3{margin:0 0 4px;color:#183d60;font-size:14px}.fte-project-save-card p,.fte-project-recent-section p{margin:0;color:#71879a;font-size:10px}
.fte-project-save-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}.fte-project-save-row input{min-height:38px;padding:7px 10px;border:1px solid #c9d7e4;border-radius:8px;font-size:12px}.fte-project-save-row button{min-width:130px}
.fte-project-storage-note{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:#6c8294;font-size:9px}.fte-autosave-state{font-weight:700;color:#4c6b81}.fte-autosave-state[data-state="ok"]{color:#287350}.fte-autosave-state[data-state="warn"]{color:#a2522c}
.fte-project-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.fte-project-section-head .fte-wide-action{width:auto;min-width:80px;margin:0}
.fte-project-list{display:grid;gap:9px;margin-top:12px}.fte-project-card{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:11px;align-items:center;padding:8px;border:1px solid #d7e2eb;border-radius:10px;background:#fff}
.fte-project-thumb{width:132px;height:78px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:#eef3f7;color:#8293a1;font-size:9px}.fte-project-thumb img{width:100%;height:100%;object-fit:cover}
.fte-project-info{display:grid;gap:3px;min-width:0}.fte-project-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173e60;font-size:12px}.fte-project-info span{color:#526f85;font-size:10px}.fte-project-info small{color:#8193a1;font-size:9px}
.fte-project-card-actions{display:grid;grid-template-columns:repeat(2,auto);gap:5px}.fte-project-card-actions button,.fte-project-rename-row button{min-height:29px;padding:4px 8px;border:1px solid #cbd8e4;border-radius:6px;background:#fff;color:#3e5d74;font-size:9px;cursor:pointer}.fte-project-card-actions button.is-primary{border-color:#2879c7;background:#2879c7;color:#fff}.fte-project-card-actions button.is-confirm{border-color:#c95151;background:#fff1f1;color:#a22828}
.fte-project-rename-row{display:flex;gap:5px;margin-top:4px}.fte-project-rename-row[hidden]{display:none!important}.fte-project-rename-row input{min-width:0;flex:1;padding:4px 7px;border:1px solid #cbd8e4;border-radius:6px;font-size:10px}
.fte-project-empty,.fte-project-loading,.fte-project-error{padding:22px;text-align:center;color:#758b9d;font-size:11px}
@media(max-width:720px){.fte-project-card{grid-template-columns:92px minmax(0,1fr)}.fte-project-thumb{width:92px;height:62px}.fte-project-card-actions{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.fte-project-storage-note{display:grid}.fte-project-save-row{grid-template-columns:1fr}}

/* Phase 6.2.1 — clean project restore / stable Hand activation */
.fte-project-restoring #fte-main-layer-box,
.fte-project-restoring .fte-free-transform-handle,
.fte-project-restoring .fte-transform-rotate-handle{
  display:none !important;
}

/* Phase 6.3 — Symbols gallery + reusable browser assets */
.fte-panel-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.fte-symbol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.fte-symbol-card{display:grid;place-items:center;gap:5px;min-height:78px;padding:8px 5px;border:1px solid #d6e1ea;border-radius:9px;background:#fff;color:#50687c;cursor:pointer}
.fte-symbol-card:hover{border-color:#79a9df;background:#f2f7ff}.fte-symbol-card svg{width:32px;height:32px}.fte-symbol-card span{font-size:9px}
.fte-asset-upload-button{display:flex!important;align-items:center;justify-content:center;min-height:36px;margin-top:8px!important;border:1px solid #8bb2dc!important;border-radius:8px;background:#eef6ff;color:#1b5f9c!important;font-weight:700;cursor:pointer}
.fte-asset-library-status{margin-top:7px;color:#72879a;font-size:9px}
.fte-asset-library-grid{display:grid;gap:7px;margin-top:10px}.fte-user-asset-card{display:grid;grid-template-columns:58px minmax(0,1fr) 28px;gap:8px;align-items:center;padding:6px;border:1px solid #d9e3eb;border-radius:9px;background:#fff}
.fte-user-asset-insert{width:58px;height:48px;padding:0;border:0;border-radius:6px;overflow:hidden;background:#eef2f6;cursor:pointer}.fte-user-asset-insert img{width:100%;height:100%;object-fit:cover}
.fte-user-asset-card>div{display:grid;gap:2px;min-width:0}.fte-user-asset-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#234760;font-size:10px}.fte-user-asset-card small{color:#8193a1;font-size:8px}
.fte-user-asset-delete{width:26px;height:26px;border:1px solid #e0c8c8;border-radius:6px;background:#fff;color:#a33;cursor:pointer}.fte-user-asset-delete:hover{background:#fff1f1}
.fte-asset-library-empty,.fte-asset-library-loading{padding:18px;text-align:center;color:#7a8e9f;font-size:10px}

/* Phase 6.4 — saved text styles + brand palette */
.fte-saved-text-styles{margin:12px 0 4px;padding:10px;border:1px solid #dbe5ed;border-radius:10px;background:#fbfdff}
.fte-save-style-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.fte-save-style-row input{min-width:0;min-height:34px;padding:6px 8px;border:1px solid #cad8e4;border-radius:7px;font-size:10px}.fte-save-style-row button{min-width:92px}.fte-saved-style-status{margin:6px 0;color:#758a9c;font-size:8px}
.fte-saved-style-list{display:grid;gap:6px}.fte-saved-style-card{display:grid;grid-template-columns:42px minmax(0,1fr) 26px 26px;gap:6px;align-items:center;padding:5px;border:1px solid #d9e3eb;border-radius:8px;background:#fff}
.fte-saved-style-preview{width:42px;height:36px;border:0;border-radius:6px;cursor:pointer}.fte-saved-style-preview span{color:#fff;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.fte-saved-style-meta{display:grid;gap:1px;min-width:0}.fte-saved-style-meta>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#244962;font-size:9px}.fte-saved-style-meta>small{color:#8294a1;font-size:7px}
.fte-saved-style-more,.fte-saved-style-delete{width:26px;height:26px;border:1px solid #d7e1e9;border-radius:6px;background:#fff;color:#546f83;cursor:pointer}.fte-saved-style-delete{color:#a33;border-color:#ead2d2}
.fte-saved-style-rename{display:flex;gap:4px;margin-top:3px}.fte-saved-style-rename[hidden]{display:none!important}.fte-saved-style-rename input{min-width:0;flex:1;padding:3px 5px;border:1px solid #ccd9e4;border-radius:5px;font-size:8px}.fte-saved-style-rename button{padding:3px 5px;border:1px solid #b9cee0;border-radius:5px;background:#eef6ff;font-size:8px}.fte-saved-style-empty{padding:9px;text-align:center;color:#8394a2;font-size:8px}
.fte-brand-palette-add{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:6px;align-items:center;margin-top:8px}.fte-brand-palette-add input[type=color]{width:46px;height:34px;padding:2px;border:1px solid #cad8e4;border-radius:7px;background:#fff}.fte-brand-palette-add input[type=text]{min-width:0;height:34px;padding:5px 7px;border:1px solid #cad8e4;border-radius:7px;font-size:9px}.fte-brand-palette-add button{height:34px;padding:0 10px;border:1px solid #77a7d7;border-radius:7px;background:#eef6ff;color:#1c5d98;font-size:9px;font-weight:700;cursor:pointer}
.fte-brand-palette{display:grid;gap:6px;margin-top:9px}.fte-brand-color-card{display:grid;grid-template-columns:34px minmax(0,1fr) 26px;gap:7px;align-items:center;padding:5px;border:1px solid #dbe4eb;border-radius:8px;background:#fff}.fte-brand-color-swatch{width:34px;height:30px;border:1px solid rgba(0,0,0,.12);border-radius:6px;cursor:pointer}.fte-brand-color-card>div{display:grid;gap:1px;min-width:0}.fte-brand-color-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#294d65;font-size:9px}.fte-brand-color-card small{color:#8093a2;font-size:7px}.fte-brand-color-delete{width:26px;height:26px;border:1px solid #ead2d2;border-radius:6px;background:#fff;color:#a33;cursor:pointer}.fte-brand-palette-empty{padding:10px;text-align:center;color:#8193a2;font-size:8px}

/* Phase 6.4.1 — transform geometry polish */
.fte-main-resize-handle{
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  border:2px solid #fff!important;
  background:#2563eb!important;
  box-shadow:0 0 0 1.5px #2563eb,0 1px 4px rgba(15,23,42,.18)!important;
}
.fte-main-resize-handle.nw{left:-8px!important;top:-8px!important}
.fte-main-resize-handle.ne{right:-8px!important;top:-8px!important}
.fte-main-resize-handle.se{right:-8px!important;bottom:-8px!important}
.fte-main-resize-handle.sw{left:-8px!important;bottom:-8px!important}
.fte-main-resize-handle.is-active{transform:scale(1.18);box-shadow:0 0 0 2px #2563eb,0 0 0 5px rgba(37,99,235,.14)!important}

/* Anchor hit areas remain generous, but their visible dots now sit precisely on
   the object's true 0/50/100% anchor coordinates. */
.fte-object-anchor-point{
  transform:translate(0,0)!important;
}
.fte-object-anchor-point::after{
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
}

/* Phase 6.4.2 — Main Image overlay follows actual rendered raster bounds */
.fte-main-layer-box{
  border:1.5px dashed #2563eb!important;
}
.fte-main-layer-box::before,
.fte-main-layer-box::after{
  display:none!important;
}
.fte-main-layer-drag-label{
  border-radius:5px!important;
}

/* Phase 6.4.4 — Main Image visible-content handles only */
.fte-main-resize-handle{
  width:16px!important;height:16px!important;border-radius:50%!important;
  border:2px solid #fff!important;background:#2563eb!important;
  box-shadow:0 0 0 1.5px #2563eb,0 1px 4px rgba(15,23,42,.18)!important;
}

/* Phase 6.5 — saved shape styles + brand quick apply */
.fte-saved-shape-styles,.fte-shape-brand-colours,.fte-text-brand-colours{
  margin:10px 0 12px;padding:10px;border:1px solid #dbe5ed;border-radius:10px;background:#fbfdff
}
.fte-saved-shape-preview{
  width:42px;height:36px;padding:0;border-style:solid;border-radius:7px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.38)
}
.fte-saved-shape-preview span{display:block;width:16px;height:16px;margin:auto;background:rgba(255,255,255,.22)}
.fte-brand-quick-target{display:flex;gap:5px;margin:5px 0 8px}
.fte-brand-quick-target button{
  flex:1;min-height:28px;border:1px solid #cbd9e5;border-radius:6px;background:#fff;color:#526d82;font-size:9px;font-weight:700;cursor:pointer
}
.fte-brand-quick-target button.is-active{border-color:#4f8ed0;background:#eaf4ff;color:#175b98}
.fte-brand-quick-swatches{display:flex;flex-wrap:wrap;gap:7px;min-height:28px;align-items:center}
.fte-brand-quick-swatch{
  width:28px;height:28px;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(15,23,42,.18);cursor:pointer
}
.fte-brand-quick-swatch:hover{transform:scale(1.08);box-shadow:0 0 0 2px rgba(37,99,235,.25)}
.fte-brand-quick-empty{color:#8394a2;font-size:8px}

/* Phase 6.6 — Project Start / Open Image / Create Canvas */
.fte-start-card{width:min(760px,96%);padding:28px;border:1px solid #d6e2ec;border-radius:22px;background:linear-gradient(145deg,#ffffff,#f7fbff);box-shadow:0 18px 42px rgba(34,84,126,.10)}
.fte-start-brand{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eaf4ff;color:#0f5c99;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.fte-start-card h2{margin:10px 0 4px;color:#163b59;font-size:28px}.fte-start-card>p{margin:0 0 18px;color:#6b8193;font-size:13px}.fte-start-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fte-start-choice{display:grid;gap:4px;justify-items:start;min-height:126px;padding:16px;border:1px solid #cfdeea;border-radius:16px;background:#fff;color:#23445f;text-align:left;cursor:pointer}.fte-start-choice:hover{border-color:#5d9ed4;background:#f8fcff}.fte-start-choice.is-active{border:2px solid #2c7fbe;background:#eef7ff;box-shadow:0 8px 18px rgba(44,127,190,.10)}.fte-start-choice-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#e8f3ff;font-size:22px}.fte-start-choice strong{font-size:17px}.fte-start-choice small{color:#6f8494}.fte-start-image-pane,.fte-start-canvas-pane{margin-top:18px;padding:16px;border:1px solid #dce7ef;border-radius:14px;background:#fbfdff}.fte-start-image-pane{display:grid;justify-items:center;gap:10px;color:#73879a;font-size:12px}.fte-start-primary{width:100%;justify-content:center}.fte-start-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.fte-start-tabs button{padding:7px 12px;border:1px solid #cbd9e6;border-radius:999px;background:#fff;color:#5a7285;font-size:11px;font-weight:700;cursor:pointer}.fte-start-tabs button.is-active{border-color:#287cc1;background:#eaf5ff;color:#145b96}.fte-start-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fte-start-preset{padding:13px;border:1px solid #d4e0e9;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.fte-start-preset:hover{border-color:#6da6d6}.fte-start-preset.is-selected{border:2px solid #287cc1;background:#eef7ff}.fte-start-preset strong{display:block;color:#26445b;font-size:13px}.fte-start-preset span{display:block;margin-top:4px;color:#7890a2;font-size:11px}.fte-start-custom-size{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fte-start-custom-size label{display:grid;gap:5px;color:#587084;font-size:11px;font-weight:700}.fte-start-custom-size input{padding:10px;border:1px solid #cbd9e6;border-radius:9px;background:#fff}.fte-start-bg-row{display:grid;gap:8px;margin:14px 0}.fte-start-bg-row>span{color:#587084;font-size:11px;font-weight:800}.fte-start-bg-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fte-start-bg-options label{display:flex;align-items:center;gap:5px;color:#4d6477;font-size:11px}.fte-start-bg-options input[type=color]{width:34px;height:28px;padding:2px;border:1px solid #cbd9e6;border-radius:7px;background:#fff}.fte-start-bg-options input[type=color]:disabled{opacity:.45}.fte-empty-state{overflow:auto}
@media(max-width:700px){.fte-start-card{padding:18px}.fte-start-card h2{font-size:23px}.fte-start-choice-row,.fte-start-preset-grid,.fte-start-custom-size{grid-template-columns:1fr}.fte-start-choice{min-height:98px}.fte-start-bg-options{align-items:flex-start;flex-direction:column}}


/* Phase 6.6.1 — clean project opening: no duplicate picker, no first-frame jump */
.fte-start-image-pane.is-hint-only{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  text-align:center;
}
.fte-start-image-pane.is-hint-only span{
  margin:0;
}
.fte-stage.is-initializing-project .fte-artboard{
  visibility:hidden !important;
}


/* Phase 6.6.2 — absolutely still first frame.
   The artboard normally has a 120ms width/height transition. During project
   initialization that animation can make a correctly centred canvas appear to
   drift a few pixels. Disable it until the final centred frame is revealed. */
.fte-stage.is-initializing-project .fte-artboard{
  visibility:hidden !important;
  transition:none !important;
}


/* Phase 6.6.3 — canvas projects have no editable Main Image substrate. */
.fte-panel-section[hidden]{display:none!important;}


/* Phase 6.6.4 — transform handles stay visible outside the clipped canvas */
.fte-image-outside-transform{position:fixed;box-sizing:border-box;border:1px dashed #7c3aed;pointer-events:none;z-index:2147482000}
.fte-image-outside-transform[hidden]{display:none!important}
.fte-image-outside-transform .fte-free-transform-h,.fte-image-outside-transform .fte-rotate-handle{pointer-events:auto!important}
.fte-image-outside-transform .fte-rotate-stem{pointer-events:none}
.fte-image-object.is-outside-transform-active > .fte-free-transform-h,.fte-image-object.is-outside-transform-active > .fte-rotate-handle,.fte-image-object.is-outside-transform-active > .fte-rotate-stem{visibility:hidden!important}


/* Phase 6.6.5 — image transform commit + circular handles + 9-point anchors */
.fte-image-outside-transform .fte-free-transform-h{
  box-sizing:border-box!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  min-height:14px!important;
  max-width:14px!important;
  max-height:14px!important;
  padding:0!important;
  border-radius:50%!important;
  border:2px solid #6d28d9!important;
  background:#fff!important;
}
.fte-image-outside-transform .fte-free-transform-h.is-nw{left:-7px!important;top:-7px!important}
.fte-image-outside-transform .fte-free-transform-h.is-n{left:50%!important;top:-7px!important;transform:translateX(-50%)!important}
.fte-image-outside-transform .fte-free-transform-h.is-ne{right:-7px!important;top:-7px!important}
.fte-image-outside-transform .fte-free-transform-h.is-e{right:-7px!important;top:50%!important;transform:translateY(-50%)!important}
.fte-image-outside-transform .fte-free-transform-h.is-se{right:-7px!important;bottom:-7px!important}
.fte-image-outside-transform .fte-free-transform-h.is-s{left:50%!important;bottom:-7px!important;transform:translateX(-50%)!important}
.fte-image-outside-transform .fte-free-transform-h.is-sw{left:-7px!important;bottom:-7px!important}
.fte-image-outside-transform .fte-free-transform-h.is-w{left:-7px!important;top:50%!important;transform:translateY(-50%)!important}

.fte-outside-anchor{
  position:absolute;
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  pointer-events:auto;
  z-index:24;
  cursor:pointer;
}
.fte-outside-anchor::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(37,99,235,.72);
  border:1px solid #fff;
  box-shadow:0 0 0 1px rgba(37,99,235,.38);
  transform:translate(-50%,-50%);
}
.fte-outside-anchor:hover::after{
  width:10px;
  height:10px;
  background:#2563eb;
}
.fte-outside-anchor.is-active::after{
  width:11px;
  height:11px;
  background:#2563eb;
  border:2px solid #fff;
  box-shadow:0 0 0 2px #2563eb,0 0 0 5px rgba(37,99,235,.14);
}

/* Keep anchor dots slightly inset so they do not cover the resize handles. */
.fte-outside-anchor.is-tl{left:14px;top:14px}
.fte-outside-anchor.is-tc{left:50%;top:14px;transform:translateX(-50%)}
.fte-outside-anchor.is-tr{right:14px;top:14px}
.fte-outside-anchor.is-ml{left:14px;top:50%;transform:translateY(-50%)}
.fte-outside-anchor.is-mc{left:50%;top:50%;transform:translate(-50%,-50%)}
.fte-outside-anchor.is-mr{right:14px;top:50%;transform:translateY(-50%)}
.fte-outside-anchor.is-bl{left:14px;bottom:14px}
.fte-outside-anchor.is-bc{left:50%;bottom:14px;transform:translateX(-50%)}
.fte-outside-anchor.is-br{right:14px;bottom:14px}


/* Phase 6.6.7 — smooth zoom-slider gesture */
.fte-editor-shell.is-zoom-slider-dragging .fte-artboard{
  transition:none!important;
}

/* Phase 6.6.7 — rotating off-canvas transform frame.
   Resize handles sit OUTSIDE the transform box; anchor dots sit exactly on the
   nine mathematical anchor positions, so they no longer look displaced. */
.fte-image-outside-transform{
  transform-origin:50% 50%!important;
}
.fte-image-outside-transform .fte-free-transform-h{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  min-height:14px!important;
  max-width:14px!important;
  max-height:14px!important;
  padding:0!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
}
.fte-image-outside-transform .fte-free-transform-h.is-nw{left:-10px!important;top:-10px!important}
.fte-image-outside-transform .fte-free-transform-h.is-n{left:50%!important;top:-10px!important;transform:translateX(-50%)!important}
.fte-image-outside-transform .fte-free-transform-h.is-ne{right:-10px!important;top:-10px!important}
.fte-image-outside-transform .fte-free-transform-h.is-e{right:-10px!important;top:50%!important;transform:translateY(-50%)!important}
.fte-image-outside-transform .fte-free-transform-h.is-se{right:-10px!important;bottom:-10px!important}
.fte-image-outside-transform .fte-free-transform-h.is-s{left:50%!important;bottom:-10px!important;transform:translateX(-50%)!important}
.fte-image-outside-transform .fte-free-transform-h.is-sw{left:-10px!important;bottom:-10px!important}
.fte-image-outside-transform .fte-free-transform-h.is-w{left:-10px!important;top:50%!important;transform:translateY(-50%)!important}

.fte-outside-anchor{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  min-height:14px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
}
.fte-outside-anchor::after{
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
}
.fte-outside-anchor.is-tl{left:0!important;top:0!important;transform:translate(-50%,-50%)!important}
.fte-outside-anchor.is-tc{left:50%!important;top:0!important;transform:translate(-50%,-50%)!important}
.fte-outside-anchor.is-tr{left:100%!important;top:0!important;right:auto!important;transform:translate(-50%,-50%)!important}
.fte-outside-anchor.is-ml{left:0!important;top:50%!important;transform:translate(-50%,-50%)!important}
.fte-outside-anchor.is-mc{left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}
.fte-outside-anchor.is-mr{left:100%!important;top:50%!important;right:auto!important;transform:translate(-50%,-50%)!important}
.fte-outside-anchor.is-bl{left:0!important;top:100%!important;bottom:auto!important;transform:translate(-50%,-50%)!important}
.fte-outside-anchor.is-bc{left:50%!important;top:100%!important;bottom:auto!important;transform:translate(-50%,-50%)!important}
.fte-outside-anchor.is-br{left:100%!important;top:100%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important}


/* Phase 6.7 — Starter Templates */
.fte-start-mode-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin:0 0 12px;
  padding:4px;
  border:1px solid #d7e3ec;
  border-radius:10px;
  background:#f4f8fb;
}
.fte-start-mode-switch button{
  min-height:34px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#60788a;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.fte-start-mode-switch button.is-active{
  background:#fff;
  color:#1769aa;
  box-shadow:0 1px 4px rgba(15,39,69,.11);
}
.fte-template-intro{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin:2px 0 9px;
}
.fte-template-intro strong{font-size:12px;color:#183d5a}
.fte-template-intro span{font-size:9px;color:#7890a1;text-align:right}
.fte-template-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  max-height:310px;
  overflow:auto;
  padding:2px 3px 4px 1px;
}
.fte-template-card{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  grid-template-rows:auto auto 1fr;
  column-gap:9px;
  text-align:left;
  padding:8px;
  border:1px solid #d7e3ec;
  border-radius:10px;
  background:#fff;
  color:#294960;
  cursor:pointer;
}
.fte-template-card:hover{border-color:#82b5df;background:#fafdff}
.fte-template-card.is-selected{
  border-color:#2378bd;
  box-shadow:0 0 0 2px rgba(35,120,189,.11);
  background:#f3f9ff;
}
.fte-template-preview{
  position:relative;
  grid-row:1/4;
  width:68px;
  height:58px;
  overflow:hidden;
  border-radius:7px;
  background:var(--tpl-bg,#fff);
  box-shadow:inset 0 0 0 1px rgba(15,39,69,.09);
}
.fte-template-preview-bar{
  position:absolute;left:8px;top:10px;width:32px;height:5px;border-radius:4px;background:var(--tpl-accent,#2679bd)
}
.fte-template-preview-line.one{
  position:absolute;left:8px;top:22px;width:45px;height:4px;border-radius:3px;background:rgba(255,255,255,.88);mix-blend-mode:difference
}
.fte-template-preview-line.two{
  position:absolute;left:8px;top:31px;width:34px;height:3px;border-radius:3px;background:rgba(127,148,165,.75)
}
.fte-template-preview-block{
  position:absolute;right:7px;bottom:7px;width:21px;height:15px;border-radius:4px;background:var(--tpl-accent,#2679bd);opacity:.7
}
.fte-template-card strong{font-size:10px;line-height:1.25;color:#163d59}
.fte-template-card small{font-size:8px;color:#6f8798;margin-top:3px}
.fte-template-card em{font-size:8px;line-height:1.3;color:#8395a2;font-style:normal;margin-top:5px}
@media (max-width:720px){
  .fte-template-grid{grid-template-columns:1fr}
}


/* Phase 6.8 — Brand Kit Lite */
.fte-brand-kit-logo{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center;margin:8px 0 12px}
.fte-brand-kit-logo-preview{width:86px;height:64px;border:1px dashed #b8cbd9;border-radius:10px;background:#f7fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#8aa0b1;font-size:10px;font-weight:800}
.fte-brand-kit-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.fte-brand-kit-logo>div:last-child{display:flex;flex-direction:column;gap:6px}
.fte-small-action{border:1px solid #cddce7;border-radius:8px;background:#fff;color:#31546c;min-height:30px;font-size:10px;font-weight:700;cursor:pointer}
.fte-brand-kit-colours{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:7px 0 12px}
.fte-brand-kit-colours label{display:flex;flex-direction:column;gap:5px;font-size:9px;color:#637c8e}
.fte-brand-kit-colours input[type=color]{width:100%;height:34px;padding:2px;border:1px solid #cbd9e4;border-radius:7px;background:#fff}
.fte-brand-kit-status{margin:8px 0;padding:8px 9px;border-radius:8px;background:#f1f7fb;color:#5e788b;font-size:9px;line-height:1.35}
.fte-brand-kit-actions{display:grid;gap:7px;margin-top:8px}


/* Phase 6.9 — Smart Social Resize */
.fte-smart-resize-section{background:linear-gradient(180deg,#fbfdff,#f5f9fc)}
.fte-smart-size-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0 11px}
.fte-smart-size-grid button{
  min-height:48px;padding:8px 9px;border:1px solid #d3e0e9;border-radius:9px;background:#fff;text-align:left;cursor:pointer;color:#284a62
}
.fte-smart-size-grid button strong{display:block;font-size:9px;line-height:1.25}
.fte-smart-size-grid button span{display:block;margin-top:3px;font-size:8px;color:#8093a2}
.fte-smart-size-grid button:hover{border-color:#80b4dd;background:#fbfdff}
.fte-smart-size-grid button.is-active{border-color:#2378bd;background:#eef7ff;box-shadow:0 0 0 1px rgba(35,120,189,.12)}
.fte-smart-resize-status{margin-top:8px;padding:8px 9px;border-radius:8px;background:#eef5fa;color:#5c7485;font-size:9px;line-height:1.35}


/* Phase 7.0 — Multi-size Publish Pack */
.fte-publish-pack-section{border-top:1px solid #dbe7ef}
.fte-publish-pack-grid{display:grid;gap:6px;margin:9px 0 11px}
.fte-publish-pack-grid label{
  display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid #d7e2ea;border-radius:9px;background:#fff;cursor:pointer
}
.fte-publish-pack-grid label:has(input:checked){border-color:#4b98d0;background:#f1f8fe}
.fte-publish-pack-grid input{margin:0;flex:0 0 auto}
.fte-publish-pack-grid span{display:block;min-width:0}
.fte-publish-pack-grid strong{display:block;font-size:9px;color:#294b62}
.fte-publish-pack-grid small{display:block;margin-top:2px;font-size:8px;color:#8093a2}
.is-publish-pack-building .fte-stage{pointer-events:none}
.is-publish-pack-building #fte-publish-pack-download{opacity:.65;cursor:wait}


/* Phase 7.0.1 — cover-photo clarification */
.fte-smart-resize-section .fte-switch-row span,
.fte-publish-pack-section .fte-switch-row span{min-width:0}
.fte-smart-resize-section .fte-switch-row small,
.fte-publish-pack-section .fte-switch-row small{line-height:1.25}


/* Phase 7.0.2 — Focal Point / subject-aware publishing */
.fte-focal-point-section{background:linear-gradient(180deg,#fffdf8,#fff)}
.fte-focal-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:7px;margin:8px 0}
.fte-focal-actions .fte-primary-action.is-active{box-shadow:0 0 0 2px rgba(36,124,193,.18);filter:saturate(1.08)}
.fte-focal-status{padding:8px 9px;border-radius:8px;background:#f7f2e8;color:#6d6049;font-size:9px;line-height:1.35}
.fte-publish-focal-marker{
  position:absolute;z-index:140;left:50%;top:50%;width:26px;height:26px;transform:translate(-50%,-50%);
  border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #e5532d,0 2px 8px rgba(0,0,0,.25);
  pointer-events:none
}
.fte-publish-focal-marker::before,.fte-publish-focal-marker::after{
  content:"";position:absolute;background:#e5532d;left:50%;top:50%;transform:translate(-50%,-50%)
}
.fte-publish-focal-marker::before{width:36px;height:2px}
.fte-publish-focal-marker::after{width:2px;height:36px}
.fte-publish-focal-marker span{position:absolute;width:5px;height:5px;border-radius:50%;background:#e5532d;left:50%;top:50%;transform:translate(-50%,-50%)}
.is-focal-picking .fte-artboard{cursor:crosshair}
.is-focal-picking .fte-publish-focal-marker{animation:fteFocalPulse 1.1s ease-in-out infinite}
@keyframes fteFocalPulse{0%,100%{box-shadow:0 0 0 2px #e5532d,0 2px 8px rgba(0,0,0,.25)}50%{box-shadow:0 0 0 6px rgba(229,83,45,.18),0 2px 8px rgba(0,0,0,.25)}}


/* Phase 7.0.3 — draggable focal marker */
.fte-publish-focal-marker{cursor:grab}
.fte-publish-focal-marker.is-dragging,
.is-focal-dragging .fte-publish-focal-marker{cursor:grabbing}
.fte-publish-focal-marker.is-dragging{transform:translate(-50%,-50%) scale(1.08)}
.fte-publish-focal-marker:hover{box-shadow:0 0 0 4px rgba(229,83,45,.18),0 2px 8px rgba(0,0,0,.25)}


/* Workspace v108 — five-tool creative suite, full-bleed thumbnails. */
.ftx-tools-heading{
  display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
  margin:8px 0 18px;padding:2px 2px 0
}
.ftx-tools-heading h2{margin:5px 0 0;color:#0b2c4d;font-size:clamp(22px,2.2vw,30px);line-height:1.12}
.ftx-tools-heading>p{max-width:510px;margin:0;color:#65798c;font-size:12px;line-height:1.65;text-align:right}

.ftx-tool-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
a.ftx-tool-card,.ftx-tool-card{
  min-width:0;min-height:478px;grid-column:span 2;
  box-sizing:border-box;overflow:hidden;padding:0 22px 21px;border-radius:18px
}
.ftx-tool-grid>.ftx-tool-card:nth-child(4){grid-column:2/span 2}
.ftx-tool-grid>.ftx-tool-card:nth-child(5){grid-column:4/span 2}

.ftx-tool-media{
  position:relative;width:calc(100% + 44px);height:188px;flex:0 0 188px;
  margin:0 -22px 18px;overflow:hidden;background:#dce8f2
}
.ftx-tool-image{
  display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center;
  transition:transform .35s ease
}
.ftx-tool-card:hover .ftx-tool-image{transform:scale(1.035)}
.ftx-tool-card .ftx-tool-icon{margin:-41px -4px 10px 0}

.ftx-converter-card{border-color:#cfe0f6!important;background:linear-gradient(145deg,#fff,#edf5ff)!important}
.ftx-vector-card{position:relative;border-color:#cce4e7!important;background:linear-gradient(145deg,#fff,#edf9f8)!important}
.ftx-vector-card .ftx-tool-icon{background:linear-gradient(145deg,#18a6a2,#087876)}
.ftx-vector-card .ftx-card-access{color:#087b78}
.ftx-video-card{position:relative;border-color:#ead9c9!important;background:linear-gradient(145deg,#fff,#fff5eb)!important}
.ftx-video-card .ftx-tool-icon{background:linear-gradient(145deg,#ef8a32,#bd4e1e)}
.ftx-video-card .ftx-card-access{color:#bd531e}

.ftx-planned-card{cursor:default}
.ftx-planned-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(14,71,117,.09)}
.ftx-coming-badge{
  position:absolute;top:14px;left:14px;z-index:3;padding:6px 9px;border:1px solid rgba(255,255,255,.7);
  border-radius:999px;background:rgba(8,36,61,.82);backdrop-filter:blur(7px);
  color:#fff;font-size:9px;font-weight:850;letter-spacing:.09em
}
.ftx-planned-access::after{content:"";margin:0}
.ftx-planned-card .eyebrow{color:#557186}

@media(max-width:1000px){
  .ftx-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftx-tool-grid>.ftx-tool-card,
  .ftx-tool-grid>.ftx-tool-card:nth-child(4),
  .ftx-tool-grid>.ftx-tool-card:nth-child(5){grid-column:auto}
  .ftx-tool-grid>.ftx-tool-card:last-child{grid-column:1/-1;max-width:calc(50% - 8px);width:100%;justify-self:center}
}
@media(max-width:760px){
  .ftx-tools-heading{display:block}
  .ftx-tools-heading>p{margin-top:8px;text-align:left}
  .ftx-tool-grid{grid-template-columns:1fr}
  .ftx-tool-grid>.ftx-tool-card:last-child{grid-column:auto;max-width:none}
  a.ftx-tool-card,.ftx-tool-card{min-height:0}
  .ftx-tool-media{height:190px;flex-basis:190px}
}


/* Workspace v109 — dashboard-only cleanup + full-bleed hero */

/* The shortcut row is generated by ftw_account_header() in file_tools_app.php.
   Hide it ONLY when this shell contains the dashboard hero. */
.fta-shell:has(> .ftx-workspace-hero) > .fta-customer-nav{
  display:none!important;
}

/* Full browser-width hero while keeping its content aligned with the dashboard below. */
.fta-shell > .ftx-workspace-hero{
  width:100vw;
  max-width:none;
  box-sizing:border-box;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:8px;
  margin-bottom:20px;
  border-radius:0;
  padding-left:max(32px,calc((100vw - 1040px)/2 + 32px));
  padding-right:max(32px,calc((100vw - 1040px)/2 + 32px));
}

/* Give the full-width banner a little more visual presence without making it tall. */
.fta-shell > .ftx-workspace-hero .ftx-workspace-copy{
  max-width:620px;
}
.fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
  justify-self:end;
  width:min(100%,520px);
}

@media(max-width:900px){
  .fta-shell > .ftx-workspace-hero{
    padding-left:24px;
    padding-right:24px;
  }
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    justify-self:stretch;
    width:100%;
  }
}

@media(max-width:600px){
  .fta-shell > .ftx-workspace-hero{
    margin-top:4px;
    padding-left:18px;
    padding-right:18px;
  }
}


/* Workspace v109.1 — redistribute full-width hero content */
.fta-shell > .ftx-workspace-hero{
  grid-template-columns:minmax(360px,1fr) minmax(420px,560px);
  column-gap:clamp(56px,8vw,150px);
  align-items:center;
  padding-left:clamp(48px,7vw,120px);
  padding-right:clamp(48px,7vw,120px);
}

.fta-shell > .ftx-workspace-hero .ftx-workspace-copy{
  max-width:660px;
  justify-self:start;
}

.fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
  width:min(100%,560px);
  max-width:560px;
  justify-self:end;
}

.fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image img{
  width:100%;
  height:auto;
  display:block;
}

@media(max-width:1180px){
  .fta-shell > .ftx-workspace-hero{
    column-gap:48px;
    padding-left:38px;
    padding-right:38px;
    grid-template-columns:minmax(320px,1fr) minmax(360px,500px);
  }

  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    max-width:500px;
  }
}

@media(max-width:900px){
  .fta-shell > .ftx-workspace-hero{
    grid-template-columns:1fr;
    row-gap:18px;
    padding-left:24px;
    padding-right:24px;
  }

  .fta-shell > .ftx-workspace-hero .ftx-workspace-copy,
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    justify-self:stretch;
    max-width:none;
    width:100%;
  }
}


/* Workspace v109.2 — seamless hero + account status inside hero */

/* Remove the dashboard's top breathing space; keep a hairline transition only. */
main.fta-page:has(.ftx-workspace-hero){
  padding-top:1px;
}
main.fta-page:has(.ftx-workspace-hero)::before{
  content:"";
  position:absolute;
  left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(42,170,196,.34),rgba(255,255,255,.16),transparent);
  pointer-events:none;
}

/* More room for status tiles and the larger visual. */
.fta-shell > .ftx-workspace-hero{
  min-height:300px;
  margin-top:0;
  grid-template-columns:minmax(500px,1fr) minmax(520px,680px);
  column-gap:clamp(54px,7vw,135px);
  padding-top:34px;
  padding-bottom:34px;
  padding-left:clamp(54px,6.5vw,112px);
  padding-right:clamp(54px,6.5vw,112px);
}

/* Current plan / operations / access now live inside the hero. */
.ftx-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-width:730px;
  margin-top:24px;
}
.ftx-hero-stat{
  min-width:0;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  box-shadow:inset 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.ftx-hero-stat small{
  display:block;
  margin-bottom:4px;
  color:#bfe4f1;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.025em;
  white-space:nowrap;
}
.ftx-hero-stat strong{
  display:block;
  overflow:hidden;
  color:#fff;
  font-size:17px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ftx-hero-stat:nth-child(1){background:linear-gradient(145deg,rgba(72,145,232,.18),rgba(255,255,255,.05))}
.ftx-hero-stat:nth-child(2){background:linear-gradient(145deg,rgba(25,178,130,.17),rgba(255,255,255,.05))}
.ftx-hero-stat:nth-child(3){background:linear-gradient(145deg,rgba(238,151,65,.17),rgba(255,255,255,.05))}

/* Larger visual with no card border/shadow; softly dissolve the edges into hero. */
.fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
  width:min(100%,680px);
  max-width:680px;
  height:245px;
  justify-self:end;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  opacity:.99;
  -webkit-mask-image:radial-gradient(ellipse 84% 90% at 50% 50%,#000 62%,rgba(0,0,0,.94) 77%,transparent 100%);
  mask-image:radial-gradient(ellipse 84% 90% at 50% 50%,#000 62%,rgba(0,0,0,.94) 77%,transparent 100%);
}
.fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image img{
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  object-fit:cover;
  object-position:center 44%;
  filter:saturate(.96) contrast(.98);
}

/* The white workspace card now starts with Creative Toolkit. */
.ftx-workspace-card{
  padding-top:26px;
}
.ftx-workspace-card > .fta-stat-grid:first-child{
  display:none;
}

@media(max-width:1200px){
  .fta-shell > .ftx-workspace-hero{
    grid-template-columns:minmax(420px,1fr) minmax(430px,560px);
    column-gap:42px;
    padding-left:38px;
    padding-right:38px;
  }
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    width:min(100%,560px);
    height:220px;
  }
  .ftx-hero-stats{max-width:650px}
}

@media(max-width:900px){
  .fta-shell > .ftx-workspace-hero{
    grid-template-columns:1fr;
    min-height:0;
    row-gap:20px;
  }
  .ftx-hero-stats{max-width:none}
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    width:100%;
    max-width:none;
    height:220px;
    justify-self:stretch;
  }
}

@media(max-width:620px){
  .ftx-hero-stats{
    grid-template-columns:1fr;
    gap:7px;
  }
  .ftx-hero-stat{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:10px 12px;
  }
  .ftx-hero-stat small{margin:0}
  .ftx-hero-stat strong{font-size:15px}
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{height:185px}
}


/* Workspace v109.5 — CORRECT hero image treatment.
   Goal: image itself runs from hero top to hero bottom on desktop.
   Left content keeps its padding. Image crops from the bottom, not the head. */

@media(min-width:901px){
  .fta-shell > .ftx-workspace-hero{
    position:relative;
    display:block;
    min-height:300px;
    padding:0;
    overflow:hidden;
  }

  /* Left content gets the breathing room, not the whole hero. */
  .fta-shell > .ftx-workspace-hero .ftx-workspace-copy{
    position:relative;
    z-index:2;
    width:calc(52% - 40px);
    max-width:720px;
    padding:
      34px
      0
      34px
      clamp(54px,6.5vw,112px);
    box-sizing:border-box;
  }

  /* Right image is pinned to the hero's exact top/bottom edges. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    position:absolute;
    z-index:1;
    top:0;
    right:0;
    bottom:0;
    width:48%;
    max-width:none;
    height:auto;
    min-height:0;
    margin:0;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    -webkit-mask-image:none;
    mask-image:none;
  }

  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image img{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    margin:0;
    border:0;
    border-radius:0;
    object-fit:cover;
    /* Protect the girl's full head; any excess is removed lower down. */
    object-position:center 8%;
  }
}

/* Keep the existing stacked mobile/tablet treatment. */
@media(max-width:900px){
  .fta-shell > .ftx-workspace-hero{
    display:grid;
  }
  .fta-shell > .ftx-workspace-hero .ftx-workspace-copy{
    width:auto;
    max-width:none;
    padding:0;
  }
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    position:relative;
    inset:auto;
    width:100%;
    height:220px;
    max-width:none;
  }
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image img{
    position:relative;
    inset:auto;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 8%;
  }
}


/* Workspace v109.6 — inset hero image + left feather blend
   Matches the approved visual direction. */

@media(min-width:901px){

  /* Keep the hero full-width, but give the visual a proper right-side breathing margin. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    right:clamp(34px,3vw,62px);
    width:46%;
    max-width:760px;
  }

  /* Pull the image slightly left and leave more intentional space near the browser edge. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image img{
    object-fit:cover;
    object-position:center 8%;
  }

  /* Soft fade from the hero's navy into the image.
     This makes the visual feel embedded in the hero instead of pasted onto it. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image::before{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    bottom:0;
    left:-1px;
    width:34%;
    pointer-events:none;
    background:linear-gradient(
      90deg,
      #0d3152 0%,
      rgba(13,49,82,.96) 12%,
      rgba(13,49,82,.78) 34%,
      rgba(13,49,82,.42) 58%,
      rgba(13,49,82,.14) 78%,
      rgba(13,49,82,0) 100%
    );
  }

  /* Very subtle right fade so the image does not terminate abruptly against the page edge. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image::after{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    bottom:0;
    right:-1px;
    width:9%;
    pointer-events:none;
    background:linear-gradient(
      270deg,
      rgba(21,151,168,.24) 0%,
      rgba(21,151,168,.10) 45%,
      rgba(21,151,168,0) 100%
    );
  }

  /* Give the left text area slightly more breathing room from the image blend. */
  .fta-shell > .ftx-workspace-hero .ftx-workspace-copy{
    width:calc(51% - 28px);
    max-width:760px;
  }
}

@media(min-width:1400px){
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    right:clamp(48px,4vw,82px);
    width:45%;
  }
}

@media(max-width:900px){
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image::before,
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image::after{
    display:none;
  }
}


/* Workspace v109.7 — cleaner image feather + overflow fix */

/* Prevent the full-bleed hero technique from creating a bottom horizontal
   scrollbar without turning the page root into a scroll container. Using
   overflow-x:hidden here stopped the site header from remaining sticky. */
html, body{
  overflow-x:clip;
}

/* Keep the main navigation attached to the viewport on every public page.
   The explicit final-cascade values protect this behaviour from later page
   and tool-specific stylesheet additions. */
.site-header{
  position:-webkit-sticky !important;
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
}

/* Fallback for older browsers without overflow:clip support. Apply hidden
   overflow only to the root, leaving body free so sticky positioning works. */
@supports not (overflow:clip){
  html{overflow-x:hidden}
  body{overflow-x:visible}
}

/* Use the hero background itself for the blend instead of painting a dark overlay
   over the photograph. */
@media(min-width:901px){

  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    right:clamp(38px,3.2vw,66px);
    width:46%;
    max-width:760px;
    overflow:hidden;
    background:transparent;
  }

  /* Remove the old painted pseudo-element gradients. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image::before,
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image::after{
    display:none!important;
  }

  /* Feather only the LEFT edge of the actual image.
     The transparent edge reveals the hero's own navy/teal background underneath. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.18) 5%,
      rgba(0,0,0,.52) 12%,
      rgba(0,0,0,.82) 19%,
      #000 27%,
      #000 100%
    );
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.18) 5%,
      rgba(0,0,0,.52) 12%,
      rgba(0,0,0,.82) 19%,
      #000 27%,
      #000 100%
    );
  }

  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image img{
    object-fit:cover;
    object-position:center 8%;
  }
}

/* Do not apply desktop feathering on narrow layouts. */
@media(max-width:900px){
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    -webkit-mask-image:none;
    mask-image:none;
  }
}


/* Workspace v109.8 — rebalance hero image + compact status cards */
@media(min-width:901px){

  /* Shift the image composition further right and reduce its dominance.
     Keep its top/bottom fit from the approved V109.5 treatment. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    right:clamp(22px,2vw,42px);
    width:43%;
    max-width:700px;
  }

  /* Make the feather shorter/softer now that the image starts further right. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.28) 6%,
      rgba(0,0,0,.68) 13%,
      #000 21%,
      #000 100%
    );
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.28) 6%,
      rgba(0,0,0,.68) 13%,
      #000 21%,
      #000 100%
    );
  }

  /* Give the left content a little more open space before the image begins. */
  .fta-shell > .ftx-workspace-hero .ftx-workspace-copy{
    width:49%;
    max-width:720px;
  }
}

/* Compact the three account-status cards and calm down their gradients. */
.ftx-hero-stats{
  grid-template-columns:repeat(3,minmax(0,170px));
  gap:9px;
  max-width:none;
}

.ftx-hero-stat{
  padding:10px 12px;
  border-color:rgba(255,255,255,.13);
  background:rgba(255,255,255,.075);
  box-shadow:none;
  backdrop-filter:blur(6px);
}

.ftx-hero-stat:nth-child(1),
.ftx-hero-stat:nth-child(2),
.ftx-hero-stat:nth-child(3){
  background:rgba(255,255,255,.075);
}

.ftx-hero-stat small{
  font-size:8.5px;
  color:rgba(220,242,249,.82);
}

.ftx-hero-stat strong{
  font-size:16px;
}

@media(max-width:1200px) and (min-width:901px){
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    width:44%;
    right:24px;
  }
  .ftx-hero-stats{
    grid-template-columns:repeat(3,minmax(0,155px));
  }
}

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


/* Workspace v109.9 — align hero visual with toolkit content right edge */
@media(min-width:901px){
  /*
    Toolkit shell below uses the site's centered content width.
    Match the hero image's RIGHT edge to that same visual boundary,
    instead of the browser/hero edge.
  */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    right:max(
      22px,
      calc((100vw - min(1180px, calc(100vw - 48px))) / 2)
    );
    width:43%;
    max-width:700px;
  }
}

@media(min-width:1400px){
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    right:calc((100vw - 1180px) / 2);
  }
}

@media(max-width:1200px) and (min-width:901px){
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    right:24px;
    width:44%;
  }
}


/* Workspace v110 — professional large-screen composition
   Expand the workspace on wide monitors instead of leaving a narrow centered island. */

@media(min-width:1360px){

  /* Wider desktop workspace. Hero remains full-bleed; the content card becomes
     a proper large-screen layout rather than a tablet-width panel. */
  .fta-shell:has(> .ftx-workspace-hero){
    max-width:1320px;
    width:calc(100% - 64px);
  }

  .ftx-workspace-card{
    width:100%;
    max-width:none;
    padding:32px 34px 36px;
    border-radius:16px;
    box-shadow:0 10px 28px rgba(18,58,92,.055);
  }

  .ftx-tools-heading{
    align-items:end;
    margin-bottom:20px;
  }
  .ftx-tools-heading h2{
    font-size:32px;
    letter-spacing:-.025em;
  }
  .ftx-tools-heading>p{
    max-width:520px;
    font-size:12.5px;
    line-height:1.55;
  }

  /* Three strong cards across on row one, two centred below. */
  .ftx-tool-grid{
    gap:18px;
  }
  a.ftx-tool-card,
  .ftx-tool-card{
    min-height:500px;
    padding:0 24px 24px;
    border-radius:14px;
  }

  .ftx-tool-media{
    width:calc(100% + 48px);
    height:205px;
    flex-basis:205px;
    margin:0 -24px 20px;
  }

  .ftx-tool-card h2{
    font-size:22px;
    letter-spacing:-.015em;
  }

  .ftx-tool-card .fta-muted{
    font-size:12.5px;
    line-height:1.55;
  }

  .ftx-tool-card ul{
    font-size:12.5px;
    line-height:1.45;
  }

  /* Tone down the playful floating badges/icons on desktop. */
  .ftx-tool-card .ftx-tool-icon{
    width:40px;
    height:40px;
    margin:-36px -2px 12px 0;
    border-radius:10px;
    font-size:18px;
    box-shadow:0 5px 13px rgba(19,74,120,.16);
  }

  /* Align hero copy and visual to the SAME 1320px desktop content grid. */
  .fta-shell > .ftx-workspace-hero .ftx-workspace-copy{
    width:47%;
    max-width:700px;
    padding-left:calc((100vw - 1320px)/2 + 34px);
    padding-right:0;
  }

  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    width:45%;
    max-width:700px;
    right:calc((100vw - 1320px)/2 + 34px);
  }

  /* Feather should be subtle on large screens: just enough to merge, not fog. */
  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    -webkit-mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.42) 7%,
      rgba(0,0,0,.82) 14%,
      #000 20%,
      #000 100%
    );
    mask-image:linear-gradient(
      90deg,
      transparent 0%,
      rgba(0,0,0,.42) 7%,
      rgba(0,0,0,.82) 14%,
      #000 20%,
      #000 100%
    );
  }

  /* Keep status information compact and business-like. */
  .ftx-hero-stats{
    grid-template-columns:repeat(3,160px);
    gap:10px;
  }
  .ftx-hero-stat{
    border-radius:10px;
    padding:10px 12px;
    background:rgba(255,255,255,.07)!important;
  }
}

/* Very large screens get slightly more room without becoming oversized. */
@media(min-width:1700px){
  .fta-shell:has(> .ftx-workspace-hero){
    max-width:1400px;
  }

  .fta-shell > .ftx-workspace-hero .ftx-workspace-copy{
    padding-left:calc((100vw - 1400px)/2 + 34px);
  }

  .fta-shell > .ftx-workspace-hero .ftx-dashboard-hero-image{
    right:calc((100vw - 1400px)/2 + 34px);
    max-width:740px;
  }
}

/* Public image acquisition pages — Phase 1 */
.fc-next-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(18,126,91,.16)}
.fc-next-actions>span{flex:1 0 100%;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#527267}
.fc-next-actions a{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #cfe2dc;border-radius:9px;background:#fff;color:#0b5b66!important;font-size:11px;font-weight:800;text-decoration:none}
.fc-next-actions a:hover{border-color:#8dc8bd;background:#f3fbf9}


/* Free Image Enhancer — anonymous browser-based acquisition tool */
.fef-page{background:#f4f8fb;padding:28px 0 52px}
.fef-shell{max-width:1180px}
.fef-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:18px;padding:4px 2px}
.fef-hero h1{margin:6px 0 8px;color:#0b2c4d;font-size:clamp(28px,3vw,42px);letter-spacing:-.03em}
.fef-hero p{max-width:690px;margin:0;color:#60778b;line-height:1.65}
.fef-privacy{max-width:330px;padding:10px 13px;border:1px solid #cfe6df;border-radius:10px;background:#f2fbf7;color:#28725d;font-size:11px;line-height:1.45}
.fef-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;padding:18px;border:1px solid #dce6ee;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(22,61,94,.06)}
.fef-stage-wrap{display:flex;align-items:center;justify-content:center;min-height:520px;overflow:auto;border:1px solid #dce6ee;border-radius:14px;background:linear-gradient(135deg,#eef4f8,#f8fbfd)}
.fef-stage-wrap canvas{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;box-shadow:0 8px 25px rgba(16,48,74,.12)}
.fef-empty{text-align:center;color:#668095}
.fef-empty strong{display:block;color:#173c5c;font-size:20px}.fef-empty span{font-size:12px}
.fef-controls{display:flex;flex-direction:column;gap:13px;padding:2px}
.fef-file-button input{position:absolute;opacity:0;pointer-events:none}
.fef-file-button span{display:block;padding:12px 14px;border-radius:10px;background:#123d62;color:#fff;text-align:center;font-weight:800;cursor:pointer}
.fef-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.fef-presets button{padding:9px 8px;border:1px solid #d4e1ea;border-radius:9px;background:#f8fbfd;color:#234b6b;font-weight:750;cursor:pointer}
.fef-controls>label,.fef-export label{display:grid;grid-template-columns:1fr auto;gap:7px;color:#36546c;font-size:11px;font-weight:750}
.fef-controls input[type=range]{grid-column:1/-1;width:100%}
.fef-controls output{color:#71879a;font-weight:650}
.fef-export{display:grid;grid-template-columns:1fr;gap:11px;padding-top:4px;border-top:1px solid #e4ebf0}
.fef-export select{grid-column:1/-1;padding:9px;border:1px solid #d6e1e9;border-radius:8px;background:#fff}
.fef-pro-note{margin-top:3px;padding:14px;border:1px solid #d7e5f1;border-radius:12px;background:#f6faff}
.fef-pro-note strong{display:block;margin:4px 0;color:#123d62}.fef-pro-note p{margin:0 0 8px;color:#647b8e;font-size:11px;line-height:1.5}.fef-pro-note a{font-size:11px;font-weight:800;color:#176fa6;text-decoration:none}
@media(max-width:850px){.fef-hero{display:block}.fef-privacy{margin-top:12px}.fef-workspace{grid-template-columns:1fr}.fef-stage-wrap{min-height:360px}}

.fef-signin-note,.ffe-pro small{display:block;margin-top:6px;color:#75899a;font-size:10px;line-height:1.4}
.ffe-page{background:#f4f8fb;padding:24px 0 50px}.ffe-shell{max-width:1260px}
.ffe-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px}.ffe-head h1{margin:5px 0 6px;color:#0b2c4d;font-size:clamp(28px,3vw,40px)}.ffe-head p{margin:0;color:#60778b}.ffe-private{padding:9px 12px;border:1px solid #cfe6df;border-radius:10px;background:#f2fbf7;color:#28725d;font-size:11px}
.ffe-work{display:grid;grid-template-columns:245px minmax(0,1fr) 230px;gap:14px;padding:14px;border:1px solid #dce6ee;border-radius:17px;background:#fff;box-shadow:0 12px 34px rgba(22,61,94,.06)}
.ffe-tools,.ffe-export{display:flex;flex-direction:column;gap:12px}.ffe-open input{position:absolute;opacity:0}.ffe-open span{display:block;padding:11px;border-radius:9px;background:#123d62;color:#fff;text-align:center;font-weight:800;cursor:pointer}
.ffe-toolgroup{padding:12px;border:1px solid #e0e8ee;border-radius:11px;background:#fbfdfe}.ffe-toolgroup>strong{display:block;margin-bottom:9px;color:#173c5c;font-size:12px}.ffe-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ffe-toolgroup button,.ffe-reset{padding:8px;border:1px solid #d5e1e9;border-radius:8px;background:#fff;color:#244b69;font-weight:700;cursor:pointer}.ffe-toolgroup label{display:grid;grid-template-columns:1fr auto;gap:5px;margin:8px 0;color:#456177;font-size:10px;font-weight:700}.ffe-toolgroup input[type=range]{grid-column:1/-1;width:100%}.ffe-toolgroup input[type=text],.ffe-toolgroup input[type=number]{box-sizing:border-box;width:100%;padding:8px;border:1px solid #d5e1e9;border-radius:7px}.ffe-inline{display:grid;grid-template-columns:1fr 55px;gap:6px;margin:7px 0}
.ffe-stage{display:flex;align-items:center;justify-content:center;min-height:590px;overflow:auto;border:1px solid #dce6ee;border-radius:12px;background:linear-gradient(135deg,#edf3f7,#f8fbfd)}.ffe-stage canvas{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;box-shadow:0 8px 24px rgba(16,48,74,.12)}#ffe-empty{text-align:center;color:#71879a}#ffe-empty strong{display:block;color:#173c5c;font-size:20px}
.ffe-export>strong{color:#173c5c}.ffe-export label{display:grid;grid-template-columns:1fr auto;gap:6px;color:#456177;font-size:10px;font-weight:700}.ffe-export select,.ffe-export input[type=range]{grid-column:1/-1;width:100%}.ffe-export select{padding:8px;border:1px solid #d5e1e9;border-radius:7px;background:#fff}.ffe-pro{margin-top:4px;padding:13px;border:1px solid #d7e5f1;border-radius:11px;background:#f6faff}.ffe-pro strong{display:block;margin:4px 0;color:#123d62}.ffe-pro p{margin:0 0 8px;color:#647b8e;font-size:10px;line-height:1.5}.ffe-pro a{color:#176fa6;font-size:11px;font-weight:800;text-decoration:none}
@media(max-width:980px){.ffe-work{grid-template-columns:1fr}.ffe-stage{min-height:400px}.ffe-head{display:block}.ffe-private{margin-top:10px}}
