@font-face{font-family:Aeonik;src:url('../fonts/AeonikProThin.ttf') format('truetype');font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProThinltalic.ttf') format('truetype');font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProAir.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProAirltalic.ttf') format('truetype');font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProLight.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProLightltalic.ttf') format('truetype');font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProRegular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProRegularltalic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProMedium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProMediumltalic.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProBold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProBoldltalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProBlack.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Aeonik;src:url('../fonts/AeonikProBlackltalic.ttf') format('truetype');font-weight:900;font-style:italic;font-display:swap}
:root{--bg:#f1f0ec;--surface:#fff;--surface2:#e8e6df;--text:#0c0e10;--muted:#6c7074;--line:#d7d5ce;--accent:#f4f2ec;--accent2:#d7d7d2;--max:1280px;--radius:18px;--shadow:0 24px 70px rgba(0,0,0,.12)}html[data-theme=dark]{--accent:#f4f2ec;--accent2:#c8c8c3;--bg:#07090b;--surface:#0e1114;--surface2:#15191d;--text:#f4f2ec;--muted:#969da2;--line:#252a2e;--shadow:0 24px 80px rgba(0,0,0,.45)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Aeonik,Arial,sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:min(calc(100% - 56px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:1000;width:100%;height:82px;background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.nav-inner{width:min(calc(100% - 56px),var(--max));height:100%;margin:auto;display:flex;align-items:center;gap:28px}.brand{width:112px;flex:0 0 auto}.brand img{height:42px;width:100%;object-fit:contain;object-position:left center}.logo-for-light{display:none}html[data-theme=light] .logo-for-dark{display:none}html[data-theme=light] .logo-for-light{display:block}.site-header nav{display:flex;align-items:center;gap:25px;margin-left:auto;height:100%;font-size:13px;font-weight:500}.site-header nav>a,.nav-drop>a{height:100%;display:flex;align-items:center;color:var(--muted);position:relative}.site-header nav>a:after,.nav-drop>a:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--accent);transition:.3s}.site-header nav a:hover,.site-header nav a.active{color:var(--text)}.site-header nav a:hover:after,.site-header nav a.active:after{right:0}.nav-drop{height:100%;position:relative;display:flex;align-items:center}.drop-menu{position:absolute;top:81px;left:-22px;width:270px;background:var(--surface);border:1px solid var(--line);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;box-shadow:var(--shadow)}.nav-drop:hover .drop-menu{opacity:1;visibility:visible;transform:none}.drop-menu a{display:flex;justify-content:space-between;padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px}.drop-menu a:last-child{border:0}.drop-menu span{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:12px}.track-link{font-size:12px;color:var(--muted);white-space:nowrap}.theme-toggle{width:38px;height:38px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.nav-toggle{display:none;border:0;background:none;width:42px}.nav-toggle span{display:block;height:1px;background:var(--text);margin:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--accent);color:#0b0c0d;padding:15px 21px;font-weight:700;border:0;cursor:pointer;transition:.28s;letter-spacing:-.01em}.btn:hover{background:var(--accent2);transform:translateY(-2px)}.btn-sm{padding:11px 15px;font-size:12px}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--line)}.btn-outline:hover{background:var(--surface2)}
.hero-v3{width:min(calc(100% - 56px),var(--max));margin:30px auto 0;min-height:700px;display:grid;grid-template-columns:1.03fr .97fr;border:1px solid var(--line);background:var(--surface);overflow:hidden}.hero-content{padding:72px 60px 58px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.hero-content:before{content:'';width:110px;height:3px;background:var(--accent);position:absolute;left:60px;top:0}.hero-kicker,.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--accent)}h1{font-size:clamp(58px,6.7vw,96px);line-height:.88;letter-spacing:-.065em;margin:24px 0 28px;font-weight:500}h1 strong{font-weight:900}h2{font-size:clamp(40px,4.3vw,66px);line-height:.96;letter-spacing:-.045em;margin:12px 0 20px;font-weight:500}h3{font-size:24px;line-height:1.08;letter-spacing:-.025em;margin:0 0 12px}.lead{font-size:19px;line-height:1.55;color:var(--muted);max-width:660px}.hero-content .lead{max-width:570px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.hero-meta{display:flex;gap:30px;border-top:1px solid var(--line);padding-top:25px;margin-top:55px}.hero-meta span{font-size:12px;color:var(--muted)}.hero-meta b{display:block;color:var(--text);font-size:14px;margin-bottom:4px}.hero-visual{position:relative;min-height:700px;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.62))}.visual-tag{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff;display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(255,255,255,.4);padding-top:15px;font-size:12px}.visual-tag strong{font-size:18px}.ticker{width:100%;border-block:1px solid var(--line);margin-top:34px;overflow:hidden;background:var(--surface)}.ticker-track{display:flex;width:max-content;animation:ticker 28s linear infinite}.ticker span{padding:16px 34px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);white-space:nowrap}.ticker i{color:var(--accent);font-style:normal}@keyframes ticker{to{transform:translateX(-50%)}}
.section{width:min(calc(100% - 56px),var(--max));margin:auto;padding:115px 0}.section-full{width:100%;background:var(--surface);border-block:1px solid var(--line)}.section-full>.shell{padding-block:115px}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:54px}.section-head p{color:var(--muted);margin:0;max-width:520px}.service-showcase{display:grid;grid-template-columns:.82fr 1.18fr;min-height:510px;border:1px solid var(--line);background:var(--surface)}.service-tabs{padding:22px 0}.service-tab{display:grid;grid-template-columns:54px 1fr 30px;gap:14px;align-items:center;padding:27px 28px;border-bottom:1px solid var(--line);cursor:pointer;transition:.3s}.service-tab:last-child{border:0}.service-tab .n{font-size:11px;color:var(--muted)}.service-tab h3{margin:0;font-size:25px}.service-tab .arr{opacity:.3}.service-tab.active,.service-tab:hover{background:var(--surface2)}.service-tab.active .n,.service-tab.active .arr{color:var(--accent);opacity:1}.service-panels{position:relative;overflow:hidden}.service-panel{position:absolute;inset:0;opacity:0;transform:scale(1.03);transition:.5s;pointer-events:none}.service-panel.active{opacity:1;transform:none;pointer-events:auto}.service-panel img{width:100%;height:100%;object-fit:cover}.service-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.82))}.service-panel-copy{position:absolute;z-index:2;bottom:30px;left:32px;right:32px;color:#fff}.service-panel-copy p{max-width:570px;color:#ddd}.service-panel-copy a{color:var(--accent);font-weight:700}.kpi-wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.kpi-intro,.kpi{padding:38px 28px;border-right:1px solid var(--line)}.kpi:last-child{border:0}.kpi-intro p,.kpi span{color:var(--muted);font-size:13px}.kpi strong{font-size:52px;line-height:1;letter-spacing:-.055em;font-weight:500;display:block;margin-bottom:8px}.kpi strong em{font-style:normal;color:var(--accent)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-media{height:620px;position:relative;overflow:hidden}.story-media img{width:100%;height:100%;object-fit:cover}.story-media .corner{position:absolute;right:0;bottom:0;width:46%;background:var(--accent);color:#111;padding:25px}.story-media .corner strong{font-size:34px;display:block}.feature-list{margin-top:35px}.feature-row{display:grid;grid-template-columns:38px 1fr;gap:18px;padding:21px 0;border-top:1px solid var(--line)}.feature-row .num{font-size:11px;color:var(--accent)}.feature-row h3{font-size:18px;margin-bottom:6px}.feature-row p{margin:0;color:var(--muted)}.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-item{padding:30px 28px 10px 0;min-height:270px;position:relative}.process-item:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--accent)}.process-item .n{font-size:11px;color:var(--accent);display:block;margin-bottom:70px}.process-item p{color:var(--muted)}.photo-strip{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;height:520px}.photo-strip>div{overflow:hidden;position:relative}.photo-strip img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.photo-strip>div:hover img{transform:scale(1.035)}.photo-caption{position:absolute;left:20px;bottom:20px;background:rgba(5,7,8,.78);color:#fff;padding:12px 14px;font-size:12px;backdrop-filter:blur(10px)}.quote-band{width:min(calc(100% - 56px),var(--max));margin:40px auto 90px;background:var(--accent);color:#0b0c0d;padding:62px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.quote-band h2{margin:0;max-width:850px}.quote-band .btn{background:#0b0c0d;color:#fff}.quote-band p{margin:10px 0 0;max-width:650px}.page-hero{width:min(calc(100% - 56px),var(--max));margin:30px auto 0;padding:90px 60px;border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}.page-hero h1{max-width:980px}.page-hero p{max-width:720px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{border:1px solid var(--line);background:var(--surface);padding:30px;min-height:190px;transition:.3s}.card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 60%,var(--line));box-shadow:var(--shadow)}.card p{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.media{height:520px;overflow:hidden}.media img{width:100%;height:100%;object-fit:cover}.steps .step{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:20px 0;border-top:1px solid var(--line);counter-increment:step}.steps{counter-reset:step}.steps .step:before{content:'0' counter(step);color:var(--accent);font-size:11px}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form .full{grid-column:1/-1}.field label{font-size:12px;font-weight:700;display:block;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:15px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit}.field textarea{min-height:140px}.tracking-box{display:flex;gap:10px;max-width:760px}.tracking-box input{flex:1;padding:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit}.notice{padding:15px;border:1px solid var(--line);background:var(--surface);margin-bottom:18px}.footer{background:#030405;color:#f1f1ef;padding:76px 0 24px;border-top:1px solid #1e2225}.footer-top{display:grid;grid-template-columns:1.05fr 1.95fr;gap:100px}.footer-brand img{width:155px;max-height:64px;object-fit:contain;object-position:left}.footer-brand p{color:#8d9499;max-width:380px;margin:25px 0}.footer-cta{display:inline-flex;gap:20px;border-bottom:1px solid #444;padding-bottom:8px}.footer-cta span{color:var(--accent)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin:0 0 20px}.footer-links a,.footer-links p{display:block;color:#91979b;font-size:13px;margin:10px 0}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #202428;margin-top:62px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#6f7579;font-size:11px}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}[data-reveal="left"]{transform:translateX(-38px)}[data-reveal="right"]{transform:translateX(38px)}[data-reveal="scale"]{transform:scale(.96)}[data-reveal].in{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(22px);transition:.55s}.stagger.in>*{opacity:1;transform:none}.stagger.in>*:nth-child(2){transition-delay:.08s}.stagger.in>*:nth-child(3){transition-delay:.16s}.stagger.in>*:nth-child(4){transition-delay:.24s}
@media(max-width:1100px){.site-header nav{display:none;position:absolute;top:81px;left:0;right:0;height:auto;background:var(--surface);padding:22px 28px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header nav>a,.nav-drop,.nav-drop>a{height:auto;padding:8px 0}.drop-menu{display:none}.nav-toggle{display:block;margin-left:auto}.track-link{display:none}.hero-v3{grid-template-columns:1fr}.hero-visual{min-height:500px}.service-showcase{grid-template-columns:1fr}.service-panels{min-height:420px}.kpi-wrap{grid-template-columns:1fr 1fr}.story-grid,.split,.section-head{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:50px}}@media(max-width:700px){.shell,.nav-inner,.hero-v3,.section,.quote-band,.page-hero{width:min(calc(100% - 28px),var(--max))}.site-header{height:72px}.brand{width:94px}.header-actions .btn{display:none}.hero-content{padding:55px 25px 35px}.hero-content:before{left:25px}.hero-visual{min-height:380px}.hero-meta{gap:15px;flex-wrap:wrap}.section{padding:80px 0}.section-full>.shell{padding-block:80px}.service-panels{min-height:330px}.service-tab{grid-template-columns:38px 1fr 20px;padding:22px 16px}.service-tab h3{font-size:20px}.kpi-wrap{grid-template-columns:1fr 1fr}.kpi-intro{grid-column:1/-1}.kpi strong{font-size:40px}.story-grid{gap:35px}.story-media{height:430px}.process-line{grid-template-columns:1fr 1fr}.process-item .n{margin-bottom:30px}.grid-3,.grid-2,.form{grid-template-columns:1fr}.form .full{grid-column:auto}.quote-band{padding:36px 25px;grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.page-hero{padding:60px 25px}.tracking-box{flex-direction:column}}
@media(max-width:800px){.service-wide{grid-template-columns:1fr!important}.service-wide img{height:250px!important}.service-wide:nth-child(2) img{order:2}}
/* ===== TAJ V4 identity refinement ===== */
html[data-theme=light]{--accent:#0c0e10;--accent2:#34383c}
.site-header nav{font-size:15px;gap:28px;letter-spacing:-.01em}.track-link{font-size:13px}.btn-sm{font-size:13px}
.theme-toggle{border-radius:50%;display:grid;place-items:center;transition:.25s}.theme-toggle:hover{background:var(--surface2);transform:rotate(12deg)}.theme-toggle svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7}
.site-header nav>a:after,.nav-drop>a:after{height:1px;background:var(--text)}.drop-menu span,.service-tab.active .n,.service-tab.active .arr,.service-panel-copy a,.feature-row .num,.process-item .n{color:var(--text)}
.hero-content:before{height:4px;width:104px;background:linear-gradient(90deg,var(--text) 0 22%,transparent 22% 29%,var(--text) 29% 66%,transparent 66% 73%,var(--text) 73% 100%)}
.hero-kicker,.eyebrow{color:var(--text);opacity:.72}.ticker{width:min(calc(100% - 56px),var(--max));margin:34px auto 0;border:1px solid var(--line)}.ticker i{color:var(--text);font-size:8px}
.kpi strong{font-size:clamp(68px,6.4vw,94px);font-weight:700;letter-spacing:-.07em}.kpi strong em{color:var(--text);font-weight:300}.kpi span{font-size:14px}.kpi-intro p{font-size:14px}.kpi-wrap{grid-template-columns:1.1fr 1fr 1fr 1fr}
.story-media .corner{background:rgba(8,10,12,.86);color:#fff;border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25);backdrop-filter:blur(14px)}
.quote-band{background:var(--text);color:var(--bg);border:1px solid var(--line)}.quote-band .btn{background:var(--bg);color:var(--text)}.quote-band .eyebrow{color:inherit!important;opacity:.7}
.btn{background:var(--text);color:var(--bg)}.btn:hover{background:var(--accent2);color:var(--bg)}html[data-theme=light] .btn:hover{color:#fff}.btn-outline,.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
/* Inner pages: one disciplined content width and intentional image overlays */
.hero,.section,.cta{width:min(calc(100% - 56px),var(--max));margin-left:auto;margin-right:auto}.section.alt{width:100%;padding-left:max(28px,calc((100% - var(--max))/2));padding-right:max(28px,calc((100% - var(--max))/2))}.hero{overflow:hidden}.hero-media{position:relative}.hero-media:after,.media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.28))}.hero-media,.media{position:relative;overflow:hidden}
.service-wide{width:100%}.service-wide img{aspect-ratio:16/7!important;height:100%!important;min-height:280px;max-height:360px}
@media(max-width:900px){.site-header nav{font-size:15px}.ticker{width:min(calc(100% - 28px),var(--max))}.kpi strong{font-size:60px}.hero,.section,.cta{width:min(calc(100% - 28px),var(--max))}.section.alt{width:100%;padding-left:14px;padding-right:14px}}

/* ===== TAJ V4.1 spacing + KPI correction ===== */
/* Counter digits must inherit the large KPI typography. The previous generic .kpi span rule also targeted the number span. */
.kpi > span{font-size:14px;color:var(--muted)}
.kpi strong span{font-size:inherit!important;line-height:inherit;color:inherit;font-weight:inherit;letter-spacing:inherit}
.kpi strong{font-size:clamp(72px,6.6vw,96px);min-height:1em;display:flex;align-items:baseline;gap:.02em}
.kpi strong em{font-size:.88em}

/* Give inner-page opening sections breathing room below the sticky navigation. */
.page-hero{margin-top:64px}
@media(max-width:700px){.page-hero{margin-top:34px}.kpi strong{font-size:54px}}

/* ===== TAJ V4.2 inner-page opening spacing ===== */
/* Inner pages use two hero systems: .page-hero and split .hero. Apply the same top rhythm to both. */
main > .hero:first-child,
main > .page-hero:first-child{
  margin-top:64px;
}
@media(max-width:700px){
  main > .hero:first-child,
  main > .page-hero:first-child{
    margin-top:34px;
  }
}


/* V4.3 — cinematic inner-page hero system */
.inner-photo-hero{width:min(calc(100% - 56px),var(--max));height:clamp(560px,68vh,760px);margin:64px auto 0;position:relative;overflow:hidden;border:1px solid var(--line);isolation:isolate;background:#090b0d}
.inner-photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;transform:scale(1.025);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.inner-photo-hero.is-visible>img{transform:scale(1)}
.inner-photo-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,5,7,.94) 0%,rgba(3,5,7,.83) 34%,rgba(3,5,7,.48) 58%,rgba(3,5,7,.16) 82%,rgba(3,5,7,.28) 100%)}
.inner-photo-shade:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.46),transparent 48%)}
.inner-photo-content{height:100%;max-width:900px;padding:clamp(54px,7vw,96px) clamp(32px,5vw,72px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;color:#f6f4ef}
.inner-photo-content .eyebrow{color:#fff;opacity:.72}
.inner-photo-content h1{color:#fff;max-width:880px;margin-top:20px;text-shadow:0 2px 24px rgba(0,0,0,.14)}
.inner-photo-content .lead{color:rgba(255,255,255,.74);max-width:690px;font-size:20px}
.inner-photo-content .hero-actions{margin-top:32px}
.inner-photo-content .btn-on-image{color:#fff;border-color:rgba(255,255,255,.38);background:rgba(0,0,0,.14);backdrop-filter:blur(8px)}
.inner-photo-content .btn-on-image:hover{background:#fff;color:#080a0c;border-color:#fff}
@media(max-width:700px){.inner-photo-hero{width:min(calc(100% - 28px),var(--max));height:620px;margin-top:34px}.inner-photo-shade{background:linear-gradient(0deg,rgba(3,5,7,.96) 0%,rgba(3,5,7,.72) 55%,rgba(3,5,7,.25) 100%)}.inner-photo-content{padding:42px 24px}.inner-photo-content h1{font-size:clamp(48px,15vw,68px)}.inner-photo-content .lead{font-size:17px}}


/* V4.5 — responsive inner heroes and service layouts */
@media (max-width: 1450px) and (min-width: 1101px){
  .inner-photo-hero{height:clamp(520px,70vh,650px)}
  .inner-photo-content{max-width:820px;padding:48px 56px}
  .inner-photo-content h1{font-size:clamp(52px,5.4vw,76px);line-height:.92;max-width:780px;margin:16px 0 20px}
  .inner-photo-content .lead{font-size:18px;line-height:1.45;max-width:650px}
  .inner-photo-content .hero-actions{margin-top:24px}
}
@media (max-width: 1100px){
  .inner-photo-hero{height:auto;min-height:560px}
  .inner-photo-content{min-height:560px;padding:52px 38px;justify-content:flex-end}
  .inner-photo-content h1{font-size:clamp(48px,8vw,68px);line-height:.94;margin:16px 0 20px}
  .inner-photo-content .lead{font-size:17px;line-height:1.48;max-width:620px}
  .service-wide{grid-template-columns:1fr !important}
  .service-wide>img{height:260px !important;order:-1}
  .service-wide>div{padding:30px !important}
  .service-wide h3{font-size:32px !important}
}
@media (max-width:700px){
  .inner-photo-hero{min-height:600px;height:auto}
  .inner-photo-content{min-height:600px}
  .service-wide>img{height:220px !important}
  .service-wide h3{font-size:28px !important}
}

/* V4.6 — lively photography + services hero composition */
.inner-photo-hero>img{filter:saturate(1.08) contrast(1.035)}
.services-photo-hero{height:clamp(570px,66vh,700px)}
.services-photo-hero .inner-photo-shade{background:linear-gradient(90deg,rgba(3,5,7,.93) 0%,rgba(3,5,7,.78) 36%,rgba(3,5,7,.34) 64%,rgba(3,5,7,.12) 100%)}
.services-photo-hero .inner-photo-content{justify-content:center;max-width:820px;padding-top:58px;padding-bottom:58px}
.services-photo-hero .inner-photo-content h1{font-size:clamp(58px,5.25vw,82px);line-height:.92;max-width:720px;margin:16px 0 22px;text-wrap:balance}
.services-photo-hero .inner-photo-content .lead{max-width:670px;font-size:18px;line-height:1.48}
.services-photo-hero .inner-photo-content .hero-actions{margin-top:26px}
@media(max-width:1450px) and (min-width:1101px){
  .services-photo-hero{height:clamp(540px,64vh,620px)}
  .services-photo-hero .inner-photo-content{max-width:740px;padding:44px 52px}
  .services-photo-hero .inner-photo-content h1{font-size:clamp(54px,4.6vw,68px);max-width:650px;line-height:.93}
  .services-photo-hero .inner-photo-content .lead{font-size:17px;max-width:610px}
}
@media(max-width:1100px){
  .services-photo-hero{min-height:590px;height:auto}
  .services-photo-hero .inner-photo-content{min-height:590px;justify-content:flex-end;padding:46px 36px}
  .services-photo-hero .inner-photo-content h1{font-size:clamp(48px,7vw,64px);max-width:620px}
}
@media(max-width:700px){
  .services-photo-hero{min-height:610px}
  .services-photo-hero .inner-photo-content{min-height:610px;padding:38px 24px}
  .services-photo-hero .inner-photo-content h1{font-size:clamp(44px,13vw,58px)}
  .services-photo-hero .inner-photo-content .lead{font-size:16px}
}

/* ===== TAJ V4.7 Fleet capability showcase ===== */
.fleet-equipment{display:grid;gap:72px;margin-top:42px}
.fleet-equipment-row{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:54px;align-items:center}
.fleet-equipment-row:nth-child(even){grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr)}
.fleet-equipment-row:nth-child(even) .fleet-equipment-media{order:2}
.fleet-equipment-media{position:relative;overflow:hidden;min-height:430px;background:#111}
.fleet-equipment-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:saturate(1.08) contrast(1.03)}
.fleet-equipment-row:hover .fleet-equipment-media img{transform:scale(1.025)}
.fleet-equipment-copy{max-width:520px}
.fleet-equipment-copy h2{margin:10px 0 18px}
.fleet-equipment-copy .lead{margin-bottom:24px}
.fleet-specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:28px}
.fleet-spec{padding:18px 18px 18px 0;border-bottom:1px solid var(--line)}
.fleet-spec:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}
.fleet-spec strong{display:block;font-size:14px;margin-bottom:5px;color:var(--text)}
.fleet-spec span{font-size:13px;line-height:1.55;color:var(--muted)}
.fleet-gallery-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}
.fleet-gallery-head .lead{max-width:560px;margin:0}
.fleet-gallery{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:260px 260px;gap:12px}
.fleet-gallery figure{margin:0;position:relative;overflow:hidden;background:#111}
.fleet-gallery figure:first-child{grid-row:1 / span 2}
.fleet-gallery figure:nth-child(4){grid-column:2 / span 2}
.fleet-gallery img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.1) contrast(1.03);transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.fleet-gallery figure:hover img{transform:scale(1.035)}
.fleet-gallery figcaption{position:absolute;left:16px;bottom:14px;padding:7px 10px;background:rgba(7,9,10,.76);backdrop-filter:blur(8px);color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1000px){
 .fleet-equipment{gap:54px}.fleet-equipment-row,.fleet-equipment-row:nth-child(even){grid-template-columns:1fr;gap:28px}.fleet-equipment-row:nth-child(even) .fleet-equipment-media{order:0}.fleet-equipment-media{min-height:390px}.fleet-equipment-copy{max-width:680px}.fleet-gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 230px 230px}.fleet-gallery figure:first-child{grid-column:1 / span 2;grid-row:auto}.fleet-gallery figure:nth-child(4){grid-column:1 / span 2}
}
@media(max-width:650px){
 .fleet-equipment{gap:44px}.fleet-equipment-media{min-height:285px}.fleet-specs{grid-template-columns:1fr}.fleet-spec:nth-child(even){padding-left:0;border-left:0}.fleet-gallery-head{display:block}.fleet-gallery-head .lead{margin-top:14px}.fleet-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:none}.fleet-gallery figure,.fleet-gallery figure:first-child,.fleet-gallery figure:nth-child(4){grid-column:auto;grid-row:auto;height:250px}
}

