:root{--navy:#142941;--ink:#142638;--muted:#637080;--line:#d9dfe5;--silver:#f1f4f6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3f88bd;outline-offset:5px}.skip{position:absolute;top:-100px;padding:15px;background:#fff;z-index:20}.skip:focus{top:0}header{height:98px;position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);padding:8px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{width:128px;flex-shrink:0;line-height:0}.brand img{width:128px;height:80px;object-fit:contain}nav{display:flex;gap:30px;font-size:14px}nav a{padding:8px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--navy)}.languages{display:flex;align-items:center;gap:10px;font-size:13px}.languages span{color:#a0a9b2}.languages button{border:0;background:none;padding:7px 3px;cursor:pointer;color:var(--muted)}.languages button[aria-pressed=true]{font-weight:700;color:var(--navy);border-bottom:2px solid var(--navy)}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white;min-height:720px}.hero-copy{padding:90px 10% 40px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;margin:0 0 30px;display:flex;align-items:center;gap:20px}.small-rule{display:inline-block;width:45px;height:1px;background:#91a6bc}h1{font-weight:400;font-size:clamp(3rem,4.9vw,5.3rem);line-height:1.16;letter-spacing:-.045em;margin:20px 0 28px}h2{font-size:clamp(2.1rem,3.6vw,3.8rem);font-weight:400;line-height:1.2;letter-spacing:-.035em;margin:0}h3{font-weight:400;font-size:28px;line-height:1.3;margin:0}.intro{font-size:18px;line-height:1.8;color:#c9d5e1;max-width:445px;margin:0 0 38px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 22px;font-size:14px;font-weight:600;transition:background .2s}.button.light{background:#fff;color:var(--navy)}.button.light:hover{background:#dbe6ef}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid #8b9aac;padding:8px 0}.text-link:hover{border-color:currentColor}.hero-foot{margin-top:auto;padding-top:65px;font-size:11px;letter-spacing:.12em;color:#aebed0}.hero-image{margin:0;position:relative;min-width:0;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 47%}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 30px;display:flex;justify-content:space-between;gap:20px;background:rgba(14,32,49,.86);font-size:12px;color:white}.hero-image figcaption>span:first-child{letter-spacing:.12em}.section{padding:105px 6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:48px}.section-description{max-width:340px;color:var(--muted);margin:0}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-photo{height:380px;background:var(--silver);overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover}.service-title{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:20px}.service-title>span{font-size:12px;color:var(--muted)}.service-card p{color:var(--muted);font-size:15px;margin:10px 0 0}.gallery{background:var(--silver)}.gallery-note p{margin:0}.gallery-note .subtle{font-size:13px;color:var(--muted);margin-top:8px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.gallery-item{margin:0;min-width:0}.gallery-item a{display:block;overflow:hidden;background:#e2e7eb}.gallery-item img{display:block;width:100%;height:350px;object-fit:contain;transition:transform .3s}.gallery-item a:hover img{transform:scale(1.025)}.featured-grid .gallery-item img{height:420px;object-fit:cover}.gallery-item figcaption{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding-top:14px}.gallery-item figcaption>span:last-child{font-size:12px;color:#687787}.gallery-more{margin-top:48px}.gallery-more summary{list-style:none;cursor:pointer;width:fit-content;margin:0 auto;padding:16px 24px;border:1px solid #8c9aa7;font-size:14px;display:flex;gap:30px;align-items:center}.gallery-more summary::-webkit-details-marker{display:none}.gallery-more summary:hover{background:#e2e8ed}.count{color:var(--muted);font-size:12px}.gallery-more[open] summary{margin-bottom:36px}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.about-image{height:540px;overflow:hidden;background:var(--silver)}.about-image img{width:100%;height:100%;object-fit:cover}.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.85;color:var(--muted);margin:28px 0}.contact{background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;gap:60px}.contact h2{font-size:clamp(2.2rem,3.8vw,4rem)}.contact p:not(.eyebrow){max-width:460px;color:#c4d0dc;margin:24px 0 0}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:28px;min-width:0}.contact-email{font-size:clamp(1rem,1.8vw,1.5rem);padding-bottom:12px;border-bottom:1px solid #7890a6;overflow-wrap:anywhere}.contact-email:hover{color:#c4d0dc}footer{padding:35px 6%;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}footer strong{font-size:14px;color:var(--navy)}footer>span:nth-child(2){letter-spacing:.12em}@media(min-width:1800px){body{max-width:1800px;margin:auto}}@media(max-width:1050px){nav{gap:18px}.hero{min-height:650px}.hero-copy{padding:60px 9% 35px}h1{font-size:3.4rem}.hero-actions{gap:15px}.service-photo{height:310px}.featured-grid .gallery-item img{height:330px}.contact{gap:35px}.section{padding:80px 5%}.about-image{height:450px}}@media(max-width:760px){header{height:auto;min-height:95px;flex-wrap:wrap;gap:8px;padding:8px 5% 12px}.brand,.brand img{width:106px}.brand img{height:64px}nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:13px}.languages{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6% 36px}h1{font-size:clamp(2.9rem,9vw,4rem);margin-top:5px}.intro{max-width:500px;font-size:17px}.hero-foot{padding-top:35px}.hero-image{height:580px}.hero-image>img{object-position:center 50%}.hero-image figcaption{padding:18px;font-size:11px}.section{padding:64px 6%}.section-heading{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:32px}.section-description{max-width:480px}.service-cards{gap:24px;grid-template-columns:1fr}.service-photo{height:430px}.service-photo img{object-position:center 45%}.service-card{padding-bottom:14px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.featured-grid .gallery-item img,.gallery-item img{height:300px}.gallery-item figcaption{font-size:12px}.about{grid-template-columns:1fr;gap:38px}.about-image{height:400px}.contact{align-items:flex-start;flex-direction:column;gap:35px}.contact-email{font-size:1.2rem}footer{flex-wrap:wrap}footer>span:last-child{width:100%}}@media(max-width:420px){nav{font-size:12px;gap:8px}.hero-image{height:450px}.service-photo{height:350px}.gallery-grid{grid-template-columns:1fr}.featured-grid .gallery-item img,.gallery-item img{height:auto;max-height:470px;object-fit:contain}.gallery-item figcaption{font-size:14px}.hero-image figcaption{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.slideshow-controls{position:absolute;right:22px;top:22px;display:flex;align-items:center;gap:6px;padding:6px;background:rgba(14,32,49,.9);color:#fff;z-index:2}.slideshow-controls button{border:0;color:white;background:transparent;min-width:40px;min-height:40px;cursor:pointer;font-size:20px}.slideshow-controls button:hover{background:#38536e}.slideshow-controls span{font-size:12px;min-width:54px;text-align:center}.hero-image>img{transition:opacity .5s}.hero-image>img.slide-fade{opacity:0}@media(prefers-reduced-motion:reduce){.hero-image>img{transition:none}}
