/* Expressive Tamam layer: original brand colours, clear text and scroll-led motion. */
:root { --ink: #09151b; --paper: #fff; --muted: #45575f; }
html { scroll-padding-top: 0; }
body { background: #fff; }
h1, h2, h3 { font-weight: 650; }
.site-header { background: #fffffff2; }
.nav { min-height: 88px; }
.brand-crop { width: 148px; }
.nav-links { font-weight: 650; }
.nav-links > a { position: relative; }
.nav-links > a::after { content: ''; position: absolute; bottom: 8px; height: 4px; inset-inline: 0; background: #25adfe; border-radius: 8px; transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.nav-links > a:hover::after { transform: scaleX(1); }
.lang-menu summary { border-color: #09151b; }
.hero, body[data-page-type=guide] .hero, body[data-page-type=brand] .hero { background: var(--accent); color: var(--ink); }
.hero-grid { min-height: 660px; padding-block: 62px 48px; grid-template-columns: 1.05fr 1fr; }
.hero h1 { font-weight: 650; font-size: clamp(48px, 4.6vw, 76px); letter-spacing: -.058em; }
.hero h1 span { color: var(--ink); }
body[data-home=true] .hero h1 { font-size: clamp(68px, 6.8vw, 112px); line-height: 1.03; letter-spacing: -.047em; }
.hero .headline-accent { color: var(--ink); margin-top: .13em; position: relative; }
.hero .headline-accent::after { content: ''; display: block; height: 7px; background: #fff; width: 43%; border-radius: 70% 20% 60% 30%; margin-top: 20px; transform: rotate(-3deg); }
.hero .lede, body[data-page-type=guide] .hero .lede { color: #09151b; font-size: 18px; line-height: 1.7; max-width: 560px; }
.hero .eyebrow, body[data-page-type=guide] .hero .eyebrow { color: #09151b; display: inline-flex; align-items: center; gap: 9px; font-weight: 750; }
.hero .eyebrow::before { content: ''; width: 7px; height: 7px; background: currentColor; border-radius: 100%; }
.hero .flow-line { stroke: #fff; stroke-width: 4; opacity: .27; }
.hero-foot, body[data-page-type=guide] .hero-foot, .crumbs, body[data-page-type=guide] .crumbs { color: #09151b; border-color: #09151b35; }
.hero-foot { font-size: 13px; font-weight: 550; padding-block: 21px; }
.button { min-height: 58px; border-radius: 18px; padding-inline: 25px; font-size: 15px; font-weight: 650; transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s, background .24s; }
.button:hover { transform: translateY(-4px); box-shadow: 0 7px 0 #09151b20; }
.button:active { transform: translateY(0); box-shadow: none; }
.hero .button.primary, body[data-page-type=guide] .hero .button.primary { background: #09151b; color: #fff; }
.hero .button.secondary, body[data-page-type=guide] .hero .button.secondary { background: #fff; color: #09151b; border-color: #fff; }
.hero-discover { font-weight: 600; }
.hero-discover span { border-color: #09151b; width: 36px; height: 36px; transition: transform .25s; }
.hero-discover:hover span { transform: translateY(5px); }
.service-scene { height: 530px; }
.scene-objects { bottom: 78px; }
.scene-word { opacity: .1; font-size: clamp(90px, 10vw, 165px); font-weight: 750; inset-block-start: 0; }
.scene-art { height: 490px; width: 109%; max-width: none; inset: -7% -4.5% auto; filter: drop-shadow(0 26px 16px #09151b20); }
.scene-orbit { border: 3px solid #fff; opacity: .78; inset: 12% 0 20%; transform: rotate(-24deg); }
.scene-orbit::after { width: 17px; height: 17px; background: #fff; }
.scene-chip { width: max-content; border: 1px solid #fff; border-radius: 18px; box-shadow: 0 8px 0 #09151b14; font-weight: 650; padding: 17px 20px; transition: transform .3s, box-shadow .3s; }
.scene-chip-0 { inset-block-start: 31%; inset-inline-start: -3%; }
.scene-chip-1 { inset-block-end: 17%; inset-inline-end: -1%; }
.scene-chip:hover { transform: rotate(0) translateY(-6px); box-shadow: 0 14px 0 #09151b14; }
.scene-chip::after { color: var(--ink); }
.scene-mood { display: none; }
.scene-controls, body[data-page-type=guide] .scene-controls { background: #fff; border: 0; border-radius: 22px; padding: 7px; box-shadow: 0 8px 0 #09151b14; gap: 3px; }
.scene-controls button { color: var(--ink); border-radius: 16px; font-size: 13px; min-height: 54px; font-weight: 600; }
.scene-controls [aria-pressed=true] { background: #09151b; color: #fff; }
.scene-controls img { width: 39px; height: 39px; transition: transform .3s; }
.scene-controls button:hover img { transform: translateY(-4px) rotate(-8deg) scale(1.15); }
.scene-controls:has(.scene-browse) { height: 56px; background: #fff; border-radius: 17px; }
.scene-browse, body[data-page-type=guide] .scene-browse { border: 0; position: static; color: var(--ink); padding: 12px; font-weight: 650; }
.scene-browse::after { content: '↗'; margin-inline-start: 14px; }
.industry-ribbon { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 15px; padding-block: 40px; }
.industry-ribbon > a { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 15px 10px 5px; border: 1px solid #e4e8eb; border-radius: 20px; font-size: 24px; letter-spacing: -.03em; font-weight: 650; transition: background .3s, transform .35s cubic-bezier(.2,.8,.2,1); }
.industry-ribbon > a:hover { background: var(--accent); border-color: var(--accent); transform: translateY(-6px) rotate(-2deg); }
.industry-ribbon img { width: 76px; height: 76px; object-fit: contain; transition: transform .35s; }
.industry-ribbon a:hover img { transform: rotate(10deg) scale(1.14); }
.ribbon-arrow { margin-inline-start: auto; font-size: 21px; }
.home-content { padding-top: 45px; }
.realm-intro { max-width: 1030px; margin-bottom: 65px; }
.realm-intro h2 { font-size: clamp(46px, 5.4vw, 82px); max-width: 990px; letter-spacing: -.05em; }
.realm-intro p { font-size: 19px; max-width: 710px; }
.article > section.realm { position: relative; isolation: isolate; overflow: clip; background: var(--accent); border-radius: 32px; margin-bottom: 32px; padding: 55px; gap: 60px; color: #09151b; min-height: 440px; box-shadow: 0 14px 0 #09151b08; }
.article > section.realm::before { content: ''; width: 490px; height: 490px; border: 60px solid #ffffff32; border-radius: 50%; position: absolute; inset: -100px auto auto -150px; transform: translateY(var(--realm-shift,0px)); z-index: -1; }
.realm .eyebrow { color: #09151b; font-weight: 700; }
.realm-heading h2 { font-size: clamp(39px, 3.8vw, 57px); font-weight: 650; }
.realm-heading > img { width: 275px; height: 270px; margin-top: 4px; transform: rotate(var(--realm-tilt,-4deg)); transition: transform .5s; filter: drop-shadow(0 14px 12px #09151b16); }
.realm:hover .realm-heading > img { transform: rotate(4deg) translateY(-10px); }
.realm .service-grid { gap: 10px; align-content: center; }
.realm .service-card { padding: 16px 36px 16px 17px; min-height: 70px; background: #fffffff2; border: 0; border-radius: 15px; color: #09151b; transition: transform .25s, box-shadow .25s; }
.realm .service-card strong { font-size: 15px; }
.realm .service-card::after { inset-inline-end: 15px; top: 23px; color: #09151b; }
.realm .service-card:hover { transform: translateY(-4px); box-shadow: 0 6px 0 #09151b16; padding-inline-start: 17px; }
.reading-navigation { position: sticky; top: 88px; z-index: 35; background: #fffffff2; backdrop-filter: blur(18px); border-bottom: 1px solid #e0e5e8; }
.reading-links { display: flex; align-items: center; gap: 10px; overflow-x: auto; padding-block: 12px; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #b5c6cd transparent; }
.reading-links a { display: inline-flex; flex: 0 0 auto; padding: 9px 15px; min-height: 42px; font-size: 12px; font-weight: 600; border-radius: 12px; background: #f2f5f6; white-space: nowrap; }
.reading-links a[aria-current=true] { background: var(--accent); color: #09151b; }
.reading-links a:hover { background: var(--ink); color: #fff; }
[id^=reading-] { scroll-margin-top: 175px; }
.reading-content .article > section:has(>h2) { column-gap: 70px; padding-block: 55px; }
.reading-content .article h2 { font-size: clamp(30px, 3vw, 43px); line-height: 1.15; letter-spacing: -.045em; }
.reading-content .article > section:first-child { background: #f2f7fa; padding: 38px; border-radius: 25px; border: 0; margin: 10px 0 15px; }
.scope-grid ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.scope-grid li { padding: 0; border: 0; }
.scope-grid li a { display: block; min-height: 65px; padding: 16px; border: 1px solid #d8e1e5; border-radius: 14px; color: var(--ink); font-weight: 550; transition: background .25s, transform .25s; }
.scope-grid li a:hover { background: var(--tint); transform: translateY(-3px); }
.scope-grid li a::after { margin-inline-start: 8px; }
.directory-content .service-grid { gap: 16px; }
.directory-content .service-card { border: 0; border-radius: 20px; padding: 25px 48px 25px 23px; background: #f0f6f8; min-height: 125px; overflow: hidden; transition: transform .25s, background .25s; }
.directory-content .service-card:hover { background: var(--accent); transform: translateY(-5px); color: var(--ink); }
.directory-content .service-card small { color: #344b56; }
.directory-content .service-card::after { inset-inline-end: 18px; top: 26px; color: #09151b; }
.service-filters [aria-pressed=true] { background: var(--accent); color: #09151b; border-color: var(--accent); }
.faq details { border: 0; background: #f2f6f7; border-radius: 14px; margin-bottom: 10px; padding-inline: 20px; }
.faq details[open] { background: var(--tint); }
.faq summary { padding-block: 19px; }
.faq details p { margin: 0; padding-bottom: 22px; }
.journey { padding-block: 90px 100px; }
.journey-intro h2 { font-size: clamp(48px, 5.6vw, 86px); letter-spacing: -.05em; }
.journey-device { background: #25adfe; border: 2px solid #09151b; border-radius: 30px; box-shadow: 13px 16px 0 #09151b; transform: rotate(-5deg); }
.journey-top { background: #fff; color: var(--ink); border: 0; }
.journey-panel-label { color: #09151b; font-weight: 600; }
.journey-panel strong { color: #09151b; }
.journey-progress i { background: #09151b35; }
.journey-progress i.is-active { background: #09151b; }
.journey-step.is-active h3 { color: var(--ink); }
.journey-step.is-active > span { width: 15px; height: 15px; inset-inline-start: -8px; box-shadow: 0 0 0 8px #25adfe22; }
.journey-art-1 span { border: 1px solid #09151b20; box-shadow: 0 8px 0 #09151b18; }
.journey-art-2 span { border-top-color: #09151b; }
.life-copy h2 { letter-spacing: -.05em; }
.places { gap: 65px; padding-block: 100px; align-items: center; }
.coverage-heading { display: flex; align-items: center; gap: 20px; min-width: 0; }
.coverage-number { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size: clamp(140px,18vw,260px); color: #25adfe; font-weight: 750; letter-spacing: -.1em; line-height: .9; transform: rotate(-9deg); flex-shrink: 0; }
.coverage-heading h2 { font-size: clamp(34px,3.4vw,52px); letter-spacing: -.045em; }
.coverage-heading p { margin: 0; font-size: 14px; }
.place-links { gap: 11px; }
.place-links a { background: #f0f6f9; border: 0; border-radius: 15px; padding: 18px; font-size: 16px; font-weight: 600; transition: background .25s, transform .25s; }
.place-links a:last-child { grid-column: 1/-1; }
.place-links a:hover { background: #25adfe; transform: translateY(-3px); color: #09151b; }
.place-links a::after { color: #09151b; }
.final-cta { background: #25adfe; padding-block: 105px; }
.final-cta h2 { font-size: clamp(50px,7vw,106px); letter-spacing: -.06em; max-width: 1080px; }
.final-cta p, .final-cta .eyebrow { color: #09151b; }
.final-cta .button.secondary { background: #fff; border-color: #fff; }
.final-cta .flow-line { stroke: #fff; stroke-width: 5; opacity: .38; }
.footer { background: #09151b; color: #fff; padding-top: 75px; }
.footer p, .footer-bottom, .privacy-choice { color: #bdcbd2; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; border-color: #ffffff30; }
.footer-grid > div > strong { color: #25adfe; font-weight: 600; }
.footer .brand-crop { width: 175px; }
.footer a:not(.logo) { padding-block: 8px; }
.mobile-cta { border-radius: 24px; background: #fffffff4; }
.mobile-cta .button { border-radius: 17px; }
.consent { border-radius: 22px; border: 1px solid #09151b30; box-shadow: 0 12px 50px #09151b30; }
.consent button { border-radius: 12px; }
.consent p { color: #344b56; }
[dir=rtl] .realm .service-card { padding-inline: 17px 36px; }
[dir=rtl] .directory-content .service-card { padding-inline: 23px 48px; }
[dir=rtl] .hero h1 { letter-spacing: -.025em; }
[dir=rtl] .hero .headline-accent::after { transform: rotate(3deg); }

@media(min-width:1101px) and (min-height:800px) {
  .home-content .article > section.realm { position: sticky; top: 105px; }
  .home-content .article > section.realm:nth-of-type(3) { top: 120px; }
  .home-content .article > section.realm:nth-of-type(4) { top: 135px; }
  .home-content .article > section.realm:nth-of-type(5) { top: 150px; }
  .home-content .article > section.realm:focus-within { z-index: 2; }
}
@media(max-width:1100px) {
  .hero-grid { min-height: 570px; gap: 22px; }
  body[data-home=true] .hero h1 { font-size: clamp(55px,6.6vw,80px); }
  .service-scene { height: 460px; }
  .scene-art { height: 425px; }
  .scene-controls button { flex-direction: column; gap: 0; font-size: 11px; }
  .scene-controls img { width: 33px; height: 33px; }
  .scene-chip { font-size: 12px; padding: 13px 15px; }
  .industry-ribbon { gap: 10px; }
  .industry-ribbon > a { font-size: 18px; gap: 4px; padding-inline-end: 12px; }
  .industry-ribbon img { width: 57px; height: 67px; }
  .article > section.realm { padding: 40px; gap: 30px; }
  .realm-heading > img { width: 225px; height: 230px; }
  .realm .service-card strong { font-size: 14px; }
  .coverage-heading { gap: 10px; }
  .coverage-number { font-size: 170px; }
}
@media(max-width:760px) {
  .nav { min-height: 72px; }
  .hero-grid { grid-template-columns: 1fr; min-height: 0; padding-block: 36px 24px; gap: 18px; }
  body[data-home=true] .hero h1 { font-size: clamp(52px,11.7vw,83px); max-width: 610px; }
  .hero h1 { font-size: clamp(41px,8.2vw,66px); }
  .hero .headline-accent::after { height: 5px; margin-top: 16px; }
  .hero .lede, body[data-page-type=guide] .hero .lede { font-size: 15px; line-height: 1.65; margin-top: 22px; }
  .hero .eyebrow { font-size: 10px; margin-bottom: 18px; }
  .hero .cta-row { margin-top: 25px; gap: 10px; }
  .button { min-height: 51px; font-size: 12px; padding-inline: 18px; border-radius: 15px; }
  .hero .button { flex: 1; max-width: 230px; }
  .service-scene, body[data-page-type=subservice] .service-scene { height: 360px; max-width: 480px; margin-top: 5px; }
  .service-scene .scene-art, body[data-page-type=subservice] .scene-art { height: 330px; top: -8%; }
  .scene-objects { bottom: 72px; }
  .scene-orbit { inset: 4% 1% 25%; }
  .scene-word { font-size: 115px; inset-block-start: -1%; }
  .scene-controls { border-radius: 19px; padding: 6px; }
  .scene-controls button { font-size: 11px; min-height: 52px; border-radius: 13px; padding: 4px; }
  .scene-controls img { width: 30px; height: 30px; }
  .scene-chip { padding: 12px 14px; font-size: 12px; border-radius: 14px; }
  .scene-chip-0 { inset: 28% auto auto 0; }
  .scene-chip-1 { inset: auto 0 19% auto; }
  .scene-mood { bottom: -12px!important; font-size: 11px; }
  .scene-controls:has(.scene-browse) { height: 49px; }
  .scene-browse { font-size: 13px; }
  .hero-foot { font-size: 11px; padding-block: 17px; }
  .industry-ribbon { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding-block: 25px; }
  .industry-ribbon > a { font-size: 19px; border-radius: 17px; }
  .industry-ribbon img { width: 65px; height: 64px; }
  .home-content { padding-top: 35px; }
  .realm-intro { margin-bottom: 35px; }
  .realm-intro h2 { font-size: clamp(38px,8vw,54px); }
  .realm-intro p { font-size: 16px; }
  .article > section.realm { display: block; padding: 27px 22px; min-height: 0; margin-bottom: 22px; border-radius: 25px; }
  .article > section.realm::before { width: 320px; height: 320px; border-width: 40px; inset: -100px -95px auto auto; }
  .realm-heading { min-height: 165px; padding-inline-end: 145px; }
  .realm-heading h2 { font-size: 34px; }
  .realm-heading .eyebrow { max-width: 200px; }
  .realm-heading > img { width: 170px; height: 175px; inset: -16px -8px auto auto; }
  [dir=rtl] .realm-heading > img { inset: -16px auto auto -8px; }
  .realm .service-grid { gap: 9px; }
  .realm .service-card { min-height: 63px; padding: 13px 26px 13px 12px; border-radius: 12px; }
  .realm .service-card strong { font-size: 13px; }
  .realm .service-card::after { inset-inline-end: 11px; top: 20px; font-size: 15px; }
  .realm .service-card:hover { padding-inline-start: 12px; }
  [dir=rtl] .realm .service-card { padding-inline: 12px 26px; }
  .reading-navigation { top: 72px; }
  .reading-links { padding-block: 9px; gap: 8px; }
  .reading-links a { min-height: 39px; font-size: 11px; }
  [id^=reading-] { scroll-margin-top: 160px; }
  .reading-content .article > section:first-child { padding: 23px; border-radius: 20px; }
  .reading-content .article > section:has(>h2) { padding-block: 33px; }
  .reading-content .article h2 { font-size: 31px; }
  .scope-grid ul { gap: 8px; }
  .scope-grid li a { padding: 13px; font-size: 13px; border-radius: 12px; }
  .directory-content .service-grid { gap: 12px; }
  .directory-content .service-card { min-height: 130px; padding: 20px 34px 20px 16px; border-radius: 16px; }
  .directory-content .service-card::after { inset-inline-end: 12px; top: 23px; }
  [dir=rtl] .directory-content .service-card { padding-inline: 16px 34px; }
  .faq details { padding-inline: 16px; }
  .journey { padding-block: 55px 65px; }
  .journey-intro h2 { font-size: 43px; }
  .journey-device { box-shadow: 7px 9px 0 #09151b; border-radius: 21px; }
  .journey-layout { gap: 32px; }
  .places { padding-block: 65px; }
  .coverage-heading { gap: 26px; margin-bottom: 30px; }
  .coverage-number { font-size: 180px; }
  .coverage-heading h2 { font-size: 37px; }
  .place-links { gap: 10px; }
  .place-links a { font-size: 15px; padding: 16px; }
  .final-cta { padding-block: 65px; }
  .final-cta h2 { font-size: clamp(42px,10vw,69px); }
  .footer { padding-top: 55px; }
  .footer .brand-crop { width: 150px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media(max-width:420px) {
  body[data-home=true] .hero h1 { font-size: 50px; }
  .hero .button { font-size: 11px; padding-inline: 13px; gap: 8px; }
  .service-scene, body[data-page-type=subservice] .service-scene { height: 320px; }
  .service-scene .scene-art, body[data-page-type=subservice] .scene-art { height: 290px; }
  .scene-word { font-size: 96px; }
  .scene-controls button { font-size: 10px; }
  .scene-chip { font-size: 11px; padding: 11px 12px; }
  .scene-mood { font-size: 10px; }
  .industry-ribbon > a { font-size: 17px; gap: 3px; padding-inline-end: 10px; }
  .industry-ribbon img { width: 52px; height: 56px; }
  .ribbon-arrow { font-size: 18px; }
  .realm-heading { min-height: 150px; padding-inline-end: 123px; }
  .realm-heading h2 { font-size: 29px; }
  .realm-heading > img { width: 145px; height: 159px; }
  .article > section.realm { padding: 24px 17px; }
  .realm .service-card strong { font-size: 12px; }
  .journey-layout { gap: 25px; }
  .coverage-heading { gap: 19px; }
  .coverage-number { font-size: 145px; }
  .coverage-heading h2 { font-size: 32px; }
  .place-links a { font-size: 14px; padding: 15px 12px; }
  .scope-grid ul { grid-template-columns: 1fr; }
}
@media(max-width:340px) {
  body[data-home=true] .hero h1 { font-size: 46px; }
  .realm-heading h2 { font-size: 26px; }
  .realm-heading { padding-inline-end: 107px; }
  .realm-heading > img { width: 130px; }
  .industry-ribbon > a { font-size: 15px; }
  .industry-ribbon img { width: 46px; }
  .coverage-number { font-size: 122px; }
  .coverage-heading h2 { font-size: 29px; }
}
@media(prefers-reduced-motion:reduce) {
  .realm-heading > img, .scene-art, .hero .flow-line { transform: none!important; }
  .home-content .article > section.realm { position: relative; top: auto; }
}
@media print { .industry-ribbon, .reading-navigation { display:none!important; } }
