/* About Us + Contact pages. Uses theme tokens so light and dark both work. */
.ab,.ct{padding-bottom:40px}
.ab section.wrap,.ct section.wrap{margin-top:28px}
.ab h2,.ct h2{font-size:clamp(26px,3.2vw,38px);margin:0 0 14px}
.ab .ab-head{text-align:center;max-width:640px;margin:56px auto 28px}
.ab .ab-head h2{margin:0}
.ic-box,.ab-values .ic,.ct-cards .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--g-grad,var(--primary));color:var(--on-primary,#fff);box-shadow:0 10px 22px -10px var(--g-glow,rgba(36, 79, 125,.5))}
.ab-values .ic .icon,.ct-cards .ic .icon{width:24px;height:24px}

/* Hero (about) */
.ab-hero{position:relative;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;color:#fff;min-height:420px;display:flex;align-items:center;background:#0b1a3a}
.ab-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ab-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(0,20,60,.94) 0%,rgba(0,36,100,.72) 55%,rgba(36, 79, 125,.3) 100%)}
.ab-hero-in{padding:clamp(28px,5vw,64px);max-width:720px}
.ab-hero h1{font-size:clamp(34px,5.4vw,60px);line-height:1.05;margin:0 0 14px;color:#fff}
.ab-hero p{font-size:clamp(16px,1.6vw,19px);color:#dbe7ff;margin:0 0 26px;max-width:560px}
.ab-hero .eyebrow{color:#39B9EB}
.ab-hero .crumbs,.ab-hero .crumbs a,.ab-hero .crumbs span{color:#cfe0ff;padding-top:0}
.ab-cta{display:flex;flex-wrap:wrap;gap:12px}
.btn-glass{background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-glass:hover{background:#fff;color:#0B1220;border-color:#fff}
.ab .btn-primary,.ab .btn-primary:hover,.ab .btn-light,.ab .btn-glass{text-decoration:none}

/* Stats */
.ab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:-44px!important;position:relative;z-index:2}
.ab-stats div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px 18px;text-align:center;box-shadow:var(--shadow)}
.ab-stats b{display:block;font:700 clamp(28px,3.4vw,40px) var(--f-head);color:var(--link);line-height:1.1}
.ab-stats span{color:var(--ink-2);font-size:14px}

/* Story */
.ab-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;margin-top:56px!important}
.ab-pic{position:relative}
.ab-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.ab-pic::before{content:"";position:absolute;inset:18px -14px -14px 18px;border-radius:var(--r-lg);border:2px solid var(--primary);opacity:.35;z-index:-1}
.ab-badge{position:absolute;left:-14px;bottom:26px;display:flex;align-items:center;gap:12px;background:var(--surface);color:var(--ink);padding:12px 18px;border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line)}
.ab-badge .icon{width:28px;height:28px;color:var(--star);fill:var(--star)}
.ab-badge b{display:block;font:700 20px var(--f-head);line-height:1.1}
.ab-badge span{font-size:13px;color:var(--ink-2)}
.ab-story p{color:var(--ink-2);font-size:17px}
.ab-ticks{display:grid;gap:10px;margin-top:18px}
.ab-ticks li{display:flex;align-items:center;gap:10px;font-weight:500}
.ab-ticks .icon{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--green-50);color:var(--green)}

/* Values */
.ab-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ab-values article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:transform .25s,box-shadow .25s,border-color .25s}
.ab-values article:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--primary)}
.ab-values h3{font-size:19px;margin:16px 0 6px}
.ab-values p{margin:0;color:var(--ink-2);font-size:15px}

/* Timeline */
.ab-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative;counter-reset:t}
.ab-timeline::before{content:"";position:absolute;left:0;right:0;top:19px;height:2px;background:linear-gradient(90deg,var(--primary),transparent);opacity:.5}
.ab-timeline li{position:relative;padding-top:48px}
.ab-timeline li::before{content:"";position:absolute;top:10px;left:0;width:20px;height:20px;border-radius:50%;background:var(--bg);border:5px solid var(--primary)}
.ab-timeline b{position:absolute;top:0;left:32px;font:700 16px var(--f-head);color:var(--link)}
.ab-timeline h3{font-size:18px;margin:0 0 6px}
.ab-timeline p{margin:0;color:var(--ink-2);font-size:15px}

/* Closing banner */
.ab-banner{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;border-radius:var(--r-lg);padding:clamp(28px,4vw,48px);margin-top:56px;color:#fff;background:linear-gradient(120deg,#001E53,#244F7D 70%,#2f7bff)}
.ab-banner h2{color:#fff;margin:0 0 6px}
.ab-banner p{margin:0;color:#dbe7ff}
.ab-banner .btn-light{color:#0B1220}
.ab-banner .btn-light:hover{color:var(--primary)}

/* Contact */
.ct-hero{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:clamp(30px,5vw,64px);isolation:isolate;background:linear-gradient(120deg,var(--blue-50),var(--soft))}
.ct-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 30%,transparent),transparent 70%);z-index:-1}
.ct-hero h1{font-size:clamp(34px,5vw,56px);margin:0 0 10px}
.ct-hero p{margin:0;max-width:560px;color:var(--ink-2);font-size:18px}
.ct-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.ct-cards article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;transition:transform .25s,box-shadow .25s}
.ct-cards article:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ct-cards h3{font-size:17px;margin:14px 0 4px}
.ct-cards p{margin:0;color:var(--ink-2);font-size:15px;overflow-wrap:anywhere}
.ct-cards a{color:var(--link);font-weight:500}
.ct-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start;margin-top:40px!important}
.ct-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow-sm)}
.ct-form h2,.ct-map h2{font-size:clamp(22px,2.4vw,28px)}
.ct-form .btn{width:100%}
.ct-form .btn-primary,.ct-form .btn-primary:hover{color:var(--on-primary,#fff)}

/* OpenStreetMap */
.dt-osm{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}
.dt-osm iframe{display:block;width:100%;border:0;background:var(--soft)}
:root[data-theme=dark] .dt-osm iframe{filter:invert(.92) hue-rotate(180deg) contrast(.9) saturate(.8)}
.dt-osm-bar{display:flex;flex-wrap:wrap;gap:10px;padding:14px}
.dt-osm-bar .btn-primary,.dt-osm-bar .btn-primary:hover{color:var(--on-primary,#fff)}
:root[data-theme=dark] .dt-osm-bar .btn-outline{background:var(--soft);border-color:var(--line);color:var(--ink)}
:root[data-theme=dark] .dt-osm-bar .btn-outline:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.ct-help{display:flex;gap:12px;align-items:center;margin:18px 0 0;color:var(--ink-2)}
.ct-help .icon{width:26px;height:26px;color:var(--link)}
.ct-help a{color:var(--link);font-weight:600;text-decoration:underline}

@media (max-width:1000px){
	.ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ab-story,.ct-main{grid-template-columns:minmax(0,1fr)}
	.ab-values{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ab-timeline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
	.ab-timeline::before{display:none}
	.ab-badge{left:12px}
	.ab-pic::before{display:none}
}
@media (max-width:600px){
	.ab-values{grid-template-columns:minmax(0,1fr)}
	.ab-hero{min-height:360px}
	.ab-stats{margin-top:-28px!important}
}
@media (prefers-reduced-motion:reduce){.ab-values article,.ct-cards article{transition:none}}
