@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans.woff2") format("woff2");font-style:normal;font-weight:100 1000;font-display:swap}@font-face{font-family:Manrope;src:url("assets/fonts/manrope.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}:root{font-family:'DM Sans',Arial,sans-serif;color:#13233a;background:#fff;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.wrap{max-width:1240px;margin:auto;padding-left:40px;padding-right:40px}.header{height:98px;max-width:1440px;margin:auto;padding:11px 40px;display:flex;align-items:center;justify-content:space-between;background:white}.brand img{width:220px;height:92px;object-fit:contain}.header nav{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:700}.header nav a:hover{color:#164bc4}.nav-contact{padding:14px 19px;border:1px solid #cbd4df}.nav-contact span{margin-left:22px}.hero{position:relative;min-height:670px;background:#14243a;color:white;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,25,46,.94) 0%,rgba(8,25,46,.78) 38%,rgba(8,25,46,.24) 78%),url('assets/hero.png');background-size:cover;background-position:center}.hero-inner,.hero-bottom{position:relative;z-index:1;width:100%;max-width:1240px;margin:0 auto;padding:0 40px}.hero-inner{padding-top:40px;padding-bottom:86px}.eyebrow,.section-index,.hero-bottom{font-size:12px;font-weight:700;letter-spacing:.16em}.eyebrow{display:flex;align-items:center;gap:15px;color:#b6d3ff}.line{height:1px;width:31px;background:#7ca7ec}.hero h1,.intro h2,.services h2,.contact h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em;line-height:1.12}.hero h1{font-size:clamp(42px,5.1vw,75px);font-weight:700;margin:31px 0 25px;max-width:880px}.hero h1 em{font-weight:400;font-style:normal;color:#9ac1fa}.hero p{max-width:560px;font-size:19px;line-height:1.65;color:#e2e9f2;margin:0 0 37px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:17px 20px;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-light{background:#fff;color:#13233a}.button-dark{background:#1048c3;color:white}.hero-bottom{display:flex;justify-content:space-between;position:absolute;bottom:29px;left:0;right:0;color:#c4cfdf}.intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-top:118px;padding-bottom:126px}.section-index{color:#2457b5;padding-top:10px}.intro h2,.services h2,.contact h2{font-size:clamp(36px,4vw,58px);font-weight:650;margin:0}.intro h2{max-width:780px}.intro p{font-size:20px;line-height:1.7;max-width:690px;color:#5d6a7a;margin:32px 0 0}.services{background:#f1f5fa;padding:100px 0 112px}.services-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin:32px 0 58px}.services-heading p{max-width:335px;color:#657080;font-size:17px;line-height:1.65}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bcc9db}.service-grid article{padding:38px 36px 14px 0;min-height:245px}.service-grid article+article{border-left:1px solid #bcc9db;padding-left:36px}.number{font-size:13px;letter-spacing:.15em;color:#1c58c9;font-weight:700}.service-grid h3{font:700 24px Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:38px 0 13px}.service-grid p{font-size:16px;color:#5f6e7f;line-height:1.6;max-width:290px;margin:0}.contact{display:grid;grid-template-columns:1fr 2fr;padding-top:116px;padding-bottom:132px}.contact p{font-size:19px;color:#647083;line-height:1.6;margin:24px 0 30px}.contact .contact-note{font-size:13px;margin:12px 0;color:#7a8595}footer{border-top:1px solid #e2e8ef}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:130px;font-size:13px;color:#748091}.footer-inner img{width:170px;height:94px;object-fit:contain}@media(max-width:750px){.wrap,.header,.hero-inner,.hero-bottom{padding-left:24px;padding-right:24px}.header{height:82px}.brand img{width:157px;height:72px}.header nav{gap:15px;font-size:13px}.header nav a:not(.nav-contact){display:none}.nav-contact{padding:11px 12px}.nav-contact span{margin-left:5px}.hero{min-height:650px}.hero-image{background-image:linear-gradient(90deg,rgba(8,25,46,.89),rgba(8,25,46,.53)),url('assets/hero.png');background-position:60% center}.hero-inner{padding-top:20px;padding-bottom:80px}.hero h1{font-size:clamp(42px,9vw,62px)}.hero p{font-size:17px}.intro,.contact{display:block;padding-top:75px;padding-bottom:80px}.section-index{margin-bottom:30px}.intro p{font-size:18px}.services{padding:72px 0 80px}.services-heading{display:block;margin-bottom:35px}.services-heading p{margin-top:25px}.service-grid{display:block}.service-grid article,.service-grid article+article{border-left:0;border-bottom:1px solid #bcc9db;padding:28px 0;min-height:auto}.service-grid h3{margin:18px 0 9px}.contact h2{font-size:47px}.footer-inner{padding-top:20px;padding-bottom:25px;display:block}.footer-inner span{display:block;margin:8px 0}}

.intro-side{display:flex;flex-direction:column;align-items:flex-start;gap:40px}.anniversary{width:166px;height:166px;border:2px solid #2358bc;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;text-align:center;color:#1748a8;transform:rotate(-8deg);background:#f8fbff;box-shadow:0 0 0 5px #fff,0 0 0 6px #c6d6f1}.anniversary-kicker{font-size:10px;letter-spacing:.2em;font-weight:800}.anniversary strong{font:800 67px/.95 Manrope,Arial,sans-serif;letter-spacing:-.09em;margin:3px 8px 0 0}.anniversary-years{font-size:14px;letter-spacing:.2em;font-weight:800}.anniversary-dates{font-size:11px;letter-spacing:.08em;margin-top:7px;font-weight:700}.anniversary:after{content:'';position:absolute;inset:8px;border:1px solid #a7c2ed;border-radius:50%;pointer-events:none}@media(max-width:750px){.intro-side{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:30px}.intro-side .section-index{margin-bottom:0}.anniversary{width:115px;height:115px;flex:none}.anniversary-kicker{font-size:7px}.anniversary strong{font-size:48px}.anniversary-years{font-size:10px}.anniversary-dates{font-size:8px;margin-top:3px}}
/* Center the established vertical brand mark and give it space. */
.header{max-width:none;height:146px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:11px clamp(24px,4vw,64px)}
.header .brand{grid-column:2;justify-self:center;line-height:0}
.header .brand img{width:205px;height:126px;object-fit:contain}
.header nav{grid-column:3;justify-self:end}
@media(max-width:750px){.header{height:112px;padding:9px 18px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.header .brand img{width:146px;height:94px}.header nav{gap:0}.header .nav-contact{padding:10px 8px;font-size:12px}.header .nav-contact span{margin-left:3px}}

/* The original lockup is tall; its lettering needs enough rendered pixels. */
.header{height:184px}.header .brand img{width:282px;height:172px}
@media(max-width:1080px){.header nav a:not(.nav-contact){display:none}}
@media(max-width:750px){.header{height:176px;display:flex;flex-direction:column;justify-content:center;gap:0;padding:9px 18px 14px}.header .brand img{width:218px;height:133px}.header nav{align-self:center}.header .nav-contact{padding:7px 12px}}
.lang-switch{grid-column:1;justify-self:start;display:flex;gap:10px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.07em;color:#6b7b90}.lang-switch a{padding:7px 3px}.lang-switch a:hover,.lang-switch a[aria-current="page"]{color:#174bc3}.lang-switch a[aria-current="page"]{border-bottom:2px solid #174bc3}
@media(max-width:750px){.header{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:128px 30px;height:182px;align-items:center;gap:0;padding:5px 18px 12px}.header .brand{grid-column:2;grid-row:1}.header .brand img{width:218px;height:128px}.lang-switch{grid-column:1/3;grid-row:2;justify-self:start;gap:8px}.header nav{grid-column:3;grid-row:2;justify-self:end;align-self:center}.header .nav-contact{padding:6px 8px;font-size:12px}}
.footer-inner{flex-wrap:wrap}.footer-legal{width:100%;display:flex;gap:22px;justify-content:flex-end;padding-bottom:22px}.footer-legal a:hover{color:#164bc4}.legal-header{height:118px;border-bottom:1px solid #e2e8ef;display:flex;align-items:center;justify-content:space-between;padding:8px max(30px,calc((100vw - 1160px)/2))}.legal-home img{height:96px;width:180px;object-fit:contain}.legal-lang{display:flex;gap:16px;font-size:13px;font-weight:700}.legal-lang a[aria-current="page"]{color:#174bc3;border-bottom:2px solid;padding-bottom:5px}.legal-main{max-width:900px;padding-top:80px;padding-bottom:110px}.legal-kicker{font-size:12px;letter-spacing:.16em;color:#2457b5;font-weight:800}.legal-main h1{font:700 clamp(38px,5vw,62px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.055em;margin:18px 0 48px}.legal-main section{border-top:1px solid #d9e2ed;padding:25px 0 17px}.legal-main h2{font:700 22px Manrope,Arial,sans-serif;margin:0 0 12px}.legal-main p{font-size:17px;line-height:1.75;color:#526173;max-width:750px;margin:0}.legal-main p a{text-decoration:underline;color:#174bc3}.legal-footer{border-top:1px solid #e2e8ef;padding:30px 0;color:#65758a;font-size:14px}.legal-footer .wrap{display:flex;justify-content:space-between;gap:30px}.legal-footer nav{display:flex;gap:20px}@media(max-width:750px){.footer-legal{justify-content:flex-start;flex-wrap:wrap;gap:15px;padding-top:15px}.legal-header{height:100px;padding:8px 20px}.legal-home img{width:150px;height:84px}.legal-main{padding-top:55px;padding-bottom:75px}.legal-footer .wrap{display:block}.legal-footer nav{margin-top:20px;flex-wrap:wrap}}

/* Give the first mobile screen more room for the message. */
@media(max-width:750px){
 .header{height:136px;grid-template-rows:96px 30px;padding:3px 18px 7px}
 .header .brand img{width:170px;height:96px}
 .lang-switch{font-size:13px}
 .header .nav-contact{font-size:13px;padding:7px 10px;min-height:32px}
 .hero{min-height:580px}
 .hero-inner{padding-bottom:96px}
 .hero-bottom{font-size:11px;gap:14px}
 .hero-bottom span:last-child{text-align:right}
 .service-grid p{max-width:100%}
 .footer-inner img{width:160px}
}
@media(max-width:380px){
 .wrap,.hero-inner,.hero-bottom{padding-left:18px;padding-right:18px}
 .hero h1{font-size:40px}
 .hero p{font-size:16px}
 .intro-side{gap:12px}
 .anniversary{width:100px;height:100px}
 .anniversary strong{font-size:40px}
 .anniversary-years{font-size:9px}
 .anniversary-dates{font-size:7px}
}

/* Mobile brand and actions sit on separate rows without compressing the contact link. */
@media(max-width:750px){
 .header{display:block;position:relative;height:132px;padding:0 18px}
 .header .brand{position:absolute;top:1px;left:50%;transform:translateX(-50%)}
 .header .brand img{width:164px;height:93px}
 .lang-switch{position:absolute;left:18px;bottom:8px;gap:10px}
 .header nav{position:absolute;right:18px;bottom:8px}
 .header .nav-contact{display:inline-flex;align-items:center;white-space:nowrap;min-height:34px;padding:6px 10px}
 .nav-contact span{margin-left:9px}
 .button span{font-family:Arial,sans-serif;font-size:1.15em;line-height:1}
}

/* Space the brand, language choices and hero after removing the top contact action. */
@media(min-width:751px){
 .header{height:208px}
 .header nav{gap:28px}
}
@media(max-width:750px){
 .header{height:166px}
 .header .brand{top:6px}
 .header .brand img{width:168px;height:94px}
 .lang-switch{bottom:22px}
 .header nav{display:none}
}

/* Compact language labels with comfortable touch targets; enlarge mobile brand. */
.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:40px}
@media(max-width:750px){
 .header{height:184px}
 .header .brand{top:6px}
 .header .brand img{width:192px;height:108px}
 .lang-switch{font-size:12px;gap:5px;bottom:19px}
 .lang-switch a{padding:7px 2px}
}

/* Explicit vertical placement avoids a second implicit grid row on desktop. */
@media(min-width:751px){
 .header{display:block;position:relative;height:268px;padding:0}
 .header .brand{position:absolute;top:4px;left:50%;transform:translateX(-50%)}
 .header .brand img{width:282px;height:172px}
 .lang-switch{position:absolute;left:clamp(24px,4vw,64px);bottom:28px}
}
@media(max-width:750px){
 .header{height:200px}
 .header .brand{top:4px}
 .header .brand img{width:216px;height:122px}
 .lang-switch{bottom:19px}
}

/* Keep the footer brand clear of its top divider. */
.footer-inner{padding-top:30px}
@media(max-width:750px){.footer-inner{padding-top:28px}}

/* Anniversary seal: chosen option 3, gold outer rim and one blue inner line. */
.anniversary{border:7px solid #c5a15a;box-shadow:none}
.anniversary:after{inset:5px;border:2px solid #1748a8}
@media(max-width:750px){
 .anniversary{border-width:5px}
 .anniversary:after{inset:4px;border-width:1.5px}
}

/* Exact vector anniversary mark, matching the selected gold-rim proposal. */
.anniversary{border:0;background:none;box-shadow:none;overflow:visible}
.anniversary:after{display:none}
.anniversary img{display:block;width:100%;height:100%;object-fit:contain}
.anniversary{transform:none}
.anniversary{transform:rotate(-8deg)}