/* ===== Mobile experience refinement ===== */
/* Prevent grid/flex children from forcing the viewport wider than the device. */
main,section,.shell,.hero-v3,.hero-content,.hero-visual,.section,.section-full,.section-head,
.service-showcase,.service-tabs,.service-panels,.story-grid,.split,.grid-2,.grid-3,
.kpi-wrap,.kpi-intro,.kpi,.process-line,.photo-strip,.quote-band,.footer-top,.footer-links,
.inner-photo-hero,.inner-photo-content,.fleet-equipment-row,.fleet-equipment-copy,.fleet-gallery{min-width:0}

@media(max-width:700px){
  /* KPIs: one clear metric per row on phones. */
  .kpi-wrap{grid-template-columns:1fr;width:100%}
  .kpi-intro{grid-column:auto;padding:28px 20px;border-right:0;border-bottom:1px solid var(--line)}
  .kpi{padding:28px 20px;border-right:0;border-bottom:1px solid var(--line)}
  .kpi:last-child{border-bottom:0}
  .kpi strong{font-size:clamp(52px,18vw,72px)}

  /* Keep all opening content comfortably inside narrow screens. */
  h1,h2,h3,.lead,.inner-photo-content h1,.services-photo-hero .inner-photo-content h1{overflow-wrap:anywhere}
  .hero-v3,.inner-photo-hero,.page-hero,.section,.quote-band{max-width:calc(100vw - 28px)}
  .hero-content,.inner-photo-content,.page-hero{min-width:0}
  .hero-actions{width:100%}
  .hero-actions .btn{max-width:100%}

  /* Long multi-column sections become simple vertical reading flows. */
  .process-line{grid-template-columns:1fr}
  .process-item{min-height:0;padding:26px 0;border-bottom:1px solid var(--line)}
  .process-item:last-child{border-bottom:0}
  .process-item .n{margin-bottom:18px}
  .photo-strip{height:auto;grid-template-columns:1fr}
  .photo-strip>div{height:300px}
  .footer-links{grid-template-columns:1fr;gap:28px}

  /* Forms and controls must never exceed the viewport. */
  input,select,textarea,button{max-width:100%}
  .tracking-box,.form{width:100%;min-width:0}
}

