@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --navy:#0E2C49;--navy-2:#0A2138;--navy-3:#13355A;
  --blue:#1E6FB0;--blue-2:#185C93;--blue-bright:#2B85BB;--blue-soft:#EAF3FA;--blue-line:#cfe2f1;
  --orange:#E0532C;--orange-2:#C8401F;--flame:#F0843A;
  --ink:#16242F;--ink-soft:#51616E;--muted:#8A97A1;
  --bg:#ffffff;--bg-soft:#F4F8FB;--bg-soft2:#EAF1F7;--line:#E4EBF1;--line-2:#D4E0EA;
  --r-sm:8px;--r:12px;--r-lg:18px;--r-xl:26px;--pill:999px;
  --sh-sm:0 1px 2px rgba(14,44,73,.06);
  --sh:0 4px 10px rgba(14,44,73,.07),0 18px 44px rgba(14,44,73,.10);
  --sh-lg:0 30px 70px rgba(14,44,73,.18);
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --serif:'Archivo','Inter',-apple-system,'Segoe UI',sans-serif;
  --max:1200px;--nav:76px;
  --ease:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.22,1,.36,1);
  --dots:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34'%3E%3Ccircle cx='1.6' cy='1.6' r='1.6' fill='%230E2C49' fill-opacity='0.045'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav) + 44px);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--sans);background-color:var(--bg);background-image:var(--dots);color:var(--ink);line-height:1.65;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--blue);color:#fff}
