/* Interaction and responsive layer for the independent build */
:root{
  /* Exact colors sampled from the approved print-ready business card. */
  --paper:#f3f5f1;
  --paper-bright:#f8faf7;
  --white:#f3f5f1;
  --ink:#102a36;
  --navy:#123f38;
  --navy-deep:#102a36;
  --emerald:#123f38;
  --emerald-soft:#2d5a51;
  --gold:#b8a789;
  --gold-ink:#756853;
  --gold-light:#d8cfbf;
  --mist:#e7ece8;
  --text-soft:#5d6967;
  --line:#123f3833;
  --light-line:#f3f5f138;
  --type-display:clamp(3rem,4.85vw,5.3rem);
  --type-page-title:clamp(3.1rem,5.25vw,5.8rem);
  --type-section:clamp(2.3rem,3.55vw,4.05rem);
  --type-project:clamp(1.85rem,2.55vw,3rem);
  --type-card:clamp(1.75rem,2.35vw,2.8rem);
  --type-dialog:clamp(2rem,3.35vw,3.55rem);
  --type-contact:clamp(2.6rem,4.15vw,4.65rem);
  --type-body-large:clamp(1.02rem,1.15vw,1.12rem);
  --type-label:.78rem;
  --type-action:.77rem;
}

/* Business-card theme: emerald front, warm cream reverse, gold details. */
body{background:var(--paper);color:var(--ink)}
.site-header{background:#f8faf7f5;border-bottom-color:#b8a78959}
.brand strong,.site-nav a,.language-switch button.active{color:var(--navy)}
.site-nav a{color:#3a514d}
.language-switch{color:#123f3847}
.language-switch button{color:#123f387a}
.home-hero{background:var(--navy);color:var(--paper)}
.hero-copy{background:var(--navy);border-right:1px solid #b8a78959}
.hero-copy .eyebrow{color:var(--gold-light)}
.hero-copy h1{color:var(--paper)}
.hero-copy h1 span:last-child{color:var(--gold-light)}
.hero-role{color:var(--gold-light)}
.hero-intro,.availability{color:#f3f5f1b8}
.availability span{background:var(--gold-light);box-shadow:0 0 0 4px #d8cfbf26}
.hero-actions .button-primary{background:var(--gold);color:var(--ink)}
.hero-actions .button-primary:hover,.hero-actions .button-primary:focus-visible{background:var(--gold-light);color:var(--ink)}
.hero-actions .button-link{color:var(--paper)}
.hero-mosaic{background:var(--ink)}
.hero-mosaic figcaption{background:#102a36e8;color:var(--gold-light)}
.hero-stats{background:var(--ink)}
.positioning-section,.about-section{background:var(--paper)}
.services-section,.property-callout,.scope-section,.property-services-section,.protect-section{background:var(--paper-bright)}
.work-section,.contact-section,.property-hero,.property-contact-section{background:var(--navy)}
.site-footer{background:var(--ink)}
.engage-section{background:var(--mist)}
.process-section,.independence-box{background:var(--navy)}
.role-panels{background:#e9ede9}
.property-service-groups>article:first-child,.property-service-groups>article:nth-child(4),.conditions-box{background:#e9ede9}
.property-service-groups>article:nth-child(2),.property-service-groups>article:nth-child(3),.credentials-band,.packages-grid article{background:var(--mist)}
.section-label,.mini-label,.role-tabs button>span,.scope-grid span,.service-item>span,.property-service-item>span,.engage-grid article>span,.protect-grid article>span{color:var(--gold-ink)}
.home-hero .eyebrow,.work-section .section-label,.contact-section .section-label,.property-hero .eyebrow,.process-section .section-label,.property-contact-section .section-label,.work-section .mini-label,.project-card-copy>div p{color:var(--gold-light)}
.role-tabs button[aria-selected="true"]{background:var(--navy);color:var(--paper)}
.role-tabs button[aria-selected="true"]>span{color:var(--gold-light)}
.button-primary{background:var(--navy);color:var(--paper)}
.button-primary:hover,.button-primary:focus-visible{background:var(--ink)}
.button-gold{background:var(--gold);color:var(--ink)}
.button-gold:hover,.button-gold:focus-visible{background:var(--gold-light);color:var(--ink)}
.button-outline-light{color:var(--paper);border-color:#f3f5f173}
.button-outline-light:hover,.button-outline-light:focus-visible{border-color:var(--gold-light);color:var(--gold-light)}
.site-dialog{box-shadow:0 30px 100px #102a3680}
.site-dialog::backdrop{background:#102a36d9}
.dialog-close{background:var(--navy);color:var(--paper)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
[hidden]{display:none!important}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero-copy h1{font-size:var(--type-display)}
.hero-mosaic-four .hero-main-image{inset:0 36% 0 0}
.hero-mosaic-four .hero-main-image img{object-position:center 38%}
.hero-mosaic-four .hero-side-image{width:calc(36% - .6rem);height:calc((100% - 1.2rem)/3);right:0}
.hero-mosaic-four .hero-side-top{top:0}
.hero-mosaic-four .hero-side-middle{top:calc((100% - 1.2rem)/3 + .6rem)}
.hero-mosaic-four .hero-side-bottom{bottom:0}
.hero-mosaic-four .hero-side-image img{object-position:center}
.hero-mosaic-four .hero-side-image figcaption{padding:.5rem .65rem;font-size:.66rem;line-height:1.3}
.button,.text-action,.project-detail-trigger,.dialog-close,.menu-toggle{cursor:pointer;border:0}
.hero-actions .button{font-family:Arial,Helvetica,sans-serif}
.values-row p>span:last-child{color:var(--navy);letter-spacing:0;font:400 1.05rem/1.3 Georgia,Times New Roman,serif}
.protects-row b{font:inherit}

.menu-toggle{background:transparent;width:44px;height:44px;padding:11px;align-items:center;justify-content:center;flex-direction:column;gap:5px;display:none;position:relative;z-index:61}
.menu-toggle span{background:var(--navy);width:22px;height:1.5px;transition:transform .2s,opacity .2s;display:block}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}

.roles-layout{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(310px,.68fr) minmax(0,1.32fr);margin-top:clamp(4rem,7vw,7rem);display:grid}
.role-tabs{border-right:1px solid var(--line);display:flex;flex-direction:column}
.role-tabs button{background:transparent;color:var(--navy);border:0;border-bottom:1px solid var(--line);text-align:left;grid-template-columns:35px 1fr 20px;align-items:center;gap:1rem;min-height:82px;padding:1rem 1.35rem;display:grid;transition:background .2s,color .2s}
.role-tabs button:last-child{border-bottom:0}
.role-tabs button>span{color:var(--gold-ink);font-size:.72rem;font-weight:700;letter-spacing:.15em}
.role-tabs button strong{font:400 clamp(1.05rem,1.25vw,1.28rem)/1.25 Georgia,Times New Roman,serif}
.role-tabs button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;opacity:.45}
.role-tabs button:hover,.role-tabs button:focus-visible{background:var(--mist)}
.role-tabs button[aria-selected="true"]{background:var(--navy);color:var(--white)}
.role-tabs button[aria-selected="true"] svg{opacity:1}
.role-panels{background:#e9ede9;min-width:0}
.role-panel{grid-template-columns:minmax(250px,.82fr) minmax(300px,1.18fr);min-height:492px;display:grid}
.role-panel>img{object-fit:cover;width:100%;height:100%;min-height:492px}
.role-panel-copy{align-self:center;padding:clamp(2.5rem,4.5vw,5rem)}
.role-panel-copy h3{color:var(--navy);letter-spacing:-.04em;margin:1.35rem 0 1.15rem;font:400 var(--type-card)/1.06 Georgia,Times New Roman,serif}
.role-panel-copy>p:not(.mini-label){color:var(--text-soft);margin:0;line-height:1.72}
.role-panel-copy ul{border-top:1px solid var(--line);margin:1.5rem 0 0;padding:1.15rem 0 0;list-style:none}
.role-panel-copy li{color:var(--ink);padding:.35rem 0 .35rem 1.1rem;line-height:1.45;position:relative}
.role-panel-copy li:before{content:"—";color:var(--gold);position:absolute;left:0}
.role-panel-text-only{grid-template-columns:1fr}
.role-panel-text-only .role-panel-copy{width:min(100%,780px)}
.text-action,.project-detail-trigger{background:transparent;color:inherit;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding:.5rem 0;margin-top:1.35rem;font-size:var(--type-action);font-weight:700;display:inline-block}
.project-detail-trigger{color:var(--gold-light)}
.text-action:hover,.text-action:focus-visible,.project-detail-trigger:hover,.project-detail-trigger:focus-visible{color:var(--gold)}

.site-dialog{background:var(--paper-bright);color:var(--ink);border:0;width:min(920px,calc(100vw - 2rem));max-height:calc(100svh - 2rem);padding:0;box-shadow:0 30px 100px #102a3680;overflow:auto}
.site-dialog::backdrop{background:#102a36d9;backdrop-filter:blur(5px)}
.dialog-close{background:var(--navy-deep);color:var(--white);width:48px;height:48px;font-size:1.7rem;font-weight:300;line-height:1;position:sticky;z-index:3;top:0;float:right}
.dialog-close:hover,.dialog-close:focus-visible{background:var(--gold);color:var(--navy-deep)}
.dialog-heading{padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,5vw,4.5rem) 1rem;clear:both}
.dialog-heading h2,.project-modal-copy h2{color:var(--navy);letter-spacing:-.045em;margin:1.2rem 0 1rem;font:400 var(--type-dialog)/1.02 Georgia,Times New Roman,serif}
.dialog-heading>p:last-child{color:var(--text-soft);max-width:650px;margin:0;line-height:1.65}
.enquiry-dialog form{grid-template-columns:repeat(2,1fr);gap:1.2rem;padding:1.5rem clamp(1.5rem,5vw,4.5rem) clamp(2.5rem,5vw,4.5rem);display:grid}
.enquiry-dialog label{color:var(--navy);letter-spacing:.055em;text-transform:uppercase;gap:.55rem;font-size:.75rem;font-weight:700;display:flex;flex-direction:column}
.enquiry-dialog input,.enquiry-dialog select,.enquiry-dialog textarea{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:0;width:100%;padding:.9rem 1rem;font:400 1rem/1.4 Arial,Helvetica,sans-serif}
.enquiry-dialog input:focus,.enquiry-dialog select:focus,.enquiry-dialog textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.form-wide{grid-column:1/-1}
.form-actions{align-items:center;gap:1.2rem;display:flex}
.form-actions>a{color:var(--emerald);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding:.65rem 0;font-size:var(--type-action);font-weight:700}
.form-note{color:var(--text-soft);text-transform:none!important;letter-spacing:0!important;margin:0;font-size:.75rem!important;line-height:1.5}
.form-status{color:var(--emerald);min-height:1.4em;margin:0;font-size:.82rem;font-weight:700;line-height:1.5}
.project-dialog{width:min(1050px,calc(100vw - 2rem));overflow:hidden}
.project-dialog>.dialog-close{position:absolute;right:0}
.project-dialog>img{object-fit:cover;width:100%;height:min(46svh,470px)}
.project-modal-copy{padding:clamp(2rem,5vw,4.5rem)}
.project-modal-copy>p:not(.section-label){color:var(--text-soft);max-width:780px;line-height:1.72}
.project-modal-copy dl{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:2rem 0 0;display:grid}
.project-modal-copy dl>div{border-left:1px solid var(--line);padding:1.2rem 1.5rem}
.project-modal-copy dl>div:first-child{border-left:0;padding-left:0}
.project-modal-copy dt{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.73rem;font-weight:700}
.project-modal-copy dd{color:var(--navy);margin:.55rem 0 0;font:400 1.05rem/1.35 Georgia,Times New Roman,serif}

.project-card-high-voltage{grid-template-columns:minmax(290px,.48fr) minmax(0,1.52fr);align-items:end}
.project-card-high-voltage .project-card-copy{align-self:center}
.high-voltage-gallery{grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,250px);gap:.6rem;display:grid;overflow:visible}
.high-voltage-gallery img:nth-child(1){grid-column:1/7;grid-row:1}
.high-voltage-gallery img:nth-child(2){grid-column:7/13;grid-row:1}
.high-voltage-gallery img:nth-child(3){grid-column:1/4;grid-row:2}
.high-voltage-gallery img:nth-child(4){grid-column:4/7;grid-row:2}
.high-voltage-gallery img:nth-child(5){grid-column:7/10;grid-row:2}
.high-voltage-gallery img:nth-child(6){grid-column:10/13;grid-row:2}
.high-voltage-gallery img:nth-child(1),.high-voltage-gallery img:nth-child(2){object-position:center}
.building-image-grid-four{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,235px)}
.building-image-grid-four img:first-child{grid-row:auto}
.building-image-grid-four img:nth-child(2){object-position:center}
.about-copy strong{color:var(--navy);font-weight:700}

.scope-section{background:var(--paper-bright)}
.scope-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:clamp(4rem,7vw,7rem);display:grid}
.scope-grid article{border-left:1px solid var(--line);min-height:270px;padding:2rem 2.5vw}
.scope-grid article:first-child{border-left:0;padding-left:0}
.scope-grid span{color:var(--gold);letter-spacing:.17em;font-size:.74rem;font-weight:700}
.scope-grid h3{color:var(--navy);margin:2.8rem 0 1rem;font:400 clamp(1.4rem,2vw,2rem)/1.15 Georgia,Times New Roman,serif}
.scope-grid p{color:var(--text-soft);margin:0;line-height:1.68}
.scope-cta{margin-top:2rem}

/* Harmonised typographic hierarchy across the main and advisory pages */
.brand strong{font-size:1.22rem;line-height:1.02;letter-spacing:.13em}
.brand{min-width:0}
.brand strong{white-space:nowrap}
.brand span{font-size:.76rem;line-height:1.25}
.site-nav a,.language-switch button{font-size:.78rem}
.eyebrow,.section-label,.mini-label{font-size:var(--type-label);line-height:1.45}
.hero-copy h1{line-height:.94}
.hero-role{font-size:.82rem;line-height:1.6}
.hero-intro,.positioning-grid>div>p,.section-intro,.compact-heading>p:last-child,.property-subtitle{font-size:var(--type-body-large)}
.section-heading h2,.compact-heading h2,.positioning-grid h2{font-size:var(--type-section);line-height:1.02}
.project-card-copy h3{font-size:var(--type-project);line-height:1.07}
.property-copy h2{font-size:var(--type-section);line-height:1.02}
.property-hero-copy h1{font-size:var(--type-page-title);line-height:.94}
.contact-section h2,.property-contact-section h2{font-size:var(--type-contact);line-height:1}
.button,.button-link,.portfolio-link{font-size:var(--type-action)}
.about-copy p{font-size:clamp(1.08rem,1.32vw,1.32rem);line-height:1.68}
.experience-list>div{font-size:.94rem;line-height:1.5}
.credentials-band h3{font-size:1.28rem;line-height:1.3}
.credentials-band p{font-size:.9rem;line-height:1.6}
.project-card-copy>div p{font-size:.74rem;line-height:1.4}
.project-card-copy small{font-size:.72rem;line-height:1.6}
.property-copy small,.contact-direct span,.site-footer{font-size:.73rem;line-height:1.5}
.scope-grid h3{font-size:clamp(1.4rem,1.8vw,1.85rem);line-height:1.2}
.property-service-item h4{font-size:1.02rem}
.project-card-copy,.role-panel-copy,.property-copy,.contact-actions,.property-contact-actions{min-width:0}
.text-action,.project-detail-trigger,.button-link,.portfolio-link{min-height:44px;align-items:center}
.text-action,.project-detail-trigger{display:inline-flex}
.language-switch button{min-height:44px}
.contact-direct strong,.contact-direct a,.property-contact-actions strong,.property-contact-actions a{overflow-wrap:anywhere;word-break:break-word}

@media (max-width:1180px){
  .site-header{grid-template-columns:1fr auto auto}
  .menu-toggle{display:flex}
  .site-nav{background:var(--paper-bright);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 20px 45px #102a3624;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 74px);max-height:calc(100dvh - 74px);padding:1rem 6vw 1.4rem;display:none;overflow-y:auto;overscroll-behavior:contain;position:absolute;top:100%;left:0;right:0}
  .site-nav.open{display:flex}
  .site-nav a{border-bottom:1px solid var(--line);min-height:50px;padding:.9rem 0;font-size:.82rem;display:flex;align-items:center}
  .site-nav a:last-child{border-bottom:0}
  .site-nav a:after{display:none}
  body.nav-open{overflow:hidden}
  .roles-layout{grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr)}
  .role-panel{grid-template-columns:1fr}
  .role-panel>img{height:270px;min-height:0}
}

@media (max-width:900px){
  .section-pad{padding:clamp(4.8rem,9vw,6.5rem) 6vw}
  .home-hero,.property-hero{grid-template-rows:auto auto auto}
  .hero-mosaic,.property-hero-images{min-height:clamp(450px,68svh,560px)}
  .roles-layout{grid-template-columns:1fr}
  .role-tabs{border-right:0;border-bottom:1px solid var(--line)}
  .role-tabs button{min-height:68px}
  .role-panel{min-height:0}
  .role-panel>img{height:390px}
  .scope-grid{grid-template-columns:1fr}
  .scope-grid article,.scope-grid article:first-child{border-left:0;border-top:1px solid var(--line);min-height:0;padding:1.8rem 0}
  .scope-grid article:first-child{border-top:0}
  .scope-grid h3{margin-top:1.5rem}
  .project-card-high-voltage{grid-template-columns:1fr;align-items:stretch}
  .project-card-high-voltage .project-card-copy{max-width:720px}
  .contact-section,.property-contact-section{min-height:0;gap:4rem}
}

@media (max-width:620px){
  :root{
    --type-display:clamp(2.65rem,11vw,3.75rem);
    --type-page-title:clamp(2.75rem,11.5vw,4rem);
    --type-section:clamp(2.15rem,9.5vw,3.2rem);
    --type-project:clamp(1.8rem,8vw,2.55rem);
    --type-card:clamp(1.72rem,7.6vw,2.4rem);
    --type-dialog:clamp(1.95rem,8.8vw,3rem);
    --type-contact:clamp(2.35rem,10.5vw,3.7rem);
  }
  html{scroll-padding-top:72px}
  body{overflow-x:hidden}
  .site-shell{overflow-x:hidden}
  .site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:.2rem;min-height:72px;padding-left:max(4.5vw,env(safe-area-inset-left));padding-right:max(4.5vw,env(safe-area-inset-right))}
  .brand strong{font-size:1.14rem}
  .language-switch button{min-width:36px;min-height:44px}
  .menu-toggle{width:44px;height:44px}
  .section-pad{padding:4.5rem 5.5vw}
  .section-heading,.compact-heading,.positioning-grid{gap:1.35rem}
  .positioning-grid>div>p{margin-top:1.35rem;line-height:1.68}
  .hero-copy,.property-hero-copy{padding:3.8rem 5.5vw 3.4rem}
  .hero-copy h1{font-size:var(--type-display)}
  .hero-intro{line-height:1.68}
  .hero-actions{width:100%;gap:1rem;margin-top:1.65rem;display:grid}
  .hero-actions .button{width:100%}
  .hero-actions .button-link{justify-self:start}
  .availability{margin-top:1.65rem}
  .hero-mosaic,.property-hero-images{min-height:430px}
  .hero-mosaic-four .hero-main-image{inset:0 0 39%}
  .hero-mosaic-four .hero-main-image img{object-position:center 33%}
  .hero-mosaic-four .hero-side-image{width:calc((100% - 1.2rem)/3);height:calc(39% - .3rem);top:auto;bottom:0}
  .hero-mosaic-four .hero-side-top{left:0;right:auto}
  .hero-mosaic-four .hero-side-middle{left:calc((100% - 1.2rem)/3 + .6rem);right:auto}
  .hero-mosaic-four .hero-side-bottom{right:0;left:auto}
  .hero-mosaic-four .hero-side-image figcaption{display:none}
  .hero-stats>div,.hero-stats>div:first-child{grid-template-columns:1fr;gap:.45rem;padding:1.2rem 0}
  .hero-stats span{max-width:none}
  .values-row{margin-top:3rem}
  .roles-layout{margin-top:3.5rem}
  .role-tabs button{grid-template-columns:30px 1fr 18px;padding:.85rem 1rem}
  .role-panel>img{height:260px}
  .role-panel-copy{padding:2.2rem 1.3rem 2.6rem}
  .role-panel-text-only .role-panel-copy{width:100%}
  .about-copy p{font-size:1.08rem;line-height:1.65}
  .enquiry-dialog form{grid-template-columns:1fr}
  .form-wide{grid-column:1}
  .form-actions{align-items:flex-start;flex-direction:column}
  .project-modal-copy dl{grid-template-columns:1fr}
  .project-modal-copy dl>div,.project-modal-copy dl>div:first-child{border-left:0;border-top:1px solid var(--line);padding:1rem 0}
  .project-modal-copy dl>div:first-child{border-top:0}
  .site-dialog{width:calc(100vw - 1rem);max-height:calc(100svh - 1rem);max-height:calc(100dvh - 1rem)}
  .project-dialog>img{height:min(34svh,300px)}
  .project-modal-copy{padding:1.7rem 1.35rem 2.2rem}
  .project-card,.project-card-ost{gap:2.2rem;padding:3.8rem 0}
  .high-voltage-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:none}
  .high-voltage-gallery img:nth-child(n){grid-column:auto;grid-row:auto;height:190px}
  .high-voltage-gallery img:nth-child(1),.high-voltage-gallery img:nth-child(2){grid-column:1/-1;height:250px}
  .building-image-grid-four{grid-template-columns:1fr;grid-template-rows:repeat(4,220px)}
  .building-image-grid-four img:first-child{grid-row:auto}
  .property-callout{min-height:0}
  .property-photo-grid{min-height:440px}
  .property-copy{padding:4.5rem 5.5vw}
  .about-grid{margin-top:3.5rem;gap:3.25rem}
  .credentials-band{margin-top:4rem;padding:2rem 1.3rem}
  .contact-section,.property-contact-section{gap:3rem;padding:4.5rem 5.5vw}
  .contact-actions .button,.property-contact-actions .button{width:100%}
  .contact-direct,.contact-actions,.property-contact-actions{width:100%}
  .site-footer{min-height:0;padding:2rem 5.5vw}
}

@media (max-width:380px){
  .brand strong{font-size:1.05rem;letter-spacing:.1em}
  .language-switch button{min-width:32px}
  .site-header{padding-left:4vw;padding-right:4vw}
  .hero-mosaic,.property-hero-images{min-height:390px}
  .protects-row{grid-template-columns:1fr}
}

/* Mobile reliability: legacy media syntax, safe widths and compact portfolio layouts */
html,body{width:100%;max-width:100%;overflow-x:hidden}
main,section,header,footer,.site-shell,.home-hero>*,.property-hero>*,.project-card>*,.roles-layout>*{min-width:0;max-width:100%}
.button,.button-link,.portfolio-link,.text-action,.project-detail-trigger{max-width:100%;white-space:normal}
.button svg,.button-link svg,.portfolio-link svg{flex:0 0 auto}

@media (max-width:900px){
  .hero-copy{border-right:0;border-bottom:1px solid #b8a78959}
  .site-header{grid-template-columns:minmax(0,1fr) 44px auto;grid-template-areas:"brand menu language";gap:.35rem}
  .brand{grid-area:brand;overflow:hidden}
  .brand strong{overflow:hidden;text-overflow:ellipsis}
  .menu-toggle{grid-area:menu}
  .language-switch{grid-area:language}
  .home-hero,.property-hero,.project-card,.project-card-ost,.project-card-high-voltage{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:620px){
  :root{
    --type-display:clamp(2.4rem,10.2vw,3.2rem);
    --type-page-title:clamp(2.45rem,10.4vw,3.3rem);
    --type-section:clamp(1.95rem,8.3vw,2.7rem);
    --type-project:clamp(1.72rem,7.2vw,2.3rem);
    --type-card:clamp(1.62rem,6.8vw,2.15rem);
    --type-dialog:clamp(1.8rem,7.8vw,2.55rem);
    --type-contact:clamp(2.05rem,8.8vw,2.9rem);
    --type-label:.82rem;
    --type-action:.84rem;
  }
  body{font-size:16px;line-height:1.6}
  .site-header{min-height:68px;padding-left:max(4.5vw,env(safe-area-inset-left));padding-right:max(4.5vw,env(safe-area-inset-right))}
  .brand{gap:0}
  .brand strong{font-size:1.08rem;letter-spacing:.09em;line-height:1.1}
  .brand span{display:none}
  .language-switch button{min-width:32px;min-height:44px;padding:.5rem 0;font-size:.78rem}
  .language-switch span{font-size:.72rem}
  .site-nav{max-height:calc(100vh - 68px);max-height:calc(100dvh - 68px);padding:.4rem 5vw max(1.2rem,env(safe-area-inset-bottom))}
  .site-nav a{min-height:54px;padding:.85rem 0;font-size:.875rem;line-height:1.35}

  .section-pad{padding:4rem 5vw}
  .section-heading,.compact-heading,.positioning-grid{gap:1.15rem}
  .section-heading h2,.compact-heading h2,.positioning-grid h2,.project-card-copy h3,.property-copy h2,.contact-section h2,.property-contact-section h2{overflow-wrap:anywhere}
  .hero-copy,.property-hero-copy{padding:3rem 5vw 3.2rem}
  .hero-copy h1,.property-hero-copy h1{margin:1.15rem 0;letter-spacing:-.045em}
  .hero-role{font-size:.82rem;letter-spacing:.055em}
  .hero-intro,.property-subtitle{font-size:1rem;line-height:1.65}
  .hero-actions{gap:.85rem;margin-top:1.5rem}
  .hero-actions .button,.property-copy .button,.scope-cta,.contact-actions .button,.property-contact-actions .button{width:100%}
  .button{min-height:54px;padding:.85rem 1rem;text-align:center;line-height:1.35}
  .button-link,.portfolio-link,.text-action,.project-detail-trigger{line-height:1.4;overflow-wrap:anywhere}
  .availability{align-items:flex-start;font-size:.88rem}
  .availability>span:first-child{margin-top:.42rem}

  .hero-mosaic,.property-hero-images{min-height:370px}
  .hero-mosaic-four .hero-main-image{inset:0 0 37%}
  .hero-mosaic-four .hero-side-image{height:calc(37% - .3rem)}
  .hero-stats{padding:0 5vw}
  .hero-stats>div,.hero-stats>div:first-child{min-height:0;padding:1.15rem 0}
  .hero-stats strong{font-size:1.7rem;white-space:normal}
  .hero-stats span{font-size:.78rem}

  .values-row p,.values-row p:first-child,.values-row p:nth-child(3){padding:1.2rem 0}
  .roles-layout{margin-top:3rem}
  .role-tabs button{grid-template-columns:28px minmax(0,1fr) 18px;gap:.7rem;min-height:64px;padding:.75rem .85rem}
  .role-tabs button strong{font-size:1.03rem;overflow-wrap:anywhere}
  .role-panel>img{height:230px}
  .role-panel-copy{padding:1.8rem 1.15rem 2.2rem}

  .project-card,.project-card-ost,.project-card-high-voltage{gap:1.8rem;padding:3.2rem 0}
  .project-card-copy>div{align-items:flex-start}
  .building-image-grid-four{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,170px)}
  .three-image-strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:230px 155px;gap:.45rem}
  .three-image-strip img:first-child{grid-column:1/-1}
  .high-voltage-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .high-voltage-gallery img:nth-child(n){height:155px}
  .high-voltage-gallery img:nth-child(1),.high-voltage-gallery img:nth-child(2){grid-column:1/-1;height:225px}

  .property-photo-grid{min-height:390px}
  .property-copy{padding:4rem 5vw}
  .protects-row{gap:.7rem 1rem}
  .about-grid{gap:2.7rem;margin-top:3rem}
  .experience-list>div{grid-template-columns:1fr;gap:.28rem;padding:1rem 0}
  .credentials-band{padding:1.6rem 1.1rem}

  .engage-grid article{grid-template-columns:36px minmax(0,1fr);padding:1.35rem 0}
  .independence-box{padding:1.5rem}
  .property-service-groups{border-left:0}
  .property-service-groups>article{padding:1.7rem 1.15rem}
  .property-service-item{grid-template-columns:30px minmax(0,1fr);gap:.55rem}
  .process-row article,.process-row article:nth-child(3),.process-row article:nth-child(5){grid-template-columns:34px minmax(0,1fr);gap:.2rem .65rem;min-height:0;padding:1.25rem 0;text-align:left;display:grid}
  .process-row article>span{grid-row:1/3}
  .process-row h3{margin:0}
  .process-row p{font-size:.9rem}

  .contact-section,.property-contact-section{gap:2.5rem;padding:4rem 5vw}
  .contact-direct strong,.property-contact-actions strong{font-size:1.08rem}
  .site-footer{padding:1.7rem 5vw max(1.7rem,env(safe-area-inset-bottom))}

  .site-dialog{width:calc(100vw - .75rem);max-height:calc(100dvh - .75rem);margin:auto}
  .dialog-heading{padding:2.1rem 1.2rem .7rem}
  .enquiry-dialog form{gap:1rem;padding:1rem 1.2rem 2rem}
  .form-actions .button{width:100%}
}

@media (max-width:380px){
  .site-header{grid-template-columns:minmax(0,1fr) 42px auto;gap:.15rem}
  .brand strong{font-size:1rem;letter-spacing:.075em}
  .menu-toggle{width:42px}
  .language-switch button{min-width:29px}
  .hero-mosaic,.property-hero-images{min-height:340px}
  .building-image-grid-four{grid-template-rows:repeat(2,150px)}
  .high-voltage-gallery img:nth-child(1),.high-voltage-gallery img:nth-child(2){height:205px}
  .high-voltage-gallery img:nth-child(n+3){height:140px}
}
