:root{--blue:#0051cd;--teal:#00b5b8;--ink:#172033;--muted:#536174;--line:#dbe3e9;--paper:#f3f7fa;--max:1180px}
*{box-sizing:border-box}html{scroll-padding-top:1.5rem}body{margin:0;color:var(--ink);background:#fff;font-family:system-ui,"Segoe UI",sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:2px}
img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,5.1vw,4.65rem);font-weight:720;color:var(--blue);text-wrap:balance}h2{font-size:clamp(2rem,3.5vw,3.1rem);font-weight:680}h3{font-size:1.45rem;line-height:1.25;letter-spacing:-.025em}
.wrap{width:min(var(--max),calc(100% - 5rem));margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-8rem;z-index:10;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}
.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.7rem;min-height:44px;text-decoration:none;color:var(--ink);font-size:1.45rem;letter-spacing:-.05em;font-weight:720;white-space:nowrap}.brand img{width:48px}.brand small{font-size:.65em;font-weight:450;letter-spacing:0;margin-left:.15rem}
.header-nav{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.primary-nav,.language-nav{display:flex;align-items:center;gap:1.4rem}.primary-nav a,.language-nav a,.language-nav span{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:.9rem}.primary-nav a{color:var(--ink)}.primary-nav a:hover{color:var(--blue)}.language-nav{gap:.65rem;border-left:1px solid var(--line);padding-left:1.4rem}.language-nav [aria-current]{font-weight:750;color:var(--blue)}.language-nav .divider{color:#7a8795;min-height:0}
.eyebrow{color:var(--muted);font-size:.75rem;font-weight:650;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.35rem}.hero{position:relative;background:linear-gradient(115deg,#fff 58%,#f0f9f9 100%);overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:3rem;min-height:480px;padding-block:2.8rem}.hero-copy{position:relative;z-index:1}.hero .intro{max-width:35rem;margin-top:1.7rem;font-size:1.16rem;color:var(--muted);line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:52px;padding:.8rem 1.25rem;background:var(--blue);color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;border:1px solid var(--blue);border-radius:3px}.button:hover{background:#0043aa}.hero .button{margin-top:2rem}.hero-mark{width:100%;max-width:405px;justify-self:end;position:relative;z-index:1}.hero-mark img{width:100%}
.section{padding-block:5.3rem}.section-heading{display:grid;grid-template-columns:1fr 1.4fr;gap:2.5rem;align-items:start;margin-bottom:3.1rem}.section-heading .eyebrow{margin-top:.55rem}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:2rem 1.8rem 2.3rem 0}.service+.service{padding-left:1.8rem;border-left:1px solid var(--line)}.service:last-child{padding-right:0}.service-number{display:block;color:var(--blue);font-size:.82rem;font-weight:650;letter-spacing:.08em;margin-bottom:1.65rem}.service h3{margin-bottom:1rem}.service p{color:var(--muted);font-size:1rem}.collaboration{display:grid;grid-template-columns:1fr 1.4fr;gap:2.5rem;padding-top:2.4rem}.collaboration strong{font-size:1.1rem;font-weight:650}.collaboration p{color:var(--muted)}
.contact{background:var(--blue);color:white}.contact-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;padding-block:4.8rem}.contact .eyebrow{color:#d8eaff}.contact h2{max-width:28rem}.contact-copy{max-width:29rem;margin-top:1.6rem;color:#e1edff}.contact-details{align-self:center}.contact-person{font-weight:650;font-size:1.1rem;margin-bottom:.8rem}.contact a{color:white}.contact a:focus-visible{outline-color:#fff}.contact-link{display:flex;width:fit-content;min-height:44px;align-items:center;text-decoration:none;font-size:clamp(1.15rem,2.4vw,1.65rem);letter-spacing:-.025em;overflow-wrap:anywhere}.contact-link:hover{text-decoration:underline}.contact-address{margin-top:1.6rem;font-style:normal;color:#e1edff;font-size:.92rem}.contact-address strong{color:white;font-weight:600}
.site-footer{padding-block:1.7rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap}.footer-links a{display:inline-flex;min-height:44px;align-items:center;color:var(--muted)}
.legal-header{background:var(--paper);padding-block:3.2rem}.legal-header h1{font-size:clamp(2.5rem,4.5vw,3.75rem)}.legal-header .eyebrow{margin-bottom:.7rem}.legal{max-width:780px;margin-inline:auto;padding-block:3.5rem 4.5rem}.legal section+section{margin-top:2.4rem}.legal h2{font-size:1.6rem;letter-spacing:-.025em;margin-bottom:1rem}.legal p+p{margin-top:1rem}.legal ul{padding-left:1.35rem}.legal li+li{margin-top:.5rem}.legal a{overflow-wrap:anywhere}.facts{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:0;margin:1.5rem 0 0;font-size:.96rem}.facts dt,.facts dd{padding:.8rem 0;border-bottom:1px solid var(--line)}.facts dt{font-weight:600;padding-right:1.5rem}.facts dd{margin:0;overflow-wrap:anywhere}.note{border-left:4px solid var(--teal);background:#f0f8f8;padding:1.3rem 1.5rem;margin-bottom:2.4rem}.note strong{display:block;margin-bottom:.4rem}.note p{font-size:.96rem}.back-link{display:inline-flex;min-height:44px;align-items:center;margin-top:2.5rem}.error-main{min-height:60vh;padding-block:5rem}.error-main h1{max-width:45rem}.error-main p{margin-top:1.6rem;max-width:36rem}.error-main .button{margin-top:1.6rem}
.legal a[href^="mailto:"],.legal a[href^="tel:"],.error-main a{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
nav a{min-width:44px}
.hero h1{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.15}
.hero h1 span{display:block}
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service:nth-child(2n+1){padding-left:0;border-left:0}
.service:nth-child(n+3){border-top:1px solid var(--line)}
/* Portfolio artwork uses the original Affinity curves; links occupy a separate blue row. */
.site-header{border:0;background:var(--blue)}
.header-inner{min-height:100px}
.brand{color:#fff}
.brand img{box-sizing:content-box;background:#fff;padding:6px;border-radius:50%}
.primary-nav a,.language-nav a,.language-nav [aria-current],.language-nav .divider{color:#fff}
.primary-nav a:hover,.language-nav a:hover{color:#fff;text-decoration:underline}
.language-nav{border-color:#ffffff65}
.site-header a:focus-visible{outline-color:#fff}
.portfolio-motif{width:100%;height:auto;background:#fff;pointer-events:none}
@media(max-width:1000px){.header-inner{gap:1rem}.header-nav{gap:1rem}.primary-nav{gap:.8rem}.language-nav{padding-left:1rem}.hero-inner{gap:2rem;min-height:480px}.hero-mark{max-width:330px}.contact-inner{gap:2.5rem}.service{padding-right:1.25rem}.service+.service{padding-left:1.25rem}}
@media(max-width:760px){.wrap{width:calc(100% - 2.5rem)}.header-inner{flex-direction:column;align-items:flex-start;gap:.3rem;padding-block:1.1rem}.header-nav{justify-content:space-between;width:100%;gap:.35rem}.brand{font-size:1.35rem}.brand img{width:40px}.primary-nav{gap:1rem}.language-nav{border:0;padding-left:0;gap:.55rem}.primary-nav a,.language-nav a,.language-nav span{font-size:.82rem}.hero-inner{grid-template-columns:1fr;min-height:0;gap:3rem;padding-block:3.3rem}.hero .intro{font-size:1.08rem}.hero-mark{width:58%;max-width:250px;justify-self:center}.section{padding-block:3.4rem}.section-heading,.collaboration{grid-template-columns:1fr;gap:.8rem}.section-heading{margin-bottom:2rem}.section-heading .eyebrow{margin:0}.services-grid{grid-template-columns:1fr}.service,.service+.service,.service:last-child{padding:1.7rem 0;border-left:0}.service+.service{border-top:1px solid var(--line)}.service-number{margin-bottom:.8rem}.service h3{margin-bottom:.65rem}.collaboration{padding-top:1.7rem}.contact-inner{grid-template-columns:1fr;gap:2.5rem;padding-block:3.4rem}.contact-link{font-size:1.3rem}.footer-inner{align-items:flex-start;gap:.3rem}.footer-links{gap:1.2rem}.legal-header{padding-block:2.4rem}.legal{padding-block:2.5rem 3rem}.facts{grid-template-columns:1fr}.facts dt{border:0;padding:.85rem 0 .15rem}.facts dd{padding:.1rem 0 .85rem}.note{padding:1rem}.error-main{padding-block:3rem}}
@media(max-width:760px){.hero h1 span{display:inline}.portfolio-motif{height:104px;object-fit:cover;object-position:right top}.hero-inner{padding-top:1.4rem}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media print{.header-nav,.skip-link,.hero-mark,.button,.portfolio-motif{display:none}.site-header{background:white}.brand{color:var(--ink)}.hero,.contact,.legal-header{background:white;color:var(--ink)}.contact a,.contact-copy,.contact-address,.contact-address strong{color:var(--ink)}.wrap{width:100%}.section,.contact-inner,.hero-inner{padding-block:1.5rem}.hero-inner{min-height:0}.site-footer{border-top:1px solid var(--line)}}