.in{max-width:var(--max);margin:0 auto;padding:0 28px}
.sec{padding:96px 0;position:relative}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:800;color:var(--blue)}
.eyebrow.org{color:var(--orange)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;padding:14px 28px;border-radius:var(--pill);cursor:pointer;border:2px solid transparent;transition:transform .2s var(--ease),background .2s,box-shadow .2s,border-color .2s,color .2s;white-space:nowrap}
.btn svg{transition:transform .2s var(--ease)}
.btn--org{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(224,83,44,.30)}
.btn--org:hover{background:var(--orange-2);transform:translateY(-2px);box-shadow:0 16px 32px rgba(224,83,44,.40)}
.btn--blue{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(30,111,176,.28)}
.btn--blue:hover{background:var(--blue-2);transform:translateY(-2px);box-shadow:0 16px 32px rgba(30,111,176,.36)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px)}
.btn--outline{background:#fff;color:var(--navy);border-color:var(--line-2)}
.btn--outline:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.btn--sm{padding:10px 20px;font-size:.93rem}
.btn:hover svg.arr{transform:translateX(3px)}

/* top bar */
.topbar{background:var(--navy-2);color:#cdd9e6;font-size:.9rem;font-weight:500}
.topbar .in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:44px}
.topbar a{color:#dfe9f2;transition:color .2s}
.topbar a:hover{color:#fff}
.topbar .tb-left{display:flex;align-items:center;gap:22px}
.topbar .tb-right{display:flex;align-items:center;gap:22px}
.topbar .tb-i{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.topbar svg{color:var(--blue-bright);flex:0 0 auto}
.topbar .lic{color:#9fb2c4}
.topbar .lic b{color:#fff;font-weight:700}

/* nav */
.nav{position:sticky;top:0;z-index:1000;height:var(--nav);background:#fff;display:flex;align-items:center;border-bottom:1px solid var(--line);transition:box-shadow .25s,height .25s}
.nav.scrolled{box-shadow:0 4px 20px rgba(14,44,73,.10)}
.nav .in{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center}
.brand img{height:46px;width:auto}
.nav__links{display:flex;align-items:center;gap:2px;list-style:none}
.nav__links>li>a{display:inline-flex;align-items:center;gap:5px;color:var(--navy);padding:9px 14px;border-radius:var(--r-sm);font-weight:700;font-size:.96rem;transition:color .18s,background .18s}
.nav__links>li>a:hover{color:var(--blue);background:var(--bg-soft)}
.nav__links .has>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.drop{position:relative}
.drop__menu{position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s var(--ease)}
.drop:hover .drop__menu{opacity:1;visibility:visible;transform:none}
.drop__menu a{display:block;padding:10px 14px;border-radius:var(--r-sm);font-size:.94rem;font-weight:600;color:var(--ink-soft);transition:.15s}
.drop__menu a:hover{background:var(--blue-soft);color:var(--blue)}
.nav__cta{margin-left:8px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:9px;border-radius:var(--r-sm)}
.burger span{width:24px;height:2px;background:var(--navy);border-radius:2px;transition:.25s var(--ease)}
.burger.on span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile{position:fixed;inset:0;z-index:999;background:rgba(255,255,255,.98);backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;pointer-events:none;transition:opacity .26s}
.mobile.on{opacity:1;pointer-events:all}
.mobile a{font-weight:700;font-size:1.35rem;letter-spacing:-.02em;color:var(--navy);padding:8px 18px;border-radius:var(--r)}
.mobile a:hover{background:var(--bg-soft)}
.mobile .m-cta{background:var(--orange);color:#fff;margin-top:10px}

/* hero */
.hero{position:relative;background:linear-gradient(155deg,#10355A 0%,#0A2138 58%,#0E2C49 100%);color:#fff;padding:calc(72px) 0 150px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px);background-size:30px 30px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 30% 28%,#000,transparent 76%);mask-image:radial-gradient(ellipse 80% 70% at 30% 28%,#000,transparent 76%)}
.hero::after{content:"";position:absolute;top:-140px;right:-140px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(43,133,187,.34),transparent 66%);filter:blur(8px)}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1.18fr .82fr;gap:50px;align-items:center}
.hero .pill-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(43,133,187,.16);border:1px solid rgba(43,133,187,.4);color:#bfe0f3;font-weight:700;font-size:.82rem;letter-spacing:.02em;padding:7px 16px;border-radius:var(--pill);margin-bottom:22px}
.hero .pill-badge .dot{width:8px;height:8px;border-radius:50%;background:#43d27a;box-shadow:0 0 0 4px rgba(67,210,122,.25)}
.hero h1{font-family:var(--sans);font-weight:800;font-size:clamp(2.4rem,5vw,3.85rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:20px}
.hero h1 .u{color:#5db4e6}
.hero p.sub{font-size:clamp(1.06rem,1.6vw,1.22rem);color:rgba(223,233,242,.84);max-width:560px;margin-bottom:30px}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero .trust{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;color:#bcccdb;font-size:.92rem;font-weight:600}
.hero .trust span{display:inline-flex;align-items:center;gap:8px}
.hero .trust svg{color:#5db4e6}
/* hero card */
.hero__card{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:32px 30px;box-shadow:0 30px 70px rgba(0,0,0,.34);backdrop-filter:blur(4px)}
.hero__card h3{font-family:var(--sans);font-weight:800;font-size:1.32rem;letter-spacing:-.02em;margin-bottom:6px}
.hero__card p{color:rgba(223,233,242,.78);font-size:.95rem;margin-bottom:20px}
.hero__card .emerg{display:flex;align-items:center;gap:14px;background:rgba(224,83,44,.16);border:1px solid rgba(224,83,44,.4);border-radius:var(--r);padding:14px 16px;margin-bottom:18px}
.hero__card .emerg .ic{width:42px;height:42px;flex:0 0 auto;border-radius:10px;background:var(--orange);color:#fff;display:grid;place-items:center}
.hero__card .emerg b{display:block;font-size:1.18rem;letter-spacing:-.02em}
.hero__card .emerg span{font-size:.82rem;color:#e7b3a3}
.hero__card .mini{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero__card .mini div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px}
.hero__card .mini b{display:block;font-size:1.3rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.hero__card .mini span{font-size:.78rem;color:#a9bccd}

/* service cards overlapping hero */
.svc-strip{position:relative;z-index:5;margin-top:-96px}
.svc-strip .grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 18px 22px;text-align:center;box-shadow:var(--sh);transition:transform .25s var(--ease-out),box-shadow .25s,border-color .2s;display:flex;flex-direction:column;align-items:center}
.svc-card:hover{transform:translateY(-7px);box-shadow:var(--sh-lg);border-color:var(--blue-line)}
.svc-card .ic{width:62px;height:62px;border-radius:16px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;margin-bottom:14px;transition:.25s}
.svc-card:hover .ic{background:var(--blue);color:#fff}
.svc-card h3{font-size:1.04rem;font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1.25}
.svc-card p{font-size:.85rem;color:var(--ink-soft);margin-top:5px}

/* section heading */
.shead{max-width:720px}
.shead.center{margin:0 auto;text-align:center}
.shead h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.01em;line-height:1.12;color:var(--navy);margin-top:12px}
.shead p{margin-top:14px;color:var(--ink-soft);font-size:1.06rem}

/* about */
.about__wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:center}
.about__visual{position:relative}
.about__panel{position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,var(--navy-3),var(--navy-2));color:#fff;padding:42px 38px;box-shadow:var(--sh-lg);min-height:420px;display:flex;flex-direction:column;justify-content:flex-end}
.about__panel .wm{position:absolute;right:-30px;top:-20px;width:280px;opacity:.10;filter:grayscale(0) brightness(2)}
.about__panel .est{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:#bcd6ea;position:relative;z-index:1}
.about__panel .big{font-family:var(--sans);font-weight:800;font-size:3.4rem;line-height:1;letter-spacing:-.03em;margin:6px 0 4px;position:relative;z-index:1}
.about__panel .big span{color:#5db4e6}
.about__panel .sub{color:#9fb6c9;position:relative;z-index:1}
.about__panel .rule{height:1px;background:rgba(255,255,255,.14);margin:24px 0;position:relative;z-index:1}
.about__panel ul{list-style:none;display:grid;gap:12px;position:relative;z-index:1}
.about__panel li{display:flex;align-items:center;gap:12px;font-weight:600;color:#eaf2f9}
.about__panel li svg{flex:0 0 auto;color:#5db4e6}
.about__badge{position:absolute;right:-22px;bottom:30px;background:#fff;border-radius:16px;box-shadow:var(--sh-lg);padding:16px 20px;display:flex;align-items:center;gap:14px}
.about__badge .n{font-family:var(--sans);font-weight:800;font-size:2.1rem;color:var(--orange);letter-spacing:-.03em;line-height:1}
.about__badge .t{font-size:.82rem;color:var(--ink-soft);font-weight:600;line-height:1.25}
.about__body h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.01em;line-height:1.14;color:var(--navy);margin:12px 0 16px}
.about__body p{color:var(--ink-soft);margin-bottom:16px}
.about__body .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}

/* stats band */
.stats{background:var(--navy);color:#fff}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat{position:relative;padding:8px}
.stat:not(:last-child)::after{content:"";position:absolute;right:-12px;top:16%;height:68%;width:1px;background:rgba(255,255,255,.12)}
.stat .n{font-family:var(--sans);font-weight:800;font-size:2.7rem;letter-spacing:-.03em;line-height:1;color:#fff}
.stat .n span{color:#5db4e6}
.stat .l{margin-top:8px;color:#aebfce;font-size:.92rem;font-weight:600}

/* ll152 */
.ll152{background:var(--bg-soft)}
.ll152__wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.ll152__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden}
.ll152__card .hd{background:var(--navy);color:#fff;padding:16px 22px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.ll152__card .hd .tag{margin-left:auto;background:var(--orange);font-size:.72rem;padding:4px 10px;border-radius:var(--pill);letter-spacing:.03em}
.ll152 table{width:100%;border-collapse:collapse}
.ll152 td,.ll152 th{padding:12px 22px;font-size:.92rem;text-align:left;border-bottom:1px solid var(--line)}
.ll152 th{background:var(--bg-soft2);color:var(--navy);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.ll152 tr:last-child td{border-bottom:none}
.ll152 tr.now td{background:rgba(224,83,44,.07);font-weight:700;color:var(--navy)}
.ll152 tr.now td:first-child{box-shadow:inset 3px 0 0 var(--orange)}
.ll152 .note{font-size:.86rem;color:var(--ink-soft);padding:14px 22px;background:var(--bg-soft)}

/* services grid */
.svcs .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:0;overflow:hidden;box-shadow:var(--sh-sm);transition:transform .25s var(--ease-out),box-shadow .25s,border-color .2s}
.scard:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:var(--blue-line)}
.scard__media{position:relative;height:188px;overflow:hidden;background:var(--navy)}
.scard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out)}
.scard:hover .scard__media img{transform:scale(1.06)}
.scard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,44,73,0) 45%,rgba(14,44,73,.55))}
.scard__body{padding:0 28px 30px;position:relative}
.scard .ic{width:56px;height:56px;border-radius:14px;background:linear-gradient(150deg,var(--blue),var(--blue-bright));color:#fff;display:grid;place-items:center;margin:-30px 0 16px;position:relative;z-index:2;border:3px solid #fff;box-shadow:0 10px 22px rgba(30,111,176,.28)}
.scard.alt .ic{background:linear-gradient(150deg,var(--orange),var(--flame));box-shadow:0 10px 22px rgba(224,83,44,.28)}
.scard h3{font-size:1.18rem;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.scard p{margin-top:8px;color:var(--ink-soft);font-size:.95rem}

/* why */
.why{background-color:var(--bg-soft);background-image:var(--dots)}
.svcs{background-color:var(--bg-soft);background-image:var(--dots),radial-gradient(ellipse 60% 55% at 88% 0%,rgba(224,83,44,.06),transparent),radial-gradient(ellipse 60% 55% at 8% 100%,rgba(30,111,176,.07),transparent)}
.quotes{background-color:var(--bg-soft);background-image:var(--dots),radial-gradient(ellipse 55% 50% at 0% 0%,rgba(30,111,176,.06),transparent),radial-gradient(ellipse 55% 50% at 100% 100%,rgba(224,83,44,.05),transparent)}
.why .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 26px;box-shadow:var(--sh-sm);display:flex;gap:16px;align-items:flex-start;transition:transform .25s var(--ease-out),box-shadow .25s}
.feat:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.feat .ic{width:48px;height:48px;flex:0 0 auto;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}
.feat h3{font-size:1.08rem;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.feat p{margin-top:5px;color:var(--ink-soft);font-size:.93rem}

/* testimonials */
.quotes .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.quote{background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--sh-sm)}
.quote .stars{color:var(--flame);letter-spacing:2px;font-size:1.05rem}
.quote blockquote{font-family:var(--serif);font-size:1.08rem;color:var(--ink);line-height:1.55;margin:12px 0 18px}
.quote .who{display:flex;align-items:center;gap:12px}
.quote .av{width:44px;height:44px;border-radius:50%;background:linear-gradient(150deg,var(--blue),var(--blue-bright));color:#fff;display:grid;place-items:center;font-weight:800}
.quote .who b{display:block;color:var(--navy)}
.quote .who span{font-size:.85rem;color:var(--muted)}

/* contact */
.contact{background:var(--navy);color:#fff}
.contact__wrap{display:grid;grid-template-columns:1fr 1.04fr;gap:54px;align-items:start}
.contact h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.01em;line-height:1.12;margin-top:12px}
.contact .lead{color:#b7cadb;margin:16px 0 30px;font-size:1.05rem}
.cline{display:flex;align-items:flex-start;gap:15px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}
.cline:first-of-type{border-top:none}
.cline .ic{width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:rgba(43,133,187,.18);color:#5db4e6;display:grid;place-items:center}
.cline .k{font-size:.8rem;color:#90a6b9;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.cline .v{font-size:1.12rem;font-weight:700;letter-spacing:-.01em}
.cline .v a:hover{color:#5db4e6}
.cmap{margin-top:24px;border-radius:var(--r-lg);overflow:hidden;border:1px solid rgba(255,255,255,.12);height:200px}
.cmap iframe{width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.05)}
/* form */
.form{background:#fff;border-radius:22px;padding:34px 32px;box-shadow:var(--sh-lg);color:var(--ink)}
.form h3{font-family:var(--sans);font-weight:800;font-size:1.4rem;letter-spacing:-.02em;color:var(--navy)}
.form .sml{color:var(--ink-soft);font-size:.92rem;margin:4px 0 20px}
.fg{margin-bottom:15px}
.fg.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg label{display:block;font-size:.82rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.fg label .req{color:var(--orange)}
.fg input,.fg select,.fg textarea{width:100%;font-family:var(--sans);font-size:1rem;color:var(--ink);background:var(--bg-soft);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;transition:border-color .18s,background .18s,box-shadow .18s}
.fg textarea{min-height:110px;resize:vertical}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(30,111,176,.14)}
.form .btn{width:100%;margin-top:6px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form .cstatus{margin-top:12px;font-size:.9rem;font-weight:600;color:var(--orange-2);display:none}
.form .cstatus.show{display:block}
.csuccess{display:none;text-align:center;padding:18px 8px}
.csuccess.show{display:block}
.csuccess .ic{width:64px;height:64px;border-radius:50%;background:#e9f7ee;color:#1f9d55;display:grid;place-items:center;margin:0 auto 14px}
.csuccess h3{color:var(--navy)}
.csuccess p{color:var(--ink-soft);max-width:340px;margin:8px auto 0}

/* cta boxes */
.ctaboxes{background:var(--navy);padding-bottom:0}
.ctaboxes .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;top:46px}
.cbox{border-radius:var(--r-lg);padding:26px 24px;color:#fff;display:flex;align-items:center;gap:16px;box-shadow:var(--sh-lg);transition:transform .25s}
.cbox:hover{transform:translateY(-4px)}
.cbox .ic{width:50px;height:50px;flex:0 0 auto;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.cbox b{display:block;font-size:1.16rem;font-weight:800;letter-spacing:-.02em}
.cbox span{font-size:.86rem;opacity:.9}
.cbox.b1{background:linear-gradient(150deg,var(--blue),var(--blue-2))}
.cbox.b2{background:linear-gradient(150deg,var(--orange),var(--orange-2))}
.cbox.b3{background:linear-gradient(150deg,var(--navy-3),var(--navy-2))}

/* footer */
.foot{background:var(--navy-2);color:#9fb2c4;padding:104px 0 0}
.foot__grid{display:grid;grid-template-columns:1.7fr 1fr 1.3fr;gap:44px}
.foot__logo{background:#fff;border-radius:14px;padding:14px 18px;display:inline-block;margin-bottom:18px}
.foot__logo img{height:46px}
.foot__about{font-size:.93rem;line-height:1.7;max-width:330px}
.foot h5{color:#fff;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin-bottom:16px}
.foot a.fl,.foot .fl{display:flex;gap:10px;align-items:flex-start;color:#9fb2c4;font-size:.94rem;padding:6px 0;transition:color .18s}
.foot a.fl:hover{color:#fff}
.foot .fl svg{flex:0 0 auto;color:#5db4e6;margin-top:3px}
.foot .lic-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(43,133,187,.14);border:1px solid rgba(43,133,187,.3);color:#bfe0f3;font-weight:700;font-size:.82rem;padding:8px 14px;border-radius:var(--pill);margin-top:6px}
.foot__bottom{max-width:var(--max);margin:54px auto 0;padding:22px 28px 30px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.84rem;color:#7e93a7}
.foot__bottom a{color:#9fb2c4}.foot__bottom a:hover{color:#fff}

.totop{position:fixed;bottom:24px;right:24px;z-index:998;width:48px;height:48px;border-radius:50%;background:var(--orange);color:#fff;border:none;cursor:pointer;box-shadow:0 12px 26px rgba(224,83,44,.4);display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(10px);transition:.3s}
.totop.show{opacity:1;pointer-events:all;transform:none}
.totop:hover{background:var(--orange-2);transform:translateY(-3px)}

.rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.rv.show{opacity:1;transform:none}
.rd1{transition-delay:.06s}.rd2{transition-delay:.12s}.rd3{transition-delay:.18s}.rd4{transition-delay:.24s}

@media(max-width:1080px){
  .hero__in{grid-template-columns:1fr;gap:36px}
  .svc-strip .grid{grid-template-columns:repeat(3,1fr)}
  .about__wrap{grid-template-columns:1fr;gap:60px}
  .about__badge{left:auto;right:24px}
  .ll152__wrap{grid-template-columns:1fr;gap:30px}
  .contact__wrap{grid-template-columns:1fr;gap:36px}
}
@media(max-width:900px){
  .nav__links{display:none}.burger{display:flex}
  .svcs .grid,.why .grid,.quotes .grid{grid-template-columns:1fr 1fr}
  .stats .grid{grid-template-columns:1fr 1fr;gap:34px 24px}.stat::after{display:none}
  .foot__grid{grid-template-columns:1fr 1fr}
  .ctaboxes .grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .sec{padding:64px 0}
  .topbar .tb-left .lic,.topbar .tb-right .tb-i.hideS{display:none}
  .svc-strip{margin-top:-40px}
  .svc-strip .grid,.svcs .grid,.why .grid,.quotes .grid,.fg.row2{grid-template-columns:1fr}
  .stats .grid{grid-template-columns:1fr 1fr}
  .foot__grid{grid-template-columns:1fr}
  .hero .cta-row .btn{width:100%}
  .about__badge{position:static;margin-top:18px;display:inline-flex}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}

/* ============ shared page styles (about/services/case-studies/blog/contact) ============ */
.titlebar{position:relative;background:linear-gradient(155deg,#10355A 0%,#0A2138 60%,#0E2C49 100%);color:#fff;overflow:hidden;padding:72px 0 64px}
.titlebar::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px);background-size:30px 30px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 30% 30%,#000,transparent 78%);mask-image:radial-gradient(ellipse 80% 80% at 30% 30%,#000,transparent 78%)}
.titlebar::after{content:"";position:absolute;top:-160px;right:-120px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(43,133,187,.30),transparent 66%);filter:blur(8px)}
.titlebar .in{position:relative;z-index:2}
.titlebar h1{font-family:var(--sans);font-weight:800;font-size:clamp(2.1rem,4.6vw,3.3rem);letter-spacing:-.03em;line-height:1.06}
.titlebar p{margin-top:14px;color:rgba(223,233,242,.82);font-size:1.1rem;max-width:640px}

/* --- photo title bars (added) --- */
.titlebar.has-photo{background:var(--navy)}
.titlebar.has-photo::before,.titlebar.has-photo::after{display:none!important}
.tb-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.tb-media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.tb-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(8,22,40,.94),rgba(8,22,40,.72) 52%,rgba(8,22,40,.46) 100%),linear-gradient(0deg,rgba(8,22,40,.55),transparent 55%)}
.titlebar.has-photo .in{position:relative;z-index:2}
@media (prefers-reduced-motion: no-preference){
  .tb-media img{animation:tbZoom 24s ease-in-out infinite alternate;transform-origin:60% 40%;will-change:transform}
  @keyframes tbZoom{from{transform:scale(1.06)}to{transform:scale(1.16) translate(-1%,-1%)}}
}
.crumb{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:700;color:#9fc2dd;margin-bottom:16px}
.crumb a{color:#9fc2dd;transition:color .2s}.crumb a:hover{color:#fff}
.crumb span{opacity:.5}
.crumb b{color:#fff;font-weight:700}

/* prose / long content */
.prose p{color:var(--ink-soft);margin-bottom:16px;font-size:1.04rem}
.prose h3{font-family:var(--serif);font-weight:600;color:var(--navy);font-size:1.5rem;margin:30px 0 10px;letter-spacing:-.01em}
.prose ul{list-style:none;display:grid;gap:12px;margin:8px 0 20px}
.prose ul li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-soft)}
.prose ul li svg{flex:0 0 auto;color:var(--blue);margin-top:4px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:start}
.aside-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px}
.aside-card h3{font-family:var(--sans);font-weight:800;color:var(--navy);font-size:1.15rem;margin-bottom:14px}
.aside-card .row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line)}
.aside-card .row:first-of-type{border-top:none}
.aside-card .row svg{flex:0 0 auto;color:var(--blue);margin-top:3px}
.aside-card .k{font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.aside-card .v{font-weight:700;color:var(--navy)}
.aside-card .v a:hover{color:var(--blue)}

/* service detail rows */
.srow{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:center;padding:34px 0;border-top:1px solid var(--line)}
.srow:first-child{border-top:none}
.srow__media{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--sh-sm)}
.srow__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out)}
.srow:hover .srow__media img{transform:scale(1.05)}
.srow.alt{grid-template-columns:1fr 300px}
.srow.alt .srow__media{order:2}
.srow .ic{position:absolute;left:14px;bottom:14px;width:52px;height:52px;border-radius:14px;background:linear-gradient(150deg,var(--blue),var(--blue-bright));color:#fff;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 10px 22px rgba(30,111,176,.26)}
.srow.alt .ic{background:linear-gradient(150deg,var(--orange),var(--flame));box-shadow:0 10px 22px rgba(224,83,44,.26)}
.srow h3{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.srow p{color:var(--ink-soft);margin-top:6px}
.srow .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.srow .tags span{font-size:.8rem;font-weight:700;color:var(--blue-2);background:var(--blue-soft);border-radius:var(--pill);padding:5px 12px}

/* case studies / work cards */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.wcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .25s var(--ease-out),box-shadow .25s,border-color .2s}
.wcard:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:var(--blue-line)}
.wcard .top{position:relative;height:150px;background:linear-gradient(150deg,var(--navy-3),var(--navy-2));display:grid;place-items:center;color:#fff}
.wcard:nth-child(3n+2) .top{background:linear-gradient(150deg,var(--blue),var(--blue-2))}
.wcard:nth-child(3n) .top{background:linear-gradient(150deg,var(--orange),var(--orange-2))}
.wcard .top svg{opacity:.92}
.wcard .badge{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);color:var(--navy);font-size:.7rem;font-weight:800;letter-spacing:.03em;padding:5px 11px;border-radius:var(--pill)}
.wcard .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.wcard h3{font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.wcard p{font-size:.92rem;color:var(--ink-soft);flex:1}
.wcard .loc{font-size:.82rem;font-weight:700;color:var(--blue)}

/* blog cards */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .25s var(--ease-out),box-shadow .25s,border-color .2s}
.bcard:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:var(--blue-line)}
.bcard .top{height:140px;background:linear-gradient(150deg,#16406c,#0e2c49);position:relative;display:grid;place-items:center}
.bcard:nth-child(3n+2) .top{background:linear-gradient(150deg,var(--blue),var(--blue-bright))}
.bcard:nth-child(3n) .top{background:linear-gradient(150deg,var(--orange),var(--flame))}
.bcard .top svg{color:rgba(255,255,255,.85)}
.bcard .cat{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);color:var(--navy);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:var(--pill)}
.bcard .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.bcard .date{font-size:.8rem;color:var(--muted);font-weight:600}
.bcard h3{font-size:1.14rem;font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1.3}
.bcard p{font-size:.92rem;color:var(--ink-soft);flex:1}
.bcard .more{font-weight:800;color:var(--orange);font-size:.9rem;display:inline-flex;align-items:center;gap:6px}

/* simple band */
.band{background:var(--bg-soft)}
.cta-band{background:linear-gradient(150deg,var(--blue),var(--blue-2));color:#fff;text-align:center;border-radius:var(--r-xl);padding:48px 28px;box-shadow:var(--sh-lg)}
.cta-band h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.01em}
.cta-band p{color:rgba(235,243,250,.9);margin:12px auto 26px;max-width:560px}
.cta-band .btn--org{box-shadow:0 12px 28px rgba(224,83,44,.4)}

@media(max-width:980px){
  .split{grid-template-columns:1fr;gap:36px}
  .work-grid,.blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .titlebar{padding:54px 0 48px}
  .work-grid,.blog-grid{grid-template-columns:1fr}
  .srow,.srow.alt{grid-template-columns:1fr;gap:16px}
  .srow.alt .srow__media{order:0}
  .srow__media{max-width:420px}
  .srow .ic{width:48px;height:48px}
}
.nav__links>li>a[aria-current=page]{color:var(--blue);background:var(--bg-soft)}

/* ---- image cards (case studies + blog) ---- */
.wcard .top img,.bcard .top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wcard .top::after,.bcard .top::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,33,56,.04),rgba(10,33,56,.42))}
.wcard .badge,.bcard .cat{z-index:2}
.wcard .top,.bcard .top{height:180px}

/* ---- blog post article ---- */
.post{max-width:780px;margin:0 auto}
.backlink{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--blue);margin-bottom:18px;font-size:.92rem}
.backlink:hover{color:var(--blue-2)}
.post .meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.post .meta .tag{background:var(--blue-soft);color:var(--blue-2);padding:5px 12px;border-radius:var(--pill);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.post .meta .date{color:var(--muted);font-size:.9rem;font-weight:600}
.post h1{font-family:var(--sans);font-weight:800;font-size:clamp(1.95rem,3.8vw,2.7rem);letter-spacing:-.03em;line-height:1.1;color:var(--navy);margin-bottom:14px}
.post-hero{border-radius:var(--r-lg);overflow:hidden;margin:8px 0 30px;box-shadow:var(--sh);aspect-ratio:16/7;background:var(--bg-soft2)}
.post-hero img{width:100%;height:100%;object-fit:cover;display:block}
.post .lead{font-size:1.2rem;color:var(--ink);font-weight:600;line-height:1.5;margin-bottom:20px}
.post-note{margin-top:26px;background:var(--blue-soft);border:1px solid var(--blue-line);border-radius:var(--r);padding:18px 20px;font-size:.95rem;color:var(--navy)}
.post-note b{color:var(--blue-2)}

/* ================= HOME REDESIGN (established/corporate) ================= */
/* unified type: Archivo (--serif) headings, Inter (--sans) body */
.hero h1,.titlebar h1,.shead h2,.about__body h2,.contact h2,.cta-band h2,.scard h3,.feat h3,.srow h3,.wcard h3,.bcard h3,.form h3,.csuccess h3,.prose h3,.post h1,.hcontact__info h2,.hcontact__formtitle,.stat .n,.about__panel .big,.about__badge .n{font-family:var(--serif)}
/* slightly smaller "established firm" headings */
.shead h2,.about__body h2{font-size:clamp(1.65rem,2.7vw,2.2rem);letter-spacing:-.02em}
.titlebar h1{font-size:clamp(1.9rem,3.3vw,2.55rem);letter-spacing:-.025em}

/* restrained color — single blue accent; orange reserved for CTA buttons */
.scard .ic,.scard.alt .ic,.srow .ic,.srow.alt .ic{background:linear-gradient(150deg,var(--blue),var(--blue-bright));box-shadow:0 10px 22px rgba(30,111,176,.24)}
.quote{border-top-color:var(--blue)}
.eyebrow.org{color:var(--blue)}
.about__badge .n{color:var(--navy)}
.ll152__card .hd .tag{background:var(--blue)}
.ll152 tr.now td{background:rgba(30,111,176,.07)}
.ll152 tr.now td:first-child{box-shadow:inset 3px 0 0 var(--blue)}
.bcard .more{color:var(--blue)}

/* ---- HERO: full-bleed photograph + scrim ---- */
.hero{position:relative;min-height:clamp(540px,80vh,740px);display:flex;flex-direction:column;justify-content:center;padding:36px 0 0;background:var(--navy);overflow:hidden;color:#fff}
.hero::before,.hero::after{display:none!important}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,22,40,.93),rgba(8,22,40,.74) 45%,rgba(8,22,40,.40) 100%),linear-gradient(0deg,rgba(8,22,40,.55),transparent 50%)}
.hero__inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;max-width:720px;padding:34px 0 44px}
.hero__eyebrow{display:inline-block;color:#9fd0ee;font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.hero h1{color:#fff;font-weight:800;font-size:clamp(2.05rem,4vw,3.1rem);line-height:1.08;letter-spacing:-.025em;margin-bottom:18px;max-width:16ch}
.hero h1 .u{color:#5db4e6}
.hero__sub{color:rgba(226,236,245,.9);font-size:clamp(1.01rem,1.35vw,1.16rem);line-height:1.6;max-width:58ch;margin-bottom:26px}
.hero__cta{display:flex;flex-wrap:wrap;gap:13px}
.hero__tiles{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.14);background:rgba(8,22,40,.34)}
.hero__tiles-row{display:grid;grid-template-columns:repeat(4,1fr)}
.htile{display:flex;align-items:center;gap:13px;padding:20px 16px;color:#eaf3fa;font-weight:700;font-size:1rem;letter-spacing:-.01em;border-left:1px solid rgba(255,255,255,.1);transition:background .2s}
.htile:first-child{border-left:none}
.htile:hover{background:rgba(255,255,255,.07)}
.htile__ic{width:40px;height:40px;flex:0 0 auto;border-radius:10px;background:rgba(43,133,187,.22);color:#7cc3ec;display:grid;place-items:center}

/* ---- CREDIBILITY STRIP ---- */
.cred{background:#fff;border-bottom:1px solid var(--line)}
.cred__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;padding:20px 28px}
.cred__item{position:relative;padding:3px 22px;color:var(--ink-soft);font-weight:700;font-size:.81rem;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.cred__item::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);height:13px;width:1px;background:var(--line-2)}
.cred__item:last-child::after{display:none}

/* ---- COMPACT CONTACT (home only) ---- */
.hcontact{background:var(--bg-soft)}
.hcontact__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:46px;align-items:start;max-width:1040px;margin:0 auto}
.hcontact__info .eyebrow{display:block;margin-bottom:8px}
.hcontact__info h2{color:var(--navy);font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.02em;line-height:1.12;margin-bottom:12px}
.hcontact__lead{color:var(--ink-soft);margin-bottom:18px;font-size:1rem}
.hc-line{display:flex;gap:13px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line)}
.hc-line:first-of-type{border-top:none}
.hc-ic{width:40px;height:40px;flex:0 0 auto;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}
.hc-k{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.hc-v{font-weight:700;color:var(--navy);font-size:1.04rem}
.hc-v a:hover{color:var(--blue)}
.hc-map{margin-top:16px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);height:160px}
.hc-map iframe{width:100%;height:100%;border:0;display:block}
.hcontact__form{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:24px 24px 26px}
.hcontact__formtitle{color:var(--navy);font-weight:800;font-size:1.18rem;margin-bottom:2px}
.hcontact__form .sml{color:var(--ink-soft);font-size:.86rem;margin-bottom:14px}
.hcontact__form .fg{margin-bottom:11px}
.hcontact__form .fg label{display:block;font-size:.77rem;font-weight:700;color:var(--navy);margin-bottom:5px}
.hcontact__form .fg input,.hcontact__form .fg select,.hcontact__form .fg textarea{width:100%;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--bg-soft);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;transition:border-color .18s,background .18s,box-shadow .18s}
.hcontact__form .fg textarea{min-height:80px;resize:vertical}
.hcontact__form .fg input:focus,.hcontact__form .fg select:focus,.hcontact__form .fg textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(30,111,176,.14)}
.hcontact__form .fg.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hcontact__form .req{color:var(--orange)}
.hcontact__form .btn{width:100%;margin-top:4px}
.hcontact__form .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.hcontact__form .cstatus{margin-top:10px;font-size:.88rem;font-weight:600;color:var(--orange-2);display:none}
.hcontact__form .cstatus.show{display:block}

/* ---- expanded footer (home) ---- */
.foot--xl .foot__grid{grid-template-columns:1.6fr 1fr 1.15fr 1.25fr}

@media(max-width:980px){
  .hcontact__grid{grid-template-columns:1fr;gap:30px;max-width:640px}
  .foot--xl .foot__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .hero__tiles-row{grid-template-columns:1fr 1fr}
  .htile{border-top:1px solid rgba(255,255,255,.1)}
  .htile:nth-child(2){border-left:1px solid rgba(255,255,255,.1)}
  .htile:nth-child(-n+2){border-top:none}
}
@media(max-width:560px){
  .hero{min-height:0;padding-bottom:0}
  .hero__inner{padding:24px 0 36px}
  .hero h1{font-size:clamp(1.85rem,7vw,2.3rem)}
  .hero__tiles-row{grid-template-columns:1fr}
  .htile{border-left:none}
  .htile:nth-child(2){border-left:none}
  .cred__item{font-size:.74rem;padding:3px 12px;letter-spacing:.03em}
  .hcontact__form .fg.row2{grid-template-columns:1fr}
  .foot--xl .foot__grid{grid-template-columns:1fr}
}

/* case-study card meta (real permit value/year) */
.wcard .loc{margin-top:auto}
.wcard .wmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.wcard .wmeta .wval{font-size:.74rem;font-weight:800;color:var(--blue-2);background:var(--blue-soft);border-radius:var(--pill);padding:3px 10px}
.wcard .wmeta .yr{font-size:.8rem;font-weight:700;color:var(--muted)}

/* why-choose checklist (replaces card grid) */
.whychoose{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:900px;margin:46px auto 0}
.whychoose li{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:15px 20px;box-shadow:var(--sh-sm);font-weight:600;color:var(--navy);font-size:1.02rem;letter-spacing:-.01em}
.whychoose li .wc-ic{width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}
.whychoose li:last-child:nth-child(odd){grid-column:1 / -1;justify-content:center}
.prose-tagline{margin-top:26px;font-family:var(--serif);font-weight:700;font-size:1.12rem;letter-spacing:-.01em;color:var(--navy);border-left:3px solid var(--blue);padding-left:16px}
@media(max-width:680px){.whychoose{grid-template-columns:1fr}.whychoose li:last-child:nth-child(odd){justify-content:flex-start}}

/* hero subheadline + CTA (added) */
.hero__lead{color:#fff;font-weight:600;font-size:clamp(1.05rem,2.2vw,1.45rem);line-height:1.3;margin:.35rem 0 .1rem;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.hero__cta{margin-top:20px}
.hero__cta .btn{font-size:1.02rem;padding:14px 26px}

/* --- animated / cinematic hero (added) --- */
@media (prefers-reduced-motion: no-preference){
  /* slow Ken Burns zoom on the skyline */
  .hero__media img{animation:heroZoom 21s ease-in-out infinite alternate;transform-origin:62% 42%;will-change:transform}
  @keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1.17) translate(-1.5%,-1.5%)}}

  /* drifting warm orange glow over the scrim */
  .hero__scrim::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(42% 55% at 80% 24%,rgba(232,83,31,.34),transparent 68%);mix-blend-mode:screen;animation:heroGlow 13s ease-in-out infinite alternate;will-change:transform,opacity}
  @keyframes heroGlow{0%{transform:translate(0,0);opacity:.5}50%{opacity:.9}100%{transform:translate(-7%,9%);opacity:.62}}

  /* staggered fade-up entrance for each line */
  .hero__eyebrow,.hero h1,.hero__lead,.hero__sub,.hero__cta{opacity:0;animation:heroUp .68s cubic-bezier(.22,1,.36,1) forwards}
  .hero__eyebrow{animation-delay:.11s}
  .hero h1{animation-delay:.23s}
  .hero__lead{animation-delay:.36s}
  .hero__sub{animation-delay:.47s}
  .hero__cta{animation-delay:.59s}
  @keyframes heroUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

  /* continuous shimmer across the highlighted words */
  .hero h1 .u{background:linear-gradient(100deg,#5db4e6 0%,#cfe8f7 28%,#5db4e6 52%,#5db4e6 100%);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:heroShimmer 4.6s linear infinite}
  @keyframes heroShimmer{from{background-position:210% 0}to{background-position:-30% 0}}
}

.tb-lead{font-weight:700;font-size:1.06em;margin-bottom:.45rem}
