
:root{--paper:#f5f7fa;--ink:#153d64;--muted:#51677b;--line:#ced9e2;--lime:#cce7fa;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #2474ac;outline-offset:6px}.wrap{width:min(var(--max),calc(100% - 100px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:14px;z-index:99}.skip-link:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;min-height:112px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:11px;font-size:28px;font-weight:750;letter-spacing:-1.3px}.brand svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:2}.brand-four{font-weight:400}.brand-dot{color:#387eb0}.header nav{display:flex;align-items:center;gap:33px;font-size:13px;font-weight:600}.nav-cta{padding:13px 17px;border:1px solid #a5b8cb;border-radius:3px}.nav-cta span{margin-left:18px}.header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:38px;align-items:center;padding-block:73px 78px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px;margin:0 0 28px}.status-mark{width:7px;height:7px;background:#387eb0;border-radius:50%}h1{font-size:clamp(48px,5.3vw,76px);line-height:1.03;font-weight:500;letter-spacing:-3.8px;margin:0 0 27px}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400}p{line-height:1.7}.hero-intro{font-size:16px;max-width:420px;color:var(--muted);margin:0 0 31px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.button{background:var(--ink);color:var(--paper);padding:18px 21px;font-size:12px;display:inline-flex;align-items:center;gap:25px;border-radius:3px;transition:background .2s}.button:hover{background:#245681}.text-link{font-size:12px;font-weight:600}.text-link span{margin-left:8px}.hero-note{font-size:10px;letter-spacing:.3px;color:var(--muted);margin:28px 0 0}.drawing{margin:0;background:#e6edf5;border:1px solid #cbd8e5;border-radius:4px;overflow:hidden;transform:rotate(-1deg);box-shadow:0 16px 35px #153d6409}.drawing-top{display:flex;justify-content:space-between;padding:20px 22px 0;font-family:monospace;font-size:8px;letter-spacing:1px}.drawing img{width:100%;height:auto;display:block}.drawing figcaption{padding:0 22px 21px;display:flex;justify-content:space-between;align-items:end;gap:15px}.drawing figcaption>span:first-child{font-family:Georgia,serif;font-size:17px}.drawing figcaption>span:last-child{font-family:monospace;text-align:right;font-size:7px;line-height:1.5;letter-spacing:.6px}.principles{border-block:1px solid var(--line)}.principles-inner{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;align-items:center;gap:20px;min-height:109px}.principles p{font-size:13px;line-height:1.5}.principles strong{font-weight:600}.principles-inner>span{font-size:12px;padding-left:24px;border-left:1px solid var(--line)}.section{padding-block:96px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:46px}h2{font-size:clamp(32px,3.6vw,49px);font-weight:500;letter-spacing:-1.8px;line-height:1.12;margin:0}.section-heading>p{max-width:345px;color:var(--muted);font-size:14px;margin:0 0 3px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services-grid article{position:relative;padding:33px 29px 30px 0}.services-grid article+article{border-left:1px solid var(--line);padding-left:29px}.service-number{font-size:10px;font-family:monospace;letter-spacing:1px}.services-grid svg{display:block;fill:none;stroke:var(--ink);stroke-width:1.2;width:58px;height:58px;margin:24px 0 23px}h3{font-size:19px;font-weight:500;letter-spacing:-.45px;margin:0 0 15px}.services-grid p{font-size:13px;color:var(--muted);margin:0 0 24px;min-height:88px}.service-tag{font-size:9px;letter-spacing:.3px;color:var(--muted)}.scope-note{font-size:11px;max-width:820px;color:var(--muted);margin:22px 0 0}.approach{background:var(--ink);color:var(--paper);padding-block:83px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach .eyebrow{color:var(--lime)}.approach-intro>p:not(.eyebrow){max-width:300px;font-size:14px;color:#c3d3e3;margin-top:25px}.detail-motif{margin-top:48px;display:flex;align-items:center;gap:14px;color:var(--lime);font-family:monospace;font-size:8px;letter-spacing:1px}.detail-motif div{width:75px;height:1px;background:var(--lime);position:relative}.detail-motif div:after{content:'+';position:absolute;right:-2px;top:-5px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:26px;padding:26px 0;border-top:1px solid #ffffff2b}.steps li:first-child{padding-top:0;border-top:0}.steps li:last-child{padding-bottom:0}.steps li>span{font-family:monospace;font-size:10px;color:var(--lime);padding-top:4px}.steps h3{font-size:20px;margin-bottom:9px}.steps p{font-size:13px;margin:0;color:#c3d3e3}.faq-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.faqs details{border-bottom:1px solid var(--line)}.faqs details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:14px;padding:23px 28px 23px 0;list-style:none;position:relative;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:20px;top:19px}details[open] summary:after{content:'−'}.faqs p{font-size:13px;color:var(--muted);margin:0 24px 23px 0}.contact{background:var(--lime);padding:54px;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;border-radius:4px}.contact h2{font-size:clamp(30px,3.3vw,45px)}.contact p:not(.eyebrow){font-size:13px}.contact .eyebrow{margin-bottom:21px}.contact-details{align-self:center;border-left:1px solid #153d6433;padding-left:40px;overflow-wrap:anywhere}.contact-label{letter-spacing:2px;font-size:9px!important;font-weight:700}.contact-placeholder{font-size:21px!important;letter-spacing:-.5px;margin:10px 0}.contact-placeholder.small{font-size:15px!important}.placeholder-note{font-size:11px!important;color:#405f79;margin-top:22px}.footer{display:flex;align-items:center;flex-wrap:wrap;gap:30px;padding-block:40px}.footer-brand{font-size:21px;font-weight:700;letter-spacing:-1px}.footer p{font-size:10px;color:var(--muted);margin:0 auto 0 0}.footer>a:not(.footer-brand){font-size:10px}.footer small{font-size:9px;color:var(--muted)}
@media(min-width:1500px){.hero{padding-block:90px}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.hero{gap:26px}h1{font-size:56px}.hero-actions{gap:18px}.hero-intro{font-size:15px}.approach-grid{gap:60px}.contact{padding:40px}.contact-details{padding-left:25px}.principles-inner{gap:10px}.principles-inner>span{padding-left:14px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:86px;gap:15px}.brand{font-size:23px;gap:7px}.brand svg{width:28px}.header nav{gap:16px;font-size:11px}.header nav>a:not(.nav-cta){display:none}.nav-cta{padding:11px}.nav-cta span{margin-left:8px}.hero{grid-template-columns:1fr;padding-block:45px 40px;gap:38px}h1{font-size:clamp(48px,10vw,69px);letter-spacing:-2.7px}.hero-intro{max-width:470px}.hero-note{margin-top:22px}.drawing{max-width:530px;width:100%;justify-self:center;transform:none}.drawing img{max-height:470px;object-fit:contain}.principles-inner{grid-template-columns:1fr 1fr;gap:0;min-height:145px;padding-block:13px}.principles-inner>span{font-size:10px}.principles-inner>span:nth-child(3){border:0;padding-left:0}.principles p{font-size:11px}.section{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.eyebrow{font-size:9px;margin-bottom:20px}.services-grid{grid-template-columns:1fr}.services-grid article,.services-grid article+article{padding:27px 0;border-left:0}.services-grid article+article{border-top:1px solid var(--line)}.services-grid svg{float:right;margin:0 10px 15px 20px;width:49px;height:49px}.services-grid h3{margin-top:22px}.services-grid p{min-height:0;max-width:490px;margin-bottom:18px}.approach{padding-block:58px}.approach-grid{grid-template-columns:1fr;gap:40px}.detail-motif{margin-top:28px}.approach-intro>p:not(.eyebrow){max-width:440px}.faq-section{grid-template-columns:1fr;gap:29px}.contact{grid-template-columns:1fr;padding:31px 24px;gap:22px}.contact-details{border-left:0;border-top:1px solid #153d6433;padding:18px 0 0}.contact h2{letter-spacing:-1px}.desktop-break{display:none}.footer{gap:18px;padding-block:30px}.footer p{width:calc(100% - 140px);font-size:9px}.footer small{margin-left:auto}.hero-actions .button{font-size:11px}.hero-actions{gap:20px}summary{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.drawing-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:26px}.sample{grid-column:span 2;margin:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#edf2f7}.sample:first-child,.sample:nth-child(2){grid-column:span 3}.sample img{width:100%;height:auto;display:block}.sample>a{display:block}.sample>a:hover{background:#dce7f0}.sample figcaption{padding:24px;background:var(--paper);border-top:1px solid var(--line)}.sample-code{font:9px monospace;letter-spacing:1px;color:var(--muted)}.sample h3{margin:12px 0 9px}.sample p{font-size:12px;color:var(--muted);margin:0 0 16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.drawing-gallery{grid-template-columns:1fr;gap:24px}.sample,.sample:first-child,.sample:nth-child(2){grid-column:auto}.sample figcaption{padding:22px}}

.capacity-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line)}.capacity-intro{font-size:15px;color:var(--muted);max-width:410px;margin:25px 0}.capacity-points article{padding:23px 0;border-bottom:1px solid var(--line)}.capacity-points article:first-child{padding-top:0}.capacity-points h3{margin-bottom:9px}.capacity-points p{font-size:13px;color:var(--muted);margin:0}@media(max-width:760px){.capacity-section{grid-template-columns:1fr;gap:35px}}

/* Keep gallery captions flush at the bottom when text lengths differ. */
.sample{display:flex;flex-direction:column;background:var(--paper)}.sample>img{flex:none}.sample figcaption{flex:1}