@media(max-width:420px){
  .shell,.nav-inner,.hero-v3,.section,.quote-band,.page-hero,.inner-photo-hero,.hero,.cta{width:calc(100% - 20px);max-width:calc(100vw - 20px)}
  .hero-content{padding-left:20px;padding-right:20px}
  .inner-photo-content,.services-photo-hero .inner-photo-content{padding-left:20px;padding-right:20px}
  .quote-band{padding:30px 20px}
  .service-tab{padding-left:12px;padding-right:12px}
}

/* ===== Mobile overflow + service readability refinement ===== */
/* Reveal animations must never enlarge the document canvas while off-screen. */
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}

@media(max-width:700px){
  /* Horizontal reveal transforms can temporarily create a wider layout on phones.
     Keep the animation, but use vertical motion inside the viewport. */
  [data-reveal="left"],[data-reveal="right"]{transform:translateY(24px)}
  [data-reveal="left"].in,[data-reveal="right"].in{transform:none}

  /* Homepage services: maintain strong text contrast over every photograph. */
  .service-panels{min-height:410px;background:#080a0c}
  .service-panel:after{
    background:linear-gradient(180deg,rgba(3,5,7,.18) 0%,rgba(3,5,7,.48) 34%,rgba(3,5,7,.92) 68%,rgba(3,5,7,.98) 100%);
  }
  .service-panel-copy{left:20px;right:20px;bottom:22px;padding-top:70px}
  .service-panel-copy h3{font-size:26px;line-height:1.05;text-shadow:0 2px 14px rgba(0,0,0,.55)}
  .service-panel-copy p{color:rgba(255,255,255,.9);font-size:15px;line-height:1.5;margin-bottom:16px;text-shadow:0 1px 10px rgba(0,0,0,.55)}
  .service-panel-copy a{color:#fff;text-decoration:underline;text-underline-offset:4px}
}
