@import url('/assets/fonts/fonts.css');
:root{--navy:#102b50;--deep:#0a213f;--blue:#274c72;--ink:#142c49;--muted:#617184;--line:#d8dfe6;--paper:#f3f5f7;--white:#fff;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--white);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #769bc4;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,.serif{font-family:var(--serif)}h1{font-size:clamp(3.15rem,5.1vw,5.4rem);line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(2.6rem,3.65vw,4rem);line-height:1.15;letter-spacing:-.025em}h3{font-size:1.6rem;line-height:1.3}p+p{margin-top:1rem}.container{width:min(1360px,calc(100% - 112px));margin-inline:auto}.section{padding:100px 0}.eyebrow{font-size:.75rem;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.muted{color:var(--muted)}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{height:100px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:white;position:relative;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-icon{width:44px;height:54px;overflow:hidden;background:var(--navy)}.brand-icon img{object-fit:cover;transform:scale(1.6)}.brand-name{font-family:var(--serif);font-size:1.85rem;letter-spacing:.04em;line-height:1.1}.brand-sub{display:block;font:500 .625rem/1.8 var(--sans);letter-spacing:.17em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:27px;margin-left:auto}.nav a{font-size:.875rem;line-height:1.5;position:relative;padding-block:10px}.nav a.active:after,.nav a:hover:after{position:absolute;content:'';height:1px;bottom:2px;left:0;right:0;background:var(--navy)}.header-actions{display:flex;align-items:center;gap:23px}.languages{display:flex;gap:10px;font-size:.75rem;white-space:nowrap}.languages a{color:var(--muted);padding:4px 0}.languages a.active{color:var(--ink);border-bottom:1px solid var(--ink)}.header-contact{padding:11px 18px;background:var(--navy);color:white;font-size:.8125rem;white-space:nowrap}.menu-toggle{display:none;border:0;background:none;padding:10px;color:var(--navy)}.hero{background:var(--navy);color:white;min-height:650px;display:grid;grid-template-columns:1fr 1fr}.hero-copy{padding:79px 64px 62px max(56px,calc((100vw - 1360px)/2));display:flex;flex-direction:column;align-items:flex-start}.hero .eyebrow{color:#bccbdb;margin-bottom:31px}.hero h1 span{display:block}.hero h1 .soft{color:#c0cedc}.hero-description{max-width:470px;color:#d1dae5;margin-top:28px;font-size:1rem;line-height:1.8}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:35px}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 23px;font-size:.875rem;line-height:1.4;border:1px solid var(--navy);background:var(--navy);color:white;transition:background .2s,color .2s}.btn:hover{background:#24476d}.btn.light{background:white;border-color:white;color:var(--navy)}.btn.light:hover{background:#e3eaf1}.btn.outline{background:transparent;color:var(--navy);border-color:var(--line)}.text-link{display:inline-flex;gap:24px;align-items:center;font-size:.875rem;padding:7px 0;border-bottom:1px solid currentColor}.hero .text-link{color:#e2e9f1}.arrow{font-size:1.25rem;line-height:1}.hero-foot{margin-top:auto;padding-top:49px;display:flex;align-items:center;gap:12px;color:#bccbdb;font-size:.75rem}.hero-foot:before{content:'';width:30px;height:1px;background:#8096af}.hero-visual{position:relative;min-width:0;overflow:hidden}.hero-visual img{position:absolute;inset:0}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(9,30,51,.45))}.image-caption{position:absolute;bottom:31px;left:34px;right:34px;z-index:1;display:flex;justify-content:space-between;gap:15px;align-items:center;color:white;font-size:.75rem}.image-caption span:last-child{letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}.sector-bar{border-bottom:1px solid var(--line);padding:23px 0}.sector-bar .container{display:flex;justify-content:space-between;align-items:center;gap:25px}.sector-list{display:flex;align-items:center;gap:35px;color:var(--ink);font-size:.75rem;text-transform:uppercase;letter-spacing:.13em}.sector-list span+span:before{content:'·';margin-right:35px;color:#7f8fa1}.sector-bar .muted{font-size:.8125rem}.intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.intro-text h2{max-width:770px}.intro-text p{max-width:650px;margin-top:26px;color:var(--muted)}.intro-text .text-link{margin-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:18px}.sectors-section{background:var(--paper)}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.expertise-card{background:white;min-width:0}.expertise-image{height:270px;position:relative;overflow:hidden}.expertise-image img{transition:transform .6s}.expertise-card:hover img{transform:scale(1.035)}.expertise-card .card-copy{padding:27px 30px 30px}.card-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card-number{font-size:.75rem;color:var(--muted)}.expertise-card h3{font-family:var(--serif);font-size:2.2rem}.expertise-card p{font-size:.9375rem;color:var(--muted);margin:13px 0 23px}.expertise-card .text-link{font-size:.8125rem}.approach{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.approach-image{min-height:500px}.approach-copy{padding:75px;background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:center}.approach-copy .eyebrow{color:#bdcbdc;margin-bottom:25px}.approach-copy p{color:#cbd6e4;margin-top:24px}.approach-copy .text-link{align-self:flex-start;margin-top:27px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:60px}.principle{border-top:1px solid var(--line);padding-top:27px}.principle .eyebrow{color:var(--muted);margin-bottom:21px}.principle h3{font-family:var(--serif);font-size:2rem;margin-bottom:12px}.principle p{color:var(--muted);font-size:.9375rem}.cta{padding:75px 0;background:var(--paper)}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:50px}.cta .eyebrow{margin-bottom:18px}.cta h2{max-width:690px}.cta p{color:var(--muted);margin-top:18px;max-width:630px}.site-footer{background:var(--deep);color:white;padding:62px 0 25px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.site-footer .brand-icon{background:transparent}.footer-description{max-width:330px;font-size:.875rem;color:#bac9da;margin-top:24px}.footer-column .eyebrow{color:#9dafc5;margin-bottom:20px}.footer-column a,.footer-column p{display:block;color:#d6dfeb;font-size:.875rem;margin:8px 0}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;border-top:1px solid #30415b;margin-top:55px;padding-top:22px;color:#9fb1c7;font-size:.75rem}.footer-bottom nav{display:flex;gap:24px}.page-head{padding:74px 0 68px;background:var(--paper)}.page-head .eyebrow{margin-bottom:25px}.page-head h1{max-width:960px}.page-head p{max-width:720px;margin-top:26px;color:var(--muted);font-size:1.0625rem}.page-head .breadcrumb{display:flex;gap:9px;font-size:.8125rem;color:var(--muted);margin-bottom:36px}.editorial-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.editorial-image{height:580px}.editorial-grid .eyebrow{margin-bottom:25px}.editorial-grid p{margin-top:23px;color:var(--muted)}.wide-photo{height:480px;position:relative;margin-bottom:60px}.service{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding:65px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.service:first-child{padding-top:0}.service:last-child{border-bottom:0;padding-bottom:0}.service h2{margin-top:17px}.service p{color:var(--muted)}.service ul{padding:0;list-style:none;margin:26px 0}.service li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:18px}.service li:before{content:'—';color:#73879e}.note{font-size:.8125rem;color:var(--muted);padding:22px 0;border-top:1px solid var(--line);margin-top:35px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.team-art{height:400px;background:var(--navy);position:relative;overflow:hidden;display:grid;place-items:center}.team-art img{width:100%;height:100%;object-fit:cover}.team-art .serif{font-size:6rem;color:#ced9e7}.team-copy{padding:30px 0}.team-copy .eyebrow{color:var(--muted);margin-bottom:13px}.team-copy h2{font-size:2.6rem}.team-copy p{color:var(--muted);margin-top:18px}.team-meta{font-size:.875rem;margin-top:23px;border-top:1px solid var(--line);padding-top:20px}.team-meta strong{display:block;color:var(--ink);font-weight:500}.publications-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:65px}.publication-feature .expertise-image{height:330px}.publication-feature .eyebrow{color:var(--muted);margin:25px 0 16px}.publication-feature h2{font-size:2.65rem}.publication-feature p{color:var(--muted);margin:17px 0 20px}.resource-card{padding:38px;background:var(--navy);color:white;align-self:start}.resource-card .eyebrow{color:#b6c6d9;margin-bottom:35px}.resource-card h2{font-size:2.4rem}.resource-card p{color:#c5d2e0;margin:23px 0 30px}.empty-state{border-top:1px solid var(--line);margin-top:65px;padding-top:35px}.empty-state p{color:var(--muted);max-width:700px;margin-top:15px}.article{max-width:800px;margin:auto}.article>p{font-size:1.0625rem;color:var(--muted)}.article h2{font-size:2.1rem;margin:45px 0 18px}.article ul{padding-left:22px;color:var(--muted)}.article li{padding:6px 0}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:95px}.contact-info h2{font-size:2.65rem;margin-bottom:30px}.contact-item{padding:25px 0;border-top:1px solid var(--line)}.contact-item .eyebrow{color:var(--muted);margin-bottom:10px}.contact-item a{font-size:1.1rem}.contact-item small{display:block;color:var(--muted);font-size:.875rem;margin-top:5px}.contact-form{background:var(--paper);padding:44px}.contact-form h2{font-size:2.4rem;margin-bottom:13px}.contact-form>p{color:var(--muted);font-size:.9375rem;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:7px;font-size:.875rem}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;padding:12px 13px;background:white;border:1px solid #cbd4de;border-radius:0;color:var(--ink);min-height:48px}.field textarea{resize:vertical;min-height:150px}.consent{display:flex;align-items:flex-start;gap:11px;font-size:.8125rem;line-height:1.6;color:var(--muted);margin:23px 0}.consent input{margin-top:5px;accent-color:var(--navy);width:16px;height:16px;flex-shrink:0}.form-status{font-size:.875rem;margin-top:16px;color:var(--blue)}.credits{font-size:.875rem;display:grid;gap:22px}.credits a{text-decoration:underline;text-underline-offset:3px}.pending{font-size:.875rem;color:var(--muted)}.legal-copy{max-width:800px}.legal-copy h2{font-size:2rem;margin:35px 0 16px}.legal-copy p{color:var(--muted)}
@media(min-width:1600px){.hero-copy{padding-right:80px}.hero{min-height:710px}}
@media(max-width:1200px){.container{width:calc(100% - 64px)}.nav{gap:18px}.header-inner{gap:20px}.header-actions{gap:16px}.header-contact{display:none}.hero-copy{padding:62px 35px 45px 32px}.hero{min-height:615px}.hero h1{font-size:4.2rem}.approach-copy{padding:50px}.intro-grid{gap:65px}.expertise-image{height:225px}.contact-layout{gap:55px}}
@media(max-width:900px){.site-header{height:85px}.nav{position:absolute;left:0;right:0;top:85px;display:none;padding:25px 32px 35px;background:white;border-bottom:1px solid var(--line);box-shadow:0 10px 15px #102b5010}.nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.nav a{font-size:1rem;width:100%}.header-actions{margin-left:auto}.menu-toggle{display:block}.hero-copy{padding-right:30px}.hero h1{font-size:3.55rem}.hero-description{font-size:.9375rem}.hero-actions{gap:20px}.sector-bar .muted{display:none}.section{padding:75px 0}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-text h2{max-width:700px}.expertise-grid{gap:16px}.expertise-card .card-copy{padding:23px}.expertise-image{height:210px}.expertise-card h3{font-size:1.9rem}.approach-copy{padding:38px}.principles{gap:30px}.editorial-grid{gap:45px}.editorial-image{height:540px}.service{gap:50px}.team-art{height:320px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.contact-info h2{grid-column:1/-1}.footer-top{gap:35px}.publications-layout{gap:35px}}
@media(max-width:640px){.container{width:calc(100% - 40px)}.site-header{height:80px}.brand-icon{width:34px;height:43px}.brand-name{font-size:1.5rem}.brand-sub{font-size:.5rem}.brand{gap:9px}.header-inner{gap:10px}.header-actions{gap:12px}.languages{gap:8px;font-size:.75rem}.menu-toggle{padding:7px}.nav{top:80px;padding-inline:20px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:47px 25px 36px}.hero .eyebrow{font-size:.675rem;margin-bottom:25px}.hero h1{font-size:clamp(3rem,11.8vw,4.6rem)}.hero-description{margin-top:25px;font-size:1rem}.hero-actions{gap:22px;margin-top:28px}.hero-foot{padding-top:32px}.hero-visual{height:350px}.image-caption{bottom:22px;left:22px;right:22px}.image-caption span:last-child{font-size:.6rem}.sector-bar{padding:18px 0}.sector-list{gap:12px;justify-content:space-between;width:100%;font-size:.625rem;letter-spacing:.11em}.sector-list span+span:before{margin-right:12px}.section{padding:59px 0}.eyebrow{font-size:.7rem}h2{font-size:2.8rem}.intro-grid{gap:25px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:30px}.section-heading h2{font-size:2.8rem}.expertise-grid{grid-template-columns:1fr;gap:27px}.expertise-image{height:265px}.expertise-card .card-copy{padding:27px}.expertise-card h3{font-size:2.2rem}.approach{grid-template-columns:1fr}.approach-image{min-height:320px;height:320px}.approach-copy{padding:49px 25px}.principles{grid-template-columns:1fr;gap:30px;margin-top:38px}.principle{padding-top:24px}.principle .eyebrow{margin-bottom:15px}.cta{padding:53px 0}.cta-inner{flex-direction:column;align-items:flex-start;gap:30px}.cta h2{font-size:2.75rem}.footer-top{grid-template-columns:1fr 1fr;gap:40px 25px}.footer-brand{grid-column:1/-1}.site-footer{padding-top:45px}.footer-bottom{margin-top:35px}.footer-bottom nav{gap:16px;flex-wrap:wrap}.page-head{padding:40px 0 45px}.page-head .breadcrumb{margin-bottom:28px}.page-head h1{font-size:3.25rem}.page-head p{font-size:1rem}.editorial-grid{grid-template-columns:1fr;gap:35px}.editorial-image{height:390px}.wide-photo{height:300px;margin-bottom:40px}.service{grid-template-columns:1fr;gap:25px;padding:40px 0}.service h2{font-size:2.7rem}.team-grid{grid-template-columns:1fr;gap:30px}.team-art{height:360px}.team-copy{padding:25px 0}.publications-layout{grid-template-columns:1fr;gap:40px}.publication-feature .expertise-image{height:265px}.resource-card{padding:32px}.contact-info{grid-template-columns:1fr;gap:0}.contact-form{padding:27px 20px}.form-grid{grid-template-columns:1fr;gap:18px}.contact-form .btn{width:100%}.empty-state{margin-top:40px}.team-meta{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.mobile-contact{display:none}.message-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}#message-preview{font:400 .875rem/1.65 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:white;padding:20px;border:1px solid var(--line);margin:20px 0 0}.contact-form #message-result{margin-top:22px}.contact-form .pending{font-size:.8125rem;margin-bottom:21px}.expertise-card:nth-child(3) .expertise-image img{object-position:75% 65%;transform:scale(1.3)}.expertise-card:nth-child(3):hover .expertise-image img{transform:scale(1.34)}.image-caption{font-size:.8125rem}.image-caption span:last-child{font-size:.75rem}.team-art>img[src$="soto-logo.png"]{object-fit:contain}.footer-column a{overflow-wrap:anywhere}
.demo-photo{position:relative;overflow:hidden;margin:0;background:#ddd}.demo-photo>img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}.demo-consultation>img{object-position:58% center}.demo-plans>img{object-position:45% center}.demo-photo figcaption{position:absolute;z-index:1;bottom:16px;left:18px;right:18px;width:fit-content;max-width:calc(100% - 36px);padding:5px 10px;font-size:.75rem;line-height:1.5;color:white;background:#0a213fe8}.credits .demo-credit{border-top:1px solid var(--line);padding-top:25px}.demo-credit strong{display:block;font-weight:500;margin-bottom:10px}
@media(max-width:1200px){.nav .mobile-contact{display:block}}
@media(max-width:640px){.image-caption{align-items:flex-start;flex-direction:column;gap:4px}.image-caption span:last-child{font-size:.625rem}.message-actions{flex-direction:column}.hero h1{font-size:clamp(2.7rem,10.4vw,4.25rem)}}
