:root{--navy:#092e47;--blue:#41469d;--cyan:#087f99;--ink:#15384c;--muted:#5b707d;--light:#edf8fa;--line:#d6e6ea}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:'Trebuchet MS','Segoe UI',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}header{position:sticky;top:0;z-index:5;background:#fffffff5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:8px 5%;height:92px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;margin-right:auto;gap:14px}.brand img{width:72px;height:72px;object-fit:contain}.brand span{font-size:13px;font-weight:800;letter-spacing:.02em}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.08em}nav{display:flex;gap:22px;white-space:nowrap;overflow:auto;font-size:14px}nav a:hover{color:var(--cyan)}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:#fff;padding:12px 21px;border-radius:2px;font-size:15px;font-weight:700;transition:background .2s}.button:hover{background:#0871c3}.header-call{flex-shrink:0}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--cyan);margin:0 0 18px}.hero{padding:55px 7% 0;background:white;display:block}.hero-content{position:relative;max-width:1050px;margin:auto;padding:0;text-align:center}.hero h1{font-size:clamp(34px,4.2vw,60px);line-height:1.18;letter-spacing:-.045em;margin:0 0 23px;color:var(--navy);font-weight:700}.hero h1 em{font-style:normal;color:var(--blue)}.hero-description{max-width:730px;margin:0 auto;color:var(--muted);font-size:18px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;align-items:center}.hero .actions{justify-content:center}.outline{background:white;color:var(--blue);border:1px solid var(--blue)}.outline:hover{background:var(--light)}.hero-foot{display:flex;justify-content:center;gap:25px;font-size:13px;color:var(--muted);margin-top:23px}.hero-foot span:before{content:'✓';margin-right:7px;color:var(--cyan)}.activity-nav{max-width:1200px;margin:42px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.activity-nav a{position:relative;padding:24px 22px 24px 66px;transition:background .2s}.activity-nav a+a{border-left:1px solid var(--line)}.activity-nav a:hover{background:var(--light)}.activity-number{position:absolute;left:18px;top:24px;font-size:25px;color:var(--cyan);font-weight:400}.activity-nav strong{font-size:18px;display:block}.activity-nav small{font-size:14px;color:var(--muted);display:block;margin-top:4px}.identity-banner{background:white;padding:28px 7% 0}.hero-photo{display:block;width:100%;max-width:1200px;height:auto;margin:auto;border-radius:0 0 48px 0}.value-strip{padding:30px 7% 45px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;border-bottom:1px solid var(--line)}.value-icon{color:var(--cyan);font-size:26px}.value-strip h3{font-size:17px;margin:7px 0}.value-strip p{font-size:14px;color:var(--muted);margin:0}.section{padding:65px 7%}h2{font-size:clamp(28px,3.1vw,42px);line-height:1.23;letter-spacing:-.03em;margin:0 0 18px}h3{line-height:1.3}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px}.section-heading>p{font-size:15px;color:var(--muted);max-width:410px;margin:0 0 18px}.service-grid{display:block;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-grid summary{display:grid;grid-template-columns:50px 38px minmax(220px,1fr) minmax(230px,1fr) 130px;gap:15px;align-items:center;padding:23px 5px}.service-icon{color:var(--cyan);font-size:30px}.number{font-size:13px;color:#7b939e}.service-grid h3{font-size:21px;margin:0}.service-grid h3 br{display:none}.service-grid summary p{font-size:15px;color:var(--muted);margin:0}.more{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;color:var(--blue)}.more b{font-size:22px;font-weight:400}details[open] .more b{transform:rotate(45deg)}.service-grid details:hover{background:#f6fbfc}.detail{padding:0 25px 22px 108px;font-size:15px;color:var(--muted)}.detail a{display:block;color:var(--blue);font-weight:700;margin-top:12px}.equipment-section{background:var(--light)}.equipment-intro{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:32px}.equipment-intro p{max-width:740px;color:var(--muted);margin:0}.equipment-intro .button{flex-shrink:0}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.equipment-card{background:white;display:grid;grid-template-columns:45% 55%;align-items:center;border-top:3px solid var(--cyan)}.equipment-image{display:block;padding:14px;background:#fff}.equipment-image img{display:block;width:100%;height:330px;object-fit:contain}.equipment-card>div{padding:25px}.equipment-card h3{font-size:24px;margin:0 0 18px}.equipment-card p{font-size:15px;color:var(--muted)}.product-inquiry{font-size:14px;font-weight:700;color:var(--blue);border-bottom:1px solid #8fbad8}.section-note{font-size:13px;color:var(--muted);margin:25px 0 0}.housing-section{background:white}.housing-layout{display:grid;grid-template-columns:330px 1fr;gap:70px;align-items:center;max-width:1100px;margin:auto}.housing-video{margin:0}.housing-video video{width:100%;display:block;max-height:590px;background:var(--navy);border-radius:20px}.housing-video figcaption{font-size:14px;text-align:center;color:var(--muted);margin-top:12px}.housing-layout p{color:var(--muted)}.housing-uses{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:15px;font-weight:700;margin:25px 0}.housing-specs{border-top:1px solid var(--line);margin-top:25px}.housing-specs summary{padding:17px 0;font-size:15px;display:flex;justify-content:space-between}.housing-specs .detail{padding:0 0 20px}.presentation-link{font-size:14px;font-weight:700;color:var(--blue);border-bottom:1px solid #8fbad8}.brands-section{padding:38px 7%;background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1.4fr;gap:50px;align-items:center}.brands-section .eyebrow{color:#6de0e8}.brands-section h2{font-size:28px}.brands-section p:last-child{font-size:14px;color:#bad4df}.brands{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center}.brands span{font-size:16px;font-weight:700;padding:15px 0;border-bottom:1px solid #38576b}.work-gallery{padding-top:60px}.gallery-category summary{display:flex;justify-content:space-between;padding:19px 0;font-size:17px;font-weight:700}.gallery-category summary:after{content:'+';color:var(--cyan)}.gallery-category[open] summary:after{content:'−'}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 0 22px}.gallery-photo{border:0;background:var(--light);padding:0;cursor:pointer}.gallery-photo img{width:100%;height:170px;object-fit:cover;display:block}.about{background:#f5f9fb;display:grid;grid-template-columns:280px 1fr;gap:70px;align-items:center}.about-brand{text-align:center}.about-brand img{width:220px;max-width:100%;height:auto}.about-brand>span{display:block;font-size:12px;letter-spacing:.12em;color:var(--muted);margin-top:15px}.about p{color:var(--muted)}.team{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.team strong{font-size:17px}.team span{display:block;font-size:15px;color:var(--blue)}.qualification{font-size:14px}.contact{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}.contact p{color:var(--muted)}.big-phone{display:block;font-size:40px;font-weight:700;letter-spacing:-.03em;color:var(--blue);margin-top:25px}.second-phone{font-size:15px;color:var(--muted)}.contact-panel{padding:30px;border-left:4px solid var(--cyan);background:var(--light)}.contact-panel>div{margin-bottom:24px}.contact-panel span{font-size:12px;letter-spacing:.12em;color:var(--muted);display:block;margin-bottom:6px}.contact-panel a:not(.button){font-size:18px}.contact-panel p{margin:0}.contact-panel .map-link{display:inline-block;font-size:14px!important;color:var(--blue);border-bottom:1px solid #8fbad8;margin-top:8px}.contact-panel .button{width:100%}footer{background:var(--navy);color:#c2d8e3;padding:25px 7%;display:flex;justify-content:space-between;gap:25px;font-size:13px}.footer-links{display:flex;flex-wrap:wrap;gap:14px 24px}.footer-links a:hover{text-decoration:underline}.mobile-contact{display:none}#photo-dialog{border:0;border-radius:6px;background:var(--navy);color:white;max-width:95vw;max-height:95vh;padding:35px 20px 20px}#photo-dialog::backdrop{background:#001424dc}#photo-dialog img{max-width:85vw;max-height:75vh;display:block;object-fit:contain}#photo-dialog p{font-size:14px;margin:10px 0 0}.close-photo{position:absolute;right:8px;top:4px;border:0;background:transparent;color:white;font-size:30px;cursor:pointer}.legal-page{max-width:900px;margin:auto;padding:65px 6%}.legal-page h1{font-size:42px;line-height:1.2;color:var(--blue)}.legal-content p{margin-bottom:24px;line-height:1.85}.legal-content h2{font-size:25px;margin-top:35px}
@media(max-width:1100px){.brand span{display:none}header{gap:18px}nav{gap:17px}.service-grid summary{grid-template-columns:42px 28px 1fr 1fr 115px}.equipment-card{grid-template-columns:1fr}.equipment-image img{height:350px}.brands{grid-template-columns:repeat(2,1fr)}.about{gap:40px}.housing-layout{gap:40px}}
@media(max-width:700px){html{scroll-padding-top:84px}header{height:80px;padding:5px 5%;gap:15px}.brand{margin-right:0}.brand img{width:62px;height:62px}nav{font-size:13px;max-width:calc(100vw - 110px);gap:18px}.header-call{display:none}.hero{padding:35px 6% 0}.hero h1{font-size:34px;text-align:left}.hero-content{text-align:left}.hero-description{font-size:16px}.hero .actions{justify-content:start}.hero-foot{justify-content:start;font-size:12px;gap:16px}.activity-nav{grid-template-columns:1fr;margin-top:28px}.activity-nav a{padding:16px 15px 16px 55px}.activity-nav a+a{border-left:0;border-top:1px solid var(--line)}.activity-number{top:16px;left:10px;font-size:23px}.activity-nav strong{font-size:17px}.activity-nav small{font-size:13px}.identity-banner{padding:20px 6% 0}.hero-photo{border-radius:0 0 30px 0}.value-strip{grid-template-columns:1fr 1fr;gap:22px;padding:25px 6% 30px}.value-strip h3{font-size:16px}.value-strip p{font-size:14px}.section{padding:42px 6%}.section-heading{display:block;margin-bottom:20px}.section-heading>p{font-size:15px}.service-grid summary{grid-template-columns:36px 1fr 24px;gap:10px;padding:18px 0}.service-grid .number{display:none}.service-grid h3{font-size:20px}.service-grid summary p{grid-column:2;grid-row:2;font-size:14px}.service-grid .more{grid-column:3;grid-row:1 / 3;font-size:0}.more b{font-size:24px}.service-icon{font-size:26px;grid-row:1 / 3}.service-grid .detail{padding:0 0 18px 46px;font-size:15px}.equipment-intro{display:block}.equipment-intro .button{margin-top:20px}.equipment-grid{grid-template-columns:1fr;gap:20px}.equipment-card{grid-template-columns:42% 58%}.equipment-image{padding:7px}.equipment-image img{height:280px}.equipment-card>div{padding:18px}.equipment-card h3{font-size:20px}.equipment-card p{font-size:14px}.housing-layout{display:flex;flex-direction:column;gap:20px}.housing-video{max-width:290px;width:100%}.housing-video video{max-height:500px}.housing-layout>div{width:100%}.housing-uses{font-size:14px}.brands-section{padding:35px 6%;grid-template-columns:1fr;gap:20px}.brands{grid-template-columns:repeat(2,1fr);gap:10px}.brands span{font-size:16px}.photo-grid{grid-template-columns:1fr 1fr}.gallery-photo img{height:130px}.gallery-category summary{font-size:15px}.about{grid-template-columns:1fr;gap:25px}.about-brand img{width:150px}.team{grid-template-columns:1fr}.contact{grid-template-columns:1fr;gap:25px}.big-phone{font-size:34px}.contact-panel{padding:24px}.contact-panel a:not(.button){font-size:17px}footer{flex-direction:column;padding:25px 6% 90px;font-size:12px}.mobile-contact{display:grid;grid-template-columns:1.4fr 1fr;position:fixed;bottom:0;left:0;right:0;background:white;z-index:6;padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -2px 15px #08263c20}.mobile-contact a{padding:11px;text-align:center;background:var(--blue);color:white;font-size:14px;font-weight:700}.mobile-contact a:last-child{background:var(--light);color:var(--blue)}.legal-page h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Colour palette inspired by the business cards. */
header{border-top:5px solid #51499d;border-bottom-color:#bbc8e8}
.hero{background:linear-gradient(130deg,#e0f4fa 0%,#e9e8fa 62%,#f5effa 100%);padding-top:50px}
.hero h1{font-size:clamp(32px,3.7vw,53px)}
.hero h1 em{color:#50469b}.hero-description{color:#42566b}
.activity-nav{border:0;gap:14px;padding-bottom:25px}
.activity-nav a{background:#41469d;color:white;border-radius:12px;border:0!important;box-shadow:0 6px 18px #34398018}
.activity-nav a:nth-child(2){background:#086e86}.activity-nav a:nth-child(3){background:#6c458e}
.activity-nav a:hover{background:#293879}.activity-nav small,.activity-number{color:white}
.identity-banner{background:#eaf0fa;padding-top:22px;padding-bottom:22px}.hero-photo{border-radius:16px}
.value-strip{background:#41469d;color:white;border:0}.value-strip p{color:#eceefa}.value-icon{color:#9fe4f2}
.service-grid{border-top:0}.service-grid details{margin-bottom:10px;border:1px solid #d4d5ec;border-left:5px solid #51499d;border-radius:8px;background:#f0effa}
.service-grid details:nth-child(even){background:#e9f6fa;border-left-color:#087f99}.service-grid summary{padding-left:15px;padding-right:15px}.service-grid details:hover{background:#e2e5f5}
.equipment-section{background:#dcf1f5}.equipment-card{border-radius:12px;overflow:hidden;border-top-color:#087f99}
.housing-section{background:#eee8f6}.housing-uses span{padding:7px 13px;border-radius:20px;background:#ddd0ed;color:#4d3470}
.brands-section{background:linear-gradient(120deg,#30357d,#54439c);grid-template-columns:1fr 1.5fr;padding-top:50px;padding-bottom:50px}
.brands{grid-template-columns:repeat(3,1fr);gap:12px}.brands span{border:0;border-radius:8px;padding:17px 8px;background:#fff;color:#343578;font-size:17px}
.coverage-section{background:#087286;color:white;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.coverage-section .eyebrow{color:#b5eef8}.coverage-section p:not(.eyebrow){color:#e4f4f6;max-width:580px}.coverage-places{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.coverage-places span{background:#ffffff16;border:1px solid #ffffff50;padding:12px 16px;border-radius:8px}
.work-gallery{background:#f3f7fb}.about{background:#e5e6f7}.team{border-color:#c5c8df}.team>div{padding:15px;background:#ffffffb8;border-radius:10px}
.contact{background:#edf6fa}.contact-panel{background:#fff;border-radius:12px;border-left-color:#51499d}.contact-panel a{overflow-wrap:anywhere}
footer{background:#30357d}.legal-page{background:#f3f1fa}
@media(max-width:700px){.activity-nav{gap:10px;padding-bottom:20px}.activity-nav a{padding-top:18px;padding-bottom:18px}.hero h1{font-size:31px}.identity-banner{padding-top:16px;padding-bottom:16px}.service-grid summary{padding-left:10px;padding-right:10px}.service-grid .detail{padding-right:12px}.brands-section{grid-template-columns:1fr;padding:38px 6%}.brands{grid-template-columns:repeat(2,1fr)}.coverage-section{grid-template-columns:1fr;gap:20px}.coverage-places{gap:8px}.coverage-places span{font-size:14px;padding:10px}.contact-panel{padding:22px}.housing-uses{gap:8px}}

/* Unified blue palette and compact mobile navigation. */
:root{--blue:#1759a1;--muted:#42576b;--cyan:#087b95}
header{border-top-color:#1759a1}.hero{background:linear-gradient(130deg,#dff2f9,#eaf3fc);padding-top:35px}.hero h1{font-size:clamp(30px,3.4vw,48px);margin-bottom:12px}.hero-subtitle{font-size:23px;font-weight:700;color:var(--blue);margin:0 0 17px}.hero-description{font-size:17px}.hero-foot{gap:18px;flex-wrap:wrap}
.activity-nav a{background:#1759a1}.activity-nav a:nth-child(2){background:#08778e}.activity-nav a:nth-child(3){background:#246b99}.activity-nav a:hover{background:#114779}
.value-strip{background:#164e83}.service-grid details,.service-grid details:nth-child(even){background:#e6f2f8;border-color:#bfd7e5;border-left-color:#1759a1}.service-grid details:nth-child(even){background:#ddecf5}.service-grid details:hover{background:#d5e9f5}.service-grid summary p,.detail{color:#354f62}.service-grid summary{grid-template-columns:50px 38px minmax(0,1fr) minmax(0,1fr) 130px}.service-grid h3{min-width:0;overflow-wrap:break-word}.service-icon{color:#076f8c}
.housing-section{background:white}.housing-uses span{background:#e0eff7;color:#174e76}.brands-section{background:#164e83}.brands span{background:#e5f3f9;color:#153e69;padding:12px 8px;font-size:16px}.about{background:#eaf3fa}.team{border-color:#bfd7e5}.contact-panel{border-left-color:#1759a1}footer{background:#123e68}.legal-page{background:#eef5fb}.menu-toggle{display:none}
@media(max-width:1100px) and (min-width:701px){.service-grid summary{grid-template-columns:42px 28px minmax(0,1fr) minmax(0,1fr) 115px}}
@media(max-width:700px){header{justify-content:space-between;position:sticky}.brand{margin-right:auto}.menu-toggle{display:block;border:1px solid #b9cede;border-radius:6px;background:#eaf4fa;color:#174e76;padding:10px 13px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}header nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;max-width:none;background:#fff;padding:10px 6% 18px;box-shadow:0 8px 14px #123e681f;white-space:normal;overflow:visible;flex-direction:column;gap:0}header.menu-open nav{display:flex}header nav a{padding:12px 0;border-bottom:1px solid #d9e8f1}.hero{padding-top:25px}.hero h1{font-size:29px;line-height:1.2;letter-spacing:-.025em}.hero-subtitle{font-size:18px;line-height:1.5;margin-bottom:13px}.hero-description{font-size:16px;line-height:1.55}.hero .actions{margin-top:18px;gap:10px}.hero .button{font-size:14px;padding:10px 14px}.hero-foot{margin-top:17px;font-size:12px;gap:10px}.activity-nav{margin-top:22px}.activity-nav a{padding-top:14px;padding-bottom:14px}.activity-number{top:14px}.service-grid summary{grid-template-columns:30px minmax(0,1fr) 24px;gap:10px}.service-grid h3{font-size:19px;line-height:1.4}.service-grid .detail{padding-left:50px}.brands{gap:9px}.brands span{font-size:15px;padding:11px 5px}.brands-section{padding-top:32px;padding-bottom:32px}}

/* Colour continues through the gallery, team and contact. */
.work-gallery{background:#d5ecf5;border-top:5px solid #087b95}.work-gallery h2{color:#124d80}.gallery-category{background:#eaf6fb;border:1px solid #9bbfd4;border-left:5px solid #1759a1;border-radius:8px;margin-bottom:12px;overflow:hidden}.gallery-category summary{padding:17px 18px;color:#17466a}.gallery-category[open] summary{background:#1759a1;color:#fff}.gallery-category[open] summary:after{color:#fff}.photo-grid{padding:14px}.gallery-category summary:after{flex-shrink:0;margin-left:12px}
.about{background:#175581;color:#fff;border-top:5px solid #54bfd4}.about .eyebrow,.about-brand>span{color:#b8ebf6}.about p{color:#e4f1f8}.team{border-color:#5a8cad}.team>div{background:#e4f2f9;color:#123d61;border-top:4px solid #60c2d8;padding:20px}.team span{color:#155885}.team .qualification{color:#35566d}
.contact{background:#bfe3ee;border-top:5px solid #087b95}.contact h2{color:#103f6a}.contact p,.second-phone{color:#304f66}.contact-panel{background:#deeff7;border-left:5px solid #1759a1;box-shadow:0 6px 20px #184f7912}.contact-panel span{color:#35566c}.contact-panel a:not(.button){color:#124d80}.contact .big-phone{color:#124d80}footer{background:#10395e;border-top:3px solid #50b9d0}
@media(max-width:700px){.gallery-category summary{padding:15px 12px;gap:10px}.photo-grid{padding:10px}.team>div{padding:18px}}

/* Final requested white backgrounds and dark information. */
.about{background:#fff;color:#153e69}.about h2,.about .eyebrow,.about-brand>span{color:#153e69}.about p{color:#27465f}.team{border-color:#ccdce7}.team>div{background:#fff;color:#153e69;border:1px solid #ccdce7;border-top:4px solid #1759a1}.team span,.team .qualification{color:#27465f}
.contact{background:#fff;color:#153e69}.contact h2,.contact p,.contact .eyebrow,.contact .second-phone,.contact .big-phone{color:#153e69}.contact-panel{background:#fff;border:1px solid #ccdce7;border-left:5px solid #1759a1}.contact-panel span,.contact-panel p,.contact-panel a:not(.button){color:#153e69}
.coverage-places span{background:#fff;color:#153e69;border:1px solid #fff}

/* Requested contrast across information panels. */
.work-gallery{background:#b9dce9}.gallery-category{background:#fff;border-color:#89b3ca}.gallery-category summary,.gallery-category[open] summary{background:#fff;color:#153e69}.gallery-category[open] summary:after{color:#087b95}
.coverage-places span{background:#e7f3f8;color:#153e69;border-color:#d5e8f2}
.team>div{background:#153e69;color:#fff;border-color:#153e69;border-top-color:#56bed4}.team strong,.team span,.team .qualification{color:#fff}
.contact{background:#fff}.contact-panel{background:#153e69;border-color:#153e69;border-left-color:#56bed4}.contact-panel span,.contact-panel p,.contact-panel a:not(.button){color:#fff}.contact-panel .map-link{border-bottom-color:#b9e2ef}.contact-panel .button{background:#e7f3f8;color:#153e69}.contact-panel .button:hover{background:#cbe5f1}
.phone-panel{background:#153e69;border-radius:12px;padding:24px;margin-top:25px;border-left:5px solid #56bed4}.contact .phone-panel .big-phone{color:#fff;margin:0;font-size:clamp(27px,3.2vw,40px);overflow-wrap:anywhere}.contact .phone-panel .second-phone{color:#fff;display:block;margin-top:9px}.phone-panel a:focus-visible,.contact-panel a:focus-visible{outline-color:#fff}
@media(max-width:700px){.phone-panel{padding:20px}.contact .phone-panel .big-phone{font-size:30px}.contact .phone-panel .second-phone{font-size:14px}}

/* Calm section rhythm: navy brands, white coverage, pale blue gallery. */
.coverage-section{background:#fff;color:#153e69}
.coverage-section h2{color:#153e69}
.coverage-section .eyebrow{color:#087b95}
.coverage-section p:not(.eyebrow){color:#27465f}
.coverage-places span{background:#e7f3f8;color:#153e69;border-color:#d5e8f2}

/* Project portfolio and construction service. */
.activity-nav a:nth-child(4){background:#153e69}.construction-section{background:#e7f3f8}.construction-section>p{max-width:760px}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:38px;scroll-margin-top:110px}.project-card{font:inherit;text-align:left;background:white;border:1px solid #89b3ca;border-radius:12px;overflow:hidden;color:#153e69;padding:0;cursor:pointer}.project-card img{display:block;width:100%;height:210px;object-fit:cover}.project-card strong,.project-card span{display:block;padding:0 18px}.project-card strong{font-size:19px;margin-top:17px}.project-card span{font-size:14px;margin:10px 0 18px}.project-card:hover{box-shadow:0 5px 18px #153e6926}.project-card:focus-visible{outline:3px solid #087b95;outline-offset:3px}.archive-heading{margin-bottom:20px}#project-dialog{width:min(1000px,94vw);max-height:85vh;padding:25px;border:0;border-radius:12px;color:#153e69}#project-dialog::backdrop{background:#071e36bd}.project-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.project-dialog-header h2{font-size:26px}.close-project{font-size:30px;background:none;border:0;color:#153e69;cursor:pointer}.project-pages{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px}.project-pages button{font:inherit;background:#1759a1;color:white;border:0;border-radius:6px;padding:10px 15px}.project-pages button:disabled{opacity:.4}#project-dialog .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:800px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card img{height:170px}}
@media(max-width:500px){.project-gallery{grid-template-columns:1fr}.project-card img{height:210px}#project-dialog{padding:15px}#project-dialog .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-dialog-header h2{font-size:21px}}

.activity-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-nav a{min-width:0}.activity-nav strong{overflow-wrap:break-word}
@media(min-width:701px) and (max-width:1050px){.activity-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.activity-nav{grid-template-columns:1fr}}

@media(min-width:701px) and (max-width:1100px){header{gap:15px;padding-left:3%;padding-right:3%}header nav{gap:12px}header nav a{font-size:13px}.header-call{display:none}.brand span{display:none}}

/* On-demand video previews within each project. */
.project-videos[hidden]{display:none}.project-videos{margin:15px 0 25px;padding-bottom:24px;border-bottom:1px solid #ccdce7}.project-videos h3,.project-photos-heading{font-size:19px;margin:15px 0}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project-video-card{font:inherit;background:#e7f3f8;color:#153e69;text-align:left;border:1px solid #b2ccdd;border-radius:10px;padding:0;overflow:hidden;cursor:pointer}.video-preview{position:relative;display:block;background:#102f4d}.video-preview img{display:block;width:100%;height:160px;object-fit:contain}.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#153e69e8;color:white;box-shadow:0 0 0 2px #ffffffc0;font-size:19px;padding-left:3px}.project-video-card strong,.video-duration{display:block;padding:0 14px}.project-video-card strong{font-size:16px;margin-top:13px}.video-duration{font-size:13px;margin:8px 0 14px}.project-video-card:hover{border-color:#1759a1}.project-video-card:focus-visible,.close-video:focus-visible{outline:3px solid #087b95;outline-offset:3px}#video-dialog{width:min(900px,94vw);max-height:90vh;overflow:auto;padding:20px;border:0;border-radius:12px;color:#153e69;background:#fff}#video-dialog::backdrop{background:#071e36d9}#video-dialog video{display:block;width:100%;height:auto;max-height:68vh;background:#071e36}.close-video{font-size:30px;background:none;border:0;color:#153e69;cursor:pointer}.video-error{font-size:15px}.video-error a{color:#1759a1;text-decoration:underline}
@media(max-width:700px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#video-dialog{padding:14px}#video-dialog h2{font-size:20px}.video-preview img{height:145px}}
@media(max-width:420px){.video-grid{grid-template-columns:1fr}.video-preview img{height:190px}}

.video-pages[hidden]{display:none}.project-videos{scroll-margin-top:20px}.video-pages{flex-wrap:wrap}.video-pages button{font-size:14px}.video-pages span{font-size:14px;white-space:nowrap}
/* 1. Μικρότερη κεντρική φωτογραφία */
.identity-banner .hero-photo {
  height: clamp(220px, 25vw, 470px);
  object-fit: cover;
  object-position: center;
}

/* 2. Κατασκευές: κείμενο αριστερά, κουτάκια δεξιά */
#construction {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  column-gap: clamp(30px, 5vw, 90px);
  row-gap: 18px;
  align-items: start;
  padding-top: 42px;
  padding-bottom: 42px;
}

#construction .section-heading {
  grid-column: 1;
  display: block;
  margin: 0;
}

#construction .section-heading > p {
  max-width: 680px;
  margin: 0;
}

#construction > p {
  grid-column: 1;
  max-width: 680px;
  margin: 0;
}

#construction .actions {
  grid-column: 1;
  margin-top: 4px;
}

#construction .housing-uses {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0;
}

#construction .housing-uses span {
  display: flex;
  align-items: center;
  min-height: 76px;
  padding: 20px 26px;
  border-radius: 12px;
  background: #153e69;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}

/* 3. Πιο συμπαγής εισαγωγή εξοπλισμού */
#equipment {
  padding-top: 42px;
  padding-bottom: 42px;
}

#equipment .section-heading {
  display: block;
  margin-bottom: 18px;
}

#equipment .section-heading > p {
  max-width: 760px;
  margin: 0;
}

#equipment .equipment-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 28px;
}

#equipment .equipment-intro p {
  max-width: 760px;
}

#construction h2,
#equipment h2 {
  margin-bottom: 14px;
}

/* 4. Service: ίδια μεγέθη με την ενότητα περιοχών */
.brands-section h2 {
  font-size: clamp(28px, 3.1vw, 42px);
  line-height: 1.23;
}

.brands-section p:not(.eyebrow) {
  font-size: 16px;
  line-height: 1.65;
}

/* Προσαρμογή για κινητά και tablet */
@media (max-width: 800px) {
  #construction {
    grid-template-columns: minmax(0, 1fr);
  }

  #construction .housing-uses {
    grid-column: 1;
    grid-row: auto;
    align-self: auto;
  }

  #construction .housing-uses span {
    min-height: 62px;
    padding: 16px 20px;
    font-size: 18px;
  }
}

@media (max-width: 700px) {
  #construction,
  #equipment {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .identity-banner .hero-photo {
    height: auto;
    max-height: none;
  }
}/* ΚΑΤΑΣΚΕΥΕΣ: μικρές ετικέτες αριστερά */
#construction .housing-uses {
  grid-column: 1;
  grid-row: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-self: start;
  margin: 0;
}

#construction .housing-uses span {
  min-height: 0;
  padding: 8px 14px;
  border-radius: 24px;
  background: #deeff6;
  color: #153e69;
  font-size: 15px;
}

/* Τα δύο κουμπιά δεξιά */
#construction .actions {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  justify-self: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin: 0;
}

/* ΕΞΟΠΛΙΣΜΟΣ: κουμπί PDF δεξιά */
#equipment .equipment-intro {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

#equipment .equipment-intro p {
  flex: 1;
  max-width: 760px;
}

#equipment .equipment-intro .button {
  flex-shrink: 0;
}

/* Κινητά και tablet */
@media (max-width: 800px) {
  #construction .actions {
    grid-column: 1;
    grid-row: 4;
    justify-self: start;
    justify-content: flex-start;
  }

  #equipment .equipment-intro {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}@media (min-width: 801px) {
  #equipment {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    column-gap: 50px;
    row-gap: 20px;
  }

  #equipment > * {
    grid-column: 1 / -1;
  }

  #equipment .section-heading {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
  }

  #equipment .equipment-intro {
    display: contents;
  }

  #equipment .equipment-intro p {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
  }

  #equipment .equipment-intro .button {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: center;
  }
}/* ===================================
   1. ΠΙΟ ΕΥΑΝΑΓΝΩΣΤΟ ΜΕΝΟΥ
   =================================== */

header nav a {
  font-size: 16px;
  font-weight: 600;
  color: #153e69;
}

header nav a:hover {
  color: #087f99;
}

@media (min-width: 1101px) {
  header nav {
    gap: 20px;
  }
}

@media (min-width: 701px) and (max-width: 1100px) {
  header nav {
    gap: 12px;
  }

  header nav a {
    font-size: 15px;
  }
}


/* ===================================
   2. ΚΑΤΑΣΚΕΥΕΣ ΚΑΙ ΕΞΟΠΛΙΣΜΟΣ
   Κεντραρισμένο κείμενο και κουμπιά
   =================================== */

#construction,
#equipment {
  display: block;
  padding-top: 42px;
  padding-bottom: 42px;
}

#construction .section-heading,
#equipment .section-heading {
  display: block;
  max-width: 820px;
  margin: 0 auto 18px;
  text-align: center;
}

#construction .section-heading > p,
#equipment .section-heading > p {
  max-width: 760px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.7;
}

#construction h2,
#equipment h2 {
  margin-bottom: 16px;
}

#construction > p {
  max-width: 760px;
  margin: 0 auto 20px;
  text-align: center;
}

#construction .housing-uses {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 760px;
  margin: 0 auto 22px;
}

#construction .housing-uses span {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 8px 14px;
  border-radius: 24px;
  background: #deeff6;
  color: #153e69;
  font-size: 15px;
  font-weight: 700;
}

#construction .actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin: 0;
}

#equipment .equipment-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  max-width: 820px;
  margin: 0 auto 32px;
  text-align: center;
}

#equipment .equipment-intro p {
  flex: none;
  max-width: 760px;
  margin: 0;
}

#equipment .equipment-intro .button {
  align-self: center;
}


/* ===================================
   3. ΜΟΝΑΔΑ ΚΑΤΟΙΚΗΣΗΣ
   Βίντεο αριστερά, πληροφορίες δεξιά
   =================================== */

#housing {
  display: grid;
  grid-template-columns: 300px minmax(0, 700px);
  justify-content: center;
  align-items: start;
  column-gap: 48px;
  row-gap: 18px;
  padding-top: 42px;
  padding-bottom: 42px;
}

#housing .section-heading {
  grid-column: 2;
  grid-row: 1;
  display: block;
  margin: 0;
}

#housing .section-heading h2 {
  margin-bottom: 16px;
}

#housing .section-heading > p {
  max-width: none;
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
}

#housing .housing-layout {
  display: contents;
}

#housing .housing-video {
  grid-column: 1;
  grid-row: 1 / 3;
  margin: 0;
}

#housing .housing-video video {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  border-radius: 16px;
}

#housing .housing-layout > div {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
}

#housing .housing-layout > div > p:first-child {
  margin-top: 0;
}

#housing .housing-uses {
  margin: 20px 0;
  gap: 10px;
}

#housing .housing-specs,
#housing .actions {
  margin-top: 20px;
}


/* ===================================
   4. ΚΙΝΗΤΑ ΚΑΙ TABLET
   =================================== */

@media (max-width: 800px) {
  #housing {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  #housing .section-heading {
    grid-column: 1;
    grid-row: 1;
  }

  #housing .housing-video {
    grid-column: 1;
    grid-row: 2;
    width: min(100%, 300px);
    justify-self: center;
  }

  #housing .housing-layout > div {
    grid-column: 1;
    grid-row: 3;
  }
}

@media (max-width: 700px) {
  #construction,
  #equipment,
  #housing {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}/* Μεγαλύτερο λογότυπο στην κεφαλίδα */
header .brand img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  flex-shrink: 0;
}

header {
  height: auto;
  min-height: 100px;
}

@media (max-width: 700px) {
  header .brand img {
    width: 78px;
    height: 78px;
  }

  header {
    min-height: 90px;
  }
}