/* Olsen Steiner v6.8 — UX/localisation correction layer */
[data-visual-release="6.8.0"]{--ux-navy:#062d48;--ux-ink:#103c60;--ux-blue:#1d5c87;--ux-sky:#dceaf2;--ux-mist:#edf4f7;--ux-sand:#eee7dc;--ux-sage:#e4ede8;--ux-line:#cbdce6}

/* Header: canonical logo always visible; mobile is an explicit three-column grid. */
[data-visual-release="6.8.0"] .ux-header{position:relative;background:#fff;color:var(--ux-ink);height:auto;min-height:86px;border-bottom:1px solid #dce5ea;z-index:60}
[data-visual-release="6.8.0"] .ux-header .nav-inner{min-height:86px}
[data-visual-release="6.8.0"] .ux-header .brand.brand-lockup .brand-logo{display:block;width:clamp(220px,18vw,290px);height:auto;max-width:100%}
[data-visual-release="6.8.0"] .ux-header .os-language-switch{order:2;margin-left:auto}
[data-visual-release="6.8.0"] .ux-header .menu-toggle{order:3}
[data-visual-release="6.8.0"] .ux-header .nav{order:4}
[data-visual-release="6.8.0"] .ux-header .brand{order:1}
[data-visual-release="6.8.0"] .os-language-switch{font-size:11px;gap:6px}
[data-visual-release="6.8.0"] .os-language-switch a,[data-visual-release="6.8.0"] .os-language-switch span{padding:7px 4px}
[data-visual-release="6.8.0"] .no-js-nav{background:var(--ux-navy);color:#fff;padding:12px 20px;display:flex;gap:16px;flex-wrap:wrap;font-size:12px}

/* Shared visual rhythm */
.ux-lede{font-size:18px!important;line-height:1.65!important;color:#365b73!important;max-width:58ch}
.ux-arrow{width:1em;height:1em;display:inline-block;vertical-align:-.12em;flex:none}
.ux-lift{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ux-lift:hover,.ux-lift:focus-visible{transform:translateY(-4px);box-shadow:0 20px 42px #103c6015;border-color:#7fa3b9;outline:none}
.ux-rich-grid article{background:linear-gradient(145deg,#fff,#edf4f7);transition:background .2s,transform .2s}
.ux-rich-grid article:nth-child(2){background:linear-gradient(145deg,#eef6f2,#f7faf8)}
.ux-rich-grid article:nth-child(3){background:linear-gradient(145deg,#f5eee8,#fbf8f4)}
.ux-rich-grid article:nth-child(4){background:linear-gradient(145deg,#eaf1f7,#f8fbfd)}
.ux-rich-grid article:hover{transform:translateY(-3px)}
.ux-process article{transition:background .2s,transform .2s}
.ux-process article:hover,.ux-process article:focus-visible{background:#f0f6f9;transform:translateY(-2px);outline:none}

/* Image-led hero replacing repeated static maps */
.ux-hero-media{position:relative;min-height:430px;background:#dce8ef;overflow:hidden;border:1px solid #cfdee7;box-shadow:0 22px 55px #0e3b5715}
.ux-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(.98)}
.ux-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#092f4a12,#092f4aa8 76%,#092f4ae8)}
.ux-hero-inset{position:absolute;right:28px;top:28px;width:31%;aspect-ratio:1.15;object-fit:cover;border:8px solid #f9fbfc;box-shadow:0 16px 35px #092f4a24;z-index:2}
.ux-hero-overlay{position:absolute;z-index:3;left:24px;right:24px;bottom:24px;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#d5e3eb99;border:1px solid #d5e3eb}
.ux-hero-overlay span{background:#f7fafbe8;color:#113f60;padding:12px 7px;text-align:center;font-size:9px;font-weight:700;letter-spacing:.08em}

/* Interactive map section */
.ux-map-intro{margin:42px 0 18px;display:grid;grid-template-columns:.45fr 1fr;gap:30px;align-items:end}
.ux-map-intro h3{font-size:32px;margin:0}.ux-map-intro p{font-size:13px;color:#527184;margin:0}
.ux-institutional-map{border:1px solid var(--ux-line);background:linear-gradient(145deg,#f6fafc,#e8f1f6);padding:18px;box-shadow:0 20px 50px #103c6010}
.ux-institutional-map .map-scroll{background:#f9fbfc}
.ux-institutional-map .os-network-controls{margin-top:12px}
.ux-institutional-map .os-network-controls button{background:#fff}
.ux-institutional-map .os-network-controls button[aria-pressed=true]{background:var(--ux-navy);color:#fff}
.ux-image-ribbon,.ux-photo-ribbon{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:16px;margin-top:38px}
.ux-image-ribbon figure,.ux-photo-ribbon figure{position:relative;min-height:170px;overflow:hidden;margin:0;background:#dce8ef}
.ux-image-ribbon img,.ux-photo-ribbon img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.78)}
.ux-image-ribbon figcaption,.ux-photo-ribbon figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:13px 16px;background:#062d48d8;color:#fff;font-size:11px;letter-spacing:.08em}

/* PT institutional home */
.ux-pt-hero{background:linear-gradient(120deg,#f7fafb,#e6f0f5);border-bottom:1px solid #d4e2e9}
.ux-pt-hero-grid,.ux-subhero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;padding-block:56px}
.ux-pt-hero h1,.ux-subhero h1{font-size:clamp(48px,5.5vw,76px);line-height:1.03;letter-spacing:-.045em;margin-bottom:27px}
.ux-pt-hero p:not(.v-kicker),.ux-subhero p:not(.v-kicker){font-size:16px;line-height:1.72;color:#3f6075}
.ux-priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ux-priority-grid>a{position:relative;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto 1fr;padding:24px;background:#f8fbfc;border:1px solid #d6e3ea;min-height:330px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.ux-priority-grid>a:hover{transform:translateY(-4px);box-shadow:0 22px 45px #103c6015}
.ux-priority-grid>a>span{font:400 32px Georgia,serif;color:#6c91a8;grid-row:1}
.ux-card-media{grid-column:2;grid-row:1;width:100%;height:110px;background-size:cover;background-position:center;margin-bottom:20px}
.ux-media-public{background-image:linear-gradient(#0c3f6065,#0c3f6065),url('/assets/architecture.webp')}
.ux-media-health{background-image:linear-gradient(#315e5060,#315e5060),url('/assets/residence.webp')}
.ux-media-market{background-image:linear-gradient(#0d426365,#0d426365),url('/assets/mountains.webp')}
.ux-media-invest{background-image:linear-gradient(#66543a50,#66543a50),url('/assets/architecture.webp');background-position:bottom}
.ux-priority-grid h3{grid-column:1/-1;font-size:30px;line-height:1.12;margin:18px 0 13px}
.ux-priority-grid p{grid-column:1/-1;font-size:13px;line-height:1.7;color:#506e80;margin:0 30px 0 0}
.ux-priority-grid .ux-arrow{position:absolute;right:22px;bottom:22px;width:20px}
.ux-feature-band{background:linear-gradient(100deg,#062d48ed,#0a3d5def),url('/assets/architecture.webp') center/cover;color:#fff;padding-block:55px}
.ux-feature-band>.v-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.ux-feature-band h2{font-size:clamp(31px,3.8vw,48px);line-height:1.12}.ux-feature-band p:not(.v-kicker){color:#d0e0e9;max-width:55ch}
.ux-decision-line{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr 22px 1fr;align-items:center;gap:5px}
.ux-decision-line span{padding:16px 8px;border:1px solid #8eb0c477;text-align:center;font-size:10px;letter-spacing:.08em;background:#ffffff0a}.ux-decision-line i{font-style:normal;text-align:center;color:#a9c7d9}
.ux-bridge-section{display:grid;grid-template-columns:.55fr 1.45fr;gap:45px;align-items:start}.ux-bridge-section>div:first-child{position:sticky;top:110px}.ux-bridge-section h2{font-size:clamp(31px,3.5vw,46px)}
.ux-contact-teaser{display:flex;justify-content:space-between;align-items:center;gap:40px}.ux-contact-teaser h2{max-width:850px}

/* PT subpages */
.ux-subhero{background:linear-gradient(120deg,#f3f7f9,#e8f1f5)}
.ux-photo-stack{position:relative;min-height:430px}.ux-photo-stack img:first-child{position:absolute;inset:0 15% 8% 0;width:85%;height:92%;object-fit:cover;filter:saturate(.8)}.ux-photo-stack img:last-child{position:absolute;right:0;bottom:0;width:43%;height:43%;object-fit:cover;border:8px solid #f5f8f9;box-shadow:0 12px 35px #103c6022}
.ux-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ux-method-grid.ux-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.ux-method-grid article{padding:28px;background:linear-gradient(145deg,#f7fafb,#eaf2f6);border-top:3px solid #6e9bb7;min-height:230px}.ux-method-grid article:nth-child(2n){background:linear-gradient(145deg,#f4f4ef,#faf9f5);border-color:#9b8c6f}
.ux-method-grid span{font:400 33px Georgia,serif;color:#6d90a6}.ux-method-grid h3{font-size:28px;margin:25px 0 14px}.ux-method-grid p{font-size:14px;color:#4f6e82}
.ux-330{background:linear-gradient(110deg,#e4eee8,#f3f7f4);padding-block:55px}.ux-330>.v-wrap{display:grid;grid-template-columns:.65fr 1.35fr;gap:40px}.ux-330-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ux-330-grid article{background:#fff;padding:24px;border:1px solid #cbdcd2}.ux-330-grid strong{display:block;font:400 52px Georgia,serif;color:#22584a;margin-bottom:18px}.ux-330-grid span{font-size:13px;line-height:1.6;color:#42695e}.ux-330 details{grid-column:1/-1}
.ux-final-cta{background:var(--ux-navy);color:#fff;padding-block:48px}.ux-final-cta>.v-wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.ux-final-cta h2{font-size:clamp(31px,3.6vw,47px);max-width:900px;margin:0}
.ux-direct-contact{display:grid;gap:7px;margin-top:28px}.ux-direct-contact span{font-size:9px;letter-spacing:.14em;color:#607f93;margin-top:9px}.ux-direct-contact a{font:400 25px Georgia,serif;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.ux-contact-art .ux-hero-media{min-height:390px}
.ux-form-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:55px;align-items:start}.ux-form-layout form{background:#fff;border:1px solid #d4e2e9;padding:30px}
.ux-legal{max-width:1050px}.ux-legal p{font-size:15px;line-height:1.8;color:#49697d}.ux-legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ux-legal-grid article{background:#fff;border:1px solid #d7e3ea;padding:27px}.ux-legal-grid p{font-size:14px;line-height:1.75;color:#4d6b7d}

/* Existing Public Sector cards receive more colour and depth */
[data-visual-release="6.8.0"] .ps-app{position:relative;overflow:hidden;background:#f7fafb}
[data-visual-release="6.8.0"] .ps-app:before{content:"";display:block;height:72px;margin:-24px -20px 20px;background-size:cover;background-position:center;opacity:.85}
[data-visual-release="6.8.0"] .ps-app-1:before{background-image:linear-gradient(#2f69576a,#2f69576a),url('/assets/wellness.webp')}
[data-visual-release="6.8.0"] .ps-app-2:before{background-image:linear-gradient(#725f4860,#725f4860),url('/assets/residence.webp')}
[data-visual-release="6.8.0"] .ps-app-3:before{background-image:linear-gradient(#164f7160,#164f7160),url('/assets/architecture.webp')}
[data-visual-release="6.8.0"] .ps-app-4:before{background-image:linear-gradient(#20577455,#20577455),url('/assets/mountains.webp')}
[data-visual-release="6.8.0"] .ps-app-5:before{background-image:linear-gradient(#3f6f5a55,#3f6f5a55),url('/assets/mountains.webp')}

/* Footer PT contact readability stays explicit. */
[data-visual-release="6.8.0"] .s-footer-contact strong{visibility:visible!important;opacity:1!important}

/* Mobile */
@media(max-width:1000px){
  .ux-pt-hero-grid,.ux-subhero-grid{grid-template-columns:1fr}.ux-hero-media,.ux-photo-stack{min-height:360px}
  .ux-feature-band>.v-wrap,.ux-bridge-section,.ux-330>.v-wrap,.ux-form-layout{grid-template-columns:1fr}
  .ux-bridge-section>div:first-child{position:static}.ux-method-grid.ux-four{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  [data-visual-release="6.8.0"] .ux-header{min-height:76px}
  [data-visual-release="6.8.0"] .ux-header .nav-inner{width:calc(100% - 28px)!important;min-height:76px;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:76px auto;gap:0 9px;align-items:center}
  [data-visual-release="6.8.0"] .ux-header .brand{grid-column:1;grid-row:1;min-width:0;justify-self:start}
  [data-visual-release="6.8.0"] .ux-header .brand.brand-lockup .brand-logo{width:min(42vw,164px)!important;max-width:100%!important}
  [data-visual-release="6.8.0"] .ux-header .os-language-switch{grid-column:2;grid-row:1;margin:0!important;justify-self:end;font-size:9px}
  [data-visual-release="6.8.0"] .ux-header .menu-toggle{grid-column:3;grid-row:1;margin:0!important;justify-self:end;min-width:76px;height:45px;padding:10px 13px}
  [data-visual-release="6.8.0"] .ux-header .nav{grid-column:1/-1;grid-row:2;top:76px;left:0;right:0;width:100%;margin:0}
  .ux-pt-hero-grid,.ux-subhero-grid{padding-block:34px;gap:27px}.ux-pt-hero h1,.ux-subhero h1{font-size:45px}
  .ux-hero-media{min-height:300px}.ux-hero-inset{width:34%;right:16px;top:16px;border-width:5px}.ux-hero-overlay{left:12px;right:12px;bottom:12px;grid-template-columns:1fr}.ux-hero-overlay span{padding:7px}
  .ux-priority-grid,.ux-method-grid,.ux-method-grid.ux-four,.ux-330-grid,.ux-legal-grid{grid-template-columns:1fr}
  .ux-priority-grid>a{min-height:300px}.ux-card-media{height:105px}
  .ux-feature-band>.v-wrap{gap:28px}.ux-decision-line{grid-template-columns:1fr}.ux-decision-line i{transform:rotate(90deg)}
  .ux-bridge-section{gap:25px}.ux-institutional-map{padding:10px}.ux-institutional-map .os-map{min-width:850px!important}
  .ux-image-ribbon,.ux-photo-ribbon{grid-template-columns:1fr 1fr}.ux-image-ribbon figure:first-child,.ux-photo-ribbon figure:first-child{grid-column:1/-1;min-height:210px}
  .ux-photo-stack{min-height:300px}.ux-method-grid article{min-height:0}
  .ux-330>.v-wrap{gap:25px}.ux-330-grid article{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:15px}.ux-330-grid strong{margin:0}
  .ux-final-cta>.v-wrap,.ux-contact-teaser{align-items:flex-start;flex-direction:column}
  .ux-form-layout form{padding:22px 17px}.ux-direct-contact a{font-size:22px}
  .ux-map-intro{grid-template-columns:1fr;gap:10px}.ux-map-intro h3{font-size:27px}
}
@media(max-width:360px){
  [data-visual-release="6.8.0"] .ux-header .nav-inner{width:calc(100% - 20px)!important;gap:0 6px}
  [data-visual-release="6.8.0"] .ux-header .brand.brand-lockup .brand-logo{width:min(40vw,138px)!important}
  [data-visual-release="6.8.0"] .ux-header .menu-toggle{min-width:70px;padding-inline:10px}
  [data-visual-release="6.8.0"] .ux-header .os-language-switch{font-size:8px}
  .ux-pt-hero h1,.ux-subhero h1{font-size:40px}
}
@media(prefers-reduced-motion:reduce){.ux-lift,.ux-rich-grid article,.ux-process article,.ux-priority-grid>a{transition:none!important}.ux-lift:hover,.ux-lift:focus-visible,.ux-rich-grid article:hover,.ux-process article:hover,.ux-priority-grid>a:hover{transform:none!important}}


/* Map guidance is functional copy, not micro-caption text. Keep it readable
   across institutional desktop and mobile layouts. */
[data-visual-release="6.8.0"] .ux-institutional-map .s-map-instruction,
[data-visual-release="6.8.0"] .ux-institutional-map .os-map-status{font-size:12px!important;line-height:1.55!important}
