:root{--navy:#232d60;--ink:#252d3b;--paper:#f9f7f3;--sand:#efebe4;--line:#d9d8d4;--blue:#d5e4ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;font-size:17px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--navy);font-weight:400;line-height:1.2}h1{font-size:clamp(38px,4.4vw,68px)}h2{font-size:clamp(32px,3.5vw,50px)}h3{font-size:26px}p+p{margin-top:20px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #477aa7;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;padding:10px 20px;background:var(--navy);color:#fff}.skip-link:focus{top:10px}.site-header{direction:ltr;display:flex;align-items:center;gap:36px;max-width:1512px;padding:23px 5.5%;margin:auto;min-height:128px}.brand{width:167px;flex-shrink:0}.brand img{width:100%;height:auto}#primary-nav{display:flex;gap:32px;margin-inline-start:auto;align-items:center}html[dir=rtl] #primary-nav{direction:rtl}#primary-nav a{font-size:16px;padding:10px 0;position:relative;color:var(--navy);white-space:nowrap}#primary-nav a:after{content:"";height:1px;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0);background:var(--navy);transition:transform .2s}#primary-nav a:hover:after,#primary-nav a[aria-current]:after{transform:scaleX(1)}.languages{display:flex;gap:12px;border-left:1px solid var(--line);padding-left:22px;font-size:12px;white-space:nowrap}.languages a{padding:5px 0;color:#656977}.languages a[aria-current]{color:var(--navy);border-bottom:1px solid var(--navy)}.menu-toggle{display:none}.tagline{font-size:clamp(18px,1.7vw,25px);line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--navy);color:white;padding:14px 24px;font-size:16px;border:1px solid var(--navy);min-height:54px;transition:background .2s}.button:hover{background:#354379}.button span{font-size:24px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:18px;color:var(--navy);border-bottom:1px solid var(--navy);padding:8px 0;font-size:16px}.section{max-width:1440px;margin:auto;padding:80px 6%}.overline{text-transform:uppercase;font-size:12px;letter-spacing:1.6px;color:var(--navy);display:block;margin-bottom:20px}.section-heading{margin-bottom:38px;border-inline-start:2px solid var(--navy);padding-inline-start:25px}.section-heading .overline{margin-bottom:12px}.section-heading p{margin-top:15px;color:#535b69;font-size:19px}.services{background:var(--paper);max-width:none;padding-inline:max(6%,calc((100% - 1268px)/2))}.about-preview{display:grid;grid-template-columns:.8fr 1.4fr;gap:9%;align-items:center;direction:ltr}.about-copy{direction:ltr}html[dir=rtl] .about-copy{direction:rtl}.about-copy h2{margin-bottom:28px}.about-copy p{font-size:17px}.about-copy .text-link{margin-top:26px}.about-mark{padding:50px 20px}.about-mark img{width:100%;height:auto}.contact-section{background:var(--navy);color:#fff;display:flex;gap:80px;align-items:center;justify-content:space-between;padding:70px max(6%,calc((100% - 1268px)/2))}.contact-section h1,.contact-section h2,.contact-section .overline{color:#fff}.contact-copy{max-width:680px}.contact-copy>p{margin-top:25px;max-width:570px;color:#e1e4ef}.contact-links{margin-top:30px;display:flex;gap:24px;flex-wrap:wrap}.contact-links a{display:flex;align-items:center;gap:12px;font-size:15px}.contact-links a>span:first-child{display:none}.contact-links b{font-weight:400}.button-light{background:transparent;border-color:#a5acc4;white-space:nowrap}.button-light:hover{background:#fff;color:var(--navy)}footer{padding:45px 6% 25px;max-width:1440px;margin:auto;color:var(--navy)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:32px}.footer-brand{font-size:32px;font-weight:700;line-height:1.2}.footer-brand>span{display:block;font-weight:400;font-size:10px;letter-spacing:.6px;margin-top:5px}.socials{display:flex;gap:25px;font-size:14px;flex-wrap:wrap;direction:ltr}.footer-bottom{display:flex;gap:25px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:24px;font-size:12px;color:#5a6070}.footer-bottom>div{display:flex;gap:22px}.story{display:grid;grid-template-columns:1.3fr .8fr;gap:9%;align-items:start}.story h1{margin-bottom:30px}.story .lead{font-size:28px;color:var(--navy);line-height:1.4;margin-bottom:30px}.story-copy p{margin-bottom:22px}.portrait{position:sticky;top:30px}.portrait img{width:100%;height:auto;max-height:680px;object-fit:cover;object-position:center top;background:var(--sand)}figcaption{font-size:13px;color:#626877;margin-top:12px}.belief{background:var(--paper);max-width:none;text-align:center}.belief p{max-width:850px;margin:auto;color:var(--navy);font-size:clamp(25px,3vw,38px);line-height:1.5}.full-contact{align-items:start;min-height:700px;padding-top:65px;padding-bottom:80px;gap:8%}.full-contact .contact-copy{width:48%}.full-contact h1{font-size:clamp(36px,4vw,60px)}.full-contact .contact-links{display:block}.full-contact .contact-links a{border-bottom:1px solid #ffffff40;padding:16px 0;display:grid;grid-template-columns:1fr auto 25px}.full-contact .contact-links a>span:first-child{display:block;color:#d6dbea;font-size:13px}.contact-form{background:var(--paper);color:var(--navy);padding:35px;width:44%}.contact-form h2{color:var(--navy);font-size:27px;margin-bottom:24px}.contact-form label{display:block;font-size:14px;margin-bottom:6px}.contact-form input,.contact-form textarea{width:100%;padding:10px;border:1px solid #c4c6d0;background:#fff;border-radius:0;margin-bottom:16px;resize:vertical;color:var(--ink)}.contact-form .button{width:100%;font-size:15px;gap:16px}.form-note,.form-status{font-size:12px;margin-top:15px;line-height:1.7;color:#515b70}.form-status{border-top:1px solid var(--line);padding-top:15px}.legal{max-width:900px;min-height:70vh}.legal h1{margin-bottom:40px}.legal section{margin:30px 0}.legal h2{font-size:24px;margin-bottom:12px}
@media(min-width:1600px){}
@media(max-width:1150px){.site-header{gap:24px;padding-inline:4%}.brand{width:130px}#primary-nav{gap:20px}.languages{padding-left:15px;gap:10px}.contact-section{gap:30px}}
@media(max-width:800px){body{font-size:16px}.site-header{min-height:102px;padding:15px 5%;flex-wrap:wrap;gap:12px 24px;position:relative}.brand{width:105px}.languages{margin-inline-start:auto;padding:0;border:0;gap:12px;font-size:12px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;order:3;width:44px;height:44px;border:1px solid var(--line);background:transparent;padding:12px}.menu-toggle span{height:1px;width:18px;background:var(--navy)}#primary-nav{display:none;order:4;flex-basis:100%;margin:10px 0 0;padding:15px 0;border-top:1px solid var(--line);justify-content:space-around;gap:12px;flex-wrap:wrap}#primary-nav.open{display:flex}#primary-nav a{font-size:15px}.tagline{font-size:19px}.section{padding:55px 6%}.services{padding:55px 6%}.section-heading{padding-inline-start:18px;margin-bottom:28px}.section-heading p{font-size:17px}.about-preview{grid-template-columns:1fr;gap:30px}.about-mark{padding:0;max-width:170px}.about-copy h2{font-size:36px}.contact-section{display:block;padding:50px 6%}.contact-section h2{font-size:36px}.contact-section>.button{margin-top:30px}.contact-links{gap:16px 25px}.story{grid-template-columns:1fr;gap:30px}.portrait{position:static;max-width:450px}.portrait img{max-height:520px}.full-contact .contact-copy,.contact-form{width:100%;max-width:none}.contact-form{margin-top:40px;padding:28px}.full-contact .contact-links a{gap:8px}.full-contact .contact-links a>span:first-child{font-size:12px}.footer-top{align-items:start}.socials{gap:12px;flex-direction:column;font-size:12px}.footer-bottom{flex-wrap:wrap;gap:18px}.footer-bottom>div{gap:16px}.footer-bottom>a{margin-inline-start:auto}.legal h1{font-size:38px}}
@media(max-width:480px){.site-header{gap:12px}.brand{width:90px}.languages{gap:10px;font-size:11px}.menu-toggle{width:40px;height:40px;padding:10px}.button{font-size:15px;padding:12px 18px;gap:22px}.contact-form{padding:23px}.full-contact .contact-links a{grid-template-columns:1fr 23px}.full-contact .contact-links a>span:first-child{grid-column:1/-1}.footer-top{gap:20px}.footer-brand>span{max-width:125px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.legal p a,.form-disclosure a{text-decoration:underline;text-underline-offset:3px}.legal p a{display:inline-block}.form-disclosure{font-size:14px;line-height:1.7;color:#515b70;margin-top:20px}.field-hint{font-size:12px;color:#515b70}.contact-form input,.contact-form textarea{border-color:#767d8c}.menu-toggle{border-color:#767d8c}.contact-section a:focus-visible{outline-color:#fff}.contact-form a:focus-visible,.contact-form button:focus-visible,.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline-color:#232d60}.languages a{min-height:32px;display:inline-flex;align-items:center}main:focus{outline:none}.legal{overflow-wrap:anywhere}body{overflow-wrap:break-word}

/* Continuous, text-free hero photograph. Copy stays physically left in every language. */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:510px;max-width:1600px;margin:auto;display:flex;align-items:center;direction:ltr;background:#d5e5f2}
.hero-media{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:hidden}
.hero-media img{position:static;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 48%}
.hero-copy,html[dir=rtl] .hero-copy{position:relative;z-index:1;width:54%;margin:0;padding:52px 3% 58px 6%;background:none;text-align:left;direction:ltr}
html[dir=rtl] .hero h1,html[dir=rtl] .hero .tagline{direction:rtl;text-align:left}
.hero .eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--navy)}
.hero h1{font-size:clamp(36px,3.7vw,56px);line-height:1.14;letter-spacing:-1px;margin:23px 0;color:#18224f}
.hero .tagline{font-size:clamp(18px,1.55vw,23px);line-height:1.65;color:#1c2942}
.hero-actions{display:flex;align-items:center;justify-content:flex-start;gap:22px;margin-top:28px;flex-wrap:wrap;direction:ltr}
.hero-actions .button{gap:20px}
/* Fixed illustration canvases preserve every drawing and transparent edge at all widths. */
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;background:transparent;border:0;align-items:stretch}
.service{grid-column:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:16px 16px 28px;background:#faf7f2;border:1px solid #dfd7ca;border-radius:16px;box-shadow:0 4px 12px #4034210a;min-width:0;text-align:center}
.service-illustration{width:100%;max-width:none;aspect-ratio:1;margin:0 auto;flex-shrink:0;display:grid;place-items:center;background:#eee4d5;border-radius:11px}
.service-illustration svg{display:block;width:100%;height:100%;max-width:100%;overflow:hidden}
.service-copy{display:block;min-width:0;padding:24px 10px 0}
.number{display:block;color:var(--navy);font-size:15px;letter-spacing:2px;margin:0 0 16px}
.number:after{content:"";display:block;width:25px;height:1px;background:var(--navy);margin:7px auto 0}
.service h2,.service h3{font-size:25px;line-height:1.25;margin:0 0 15px}
.service p{font-size:16px;line-height:1.75;margin:0}
/* Display-only left-edge crop: original portrait file and person are untouched. */
.portrait-frame{border-radius:42px;overflow:hidden;isolation:isolate;background:#e4e4e4;direction:ltr}
.portrait .portrait-frame img{display:block;width:150%;max-width:none;height:auto;max-height:none;margin-left:-29%;object-fit:initial;object-position:initial;border-radius:0}
.about-preview{grid-template-columns:.8fr 1.4fr;column-gap:9%;row-gap:24px;align-items:center}
.about-preview .about-copy{display:contents}
.about-intro{grid-column:2;grid-row:1}.about-body{grid-column:2;grid-row:2}
.about-preview .about-mark{grid-column:1;grid-row:2;align-self:center;justify-self:center;padding:0;width:100%;max-width:360px}
.about-preview .about-copy>.text-link{grid-column:2;grid-row:3;justify-self:start;margin-top:0}
.about-preview .about-intro h2{margin-bottom:0}
html[dir=rtl] .about-intro,html[dir=rtl] .about-body{direction:rtl}
html[dir=rtl] .about-preview .about-copy>.text-link{direction:rtl;justify-self:end}
@media(max-width:800px){.about-preview{grid-template-columns:1fr;gap:26px}.about-intro{grid-column:1;grid-row:1}.about-preview .about-mark{grid-column:1;grid-row:2;max-width:210px}.about-body{grid-column:1;grid-row:3}.about-preview .about-copy>.text-link{grid-column:1;grid-row:4}}
@media(max-width:1000px){
 .hero{min-height:480px}.hero-copy,html[dir=rtl] .hero-copy{width:59%;padding-left:5%;padding-right:2%}.hero h1{font-size:40px}.hero .eyebrow{font-size:9px;letter-spacing:.8px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service{padding:14px 14px 24px}.service-illustration{max-width:none}
}
@media(max-width:600px){
 .hero{min-height:500px;align-items:flex-start}.hero-copy,html[dir=rtl] .hero-copy{width:90%;padding:38px 5% 170px 6%}.hero-media{position:absolute;inset:0;width:100%;height:100%}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:35% center}.hero h1{font-size:clamp(29px,7.4vw,42px);margin:20px 0;letter-spacing:-.6px}.hero .eyebrow{font-size:8px;letter-spacing:.65px}.hero .tagline{font-size:17px}.hero-actions{gap:16px;margin-top:22px}.hero-actions .button{font-size:14px;padding:12px 16px}.hero-actions .text-link{font-size:14px}
 .service-grid{grid-template-columns:1fr;gap:24px}.service{padding:14px 14px 26px;gap:0}.service-illustration{max-width:none}.service h2,.service h3{font-size:24px}.service p{font-size:16px}.portrait-frame{border-radius:36px}
}
