/* Modern minimal type system: a single sans-serif family.
   The handwritten closing note is an intentional accent. */
@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--font-reading:Manrope,Arial,sans-serif;--font-display:Manrope,Arial,sans-serif;--weight-reading:400;--weight-label:550;--weight-heading:600}
body{font-family:var(--font-reading);font-weight:var(--weight-reading);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:var(--font-reading)}
.engineering-page{font-size:15px;line-height:1.7;letter-spacing:0}
.engineering-page h1,.engineering-page h2,.engineering-page h3{text-wrap:balance}
.engineering-page h2,.engineering-page h3,.engineering-page .inner-hero h1,.engineering-page .privacy h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.022em}
.engineering-page h2{font-size:clamp(34px,3.3vw,46px);line-height:1.12}
.engineering-page h3{font-size:28px;line-height:1.18}
.engineering-page h2 em{font-weight:600}
.engineering-page .brand{font-family:var(--font-display);font-size:36px;font-weight:500;letter-spacing:-.03em;line-height:.95}
.engineering-page .brand span{font-family:var(--font-reading);font-size:9px;font-weight:550;letter-spacing:.32em;line-height:1.4;margin-top:8px}
.engineering-page .header-inner nav{font-size:12px;font-weight:550;letter-spacing:.015em}
.engineering-page .eyebrow{font-family:var(--font-reading);font-size:10px;font-weight:650;line-height:1.5;letter-spacing:.16em}
.engineering-page .hero h1{font-family:var(--font-reading);font-size:clamp(38px,4.2vw,60px);font-weight:550;letter-spacing:-.04em;line-height:1.12}
.engineering-page .hero-lead,.engineering-page .section-lead{font-size:17px;line-height:1.65;font-weight:400;letter-spacing:0}
.engineering-page .hero .eyebrow{font-size:10px;font-weight:650;letter-spacing:.15em}
.engineering-page .hero-credentials{font-size:12px;font-weight:450;letter-spacing:.025em}
.engineering-page .consultation h2,.engineering-page .hero .consultation h2{font-family:var(--font-display);font-size:clamp(29px,2.7vw,36px);font-weight:600;line-height:1.12;letter-spacing:-.025em;white-space:normal}
.engineering-page .consultation>p{font-size:12px;line-height:1.65}
.engineering-page label,.engineering-page .form-grid label{font-size:12px;font-weight:550;line-height:1.5;letter-spacing:.005em}
.engineering-page input,.engineering-page select,.engineering-page textarea{font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0}
.engineering-page input::placeholder,.engineering-page textarea::placeholder{font-size:12px;font-weight:400;letter-spacing:0}
.engineering-page .form-note,.engineering-page .catalog-note{font-size:11px;line-height:1.6;letter-spacing:0}
.engineering-page .button,.engineering-page .cta .button{font-family:var(--font-reading);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.015em}
.engineering-page .text-link{font-size:12px;font-weight:550;line-height:1.5;letter-spacing:.01em}
.engineering-page .service-grid h3{font-family:var(--font-display);font-size:clamp(24px,2.1vw,29px);font-weight:600;line-height:1.15;letter-spacing:-.02em;white-space:normal;min-height:2.3em}
.engineering-page .service-grid p{font-size:13px;line-height:1.6;min-height:3.2em}
.engineering-page .detail-grid h3{font-size:29px;font-weight:600;line-height:1.15;letter-spacing:-.025em}
.engineering-page .detail-grid ul{font-size:13px;line-height:1.65}
.engineering-page .training h2,.engineering-page .process h2{font-size:clamp(31px,2.8vw,38px);line-height:1.15;letter-spacing:-.025em}
.engineering-page .nr-code{font-family:var(--font-reading);font-size:17px;font-weight:650;line-height:1.4;letter-spacing:-.015em}
.engineering-page .training-copy>span:last-child{font-size:12px;font-weight:400;line-height:1.5}
.engineering-page .process h3{font-family:var(--font-reading);font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.5}
.engineering-page .process p{font-size:13px;line-height:1.7}
.engineering-page .cta h2{font-family:var(--font-display);font-size:clamp(31px,3.2vw,44px);font-weight:600;line-height:1.1;letter-spacing:-.025em}
.engineering-page .cta p{font-size:15px;line-height:1.65}
.engineering-page .site-footer .brand{font-family:var(--font-display);font-size:34px;font-weight:500;letter-spacing:-.03em}
.engineering-page .site-footer h2{font-family:var(--font-reading);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.025em}
.engineering-page .site-footer p,.engineering-page .site-footer a:not(.brand){font-size:12px;font-weight:400;line-height:1.75}
.engineering-page .site-footer .address,.engineering-page .footer-base{font-size:11px;line-height:1.65;letter-spacing:.01em}
.engineering-page .inner-hero h1{font-size:clamp(44px,4.5vw,64px);line-height:1.05}
.engineering-page .catalog-grid h3{font-size:30px;line-height:1.15}
.portal-home .identity h1{font-family:var(--font-display);font-weight:400;letter-spacing:-.03em}
.portal-home .identity h1 span{font-weight:500}
.portal-home .identity p{font-weight:550;letter-spacing:.14em}
.portal-home .specialty h2{font-family:var(--font-reading);font-weight:450;letter-spacing:-.035em}
.portal-home .entry,.portal-home .registration{font-weight:550;letter-spacing:.02em}
.portal-home .description{font-weight:400;letter-spacing:.005em}
.estate-page h1,.estate-page .brand{font-family:var(--font-display);font-weight:500;letter-spacing:-.025em}
.estate-page .brand span{font-family:var(--font-reading);font-weight:550;letter-spacing:.2em}
@media(min-width:851px) and (max-width:1100px){.engineering-page .brand{font-size:30px}.engineering-page .header-inner nav{gap:20px;font-size:11px}.engineering-page .hero h1{font-size:42px}.engineering-page .hero .consultation h2{font-size:29px}.engineering-page .service-grid h3{font-size:23px}.engineering-page .detail-grid h3{font-size:25px}.engineering-page .training h2{font-size:31px}.engineering-page .cta .button{font-size:11px;padding-inline:15px}}
@media(max-width:850px){.engineering-page .hero h1{font-size:46px}.engineering-page .brand{font-size:33px}.engineering-page .hero-credentials{font-size:11px}.engineering-page .hero .consultation h2{font-size:34px}.engineering-page .header-inner nav{font-size:12px}.engineering-page .service-grid h3{font-size:28px}}
@media(max-width:520px){.engineering-page{font-size:14px}.engineering-page h2{font-size:33px}.engineering-page .brand{font-size:30px}.engineering-page .hero h1{font-size:clamp(28px,8.6vw,43px);letter-spacing:-.04em}.engineering-page .hero-lead,.engineering-page .section-lead{font-size:15px}.engineering-page .hero .eyebrow{font-size:9px;letter-spacing:.12em}.engineering-page .hero-credentials{font-size:10px;letter-spacing:0}.engineering-page .hero .consultation h2{font-size:30px}.engineering-page input,.engineering-page select,.engineering-page textarea{font-size:16px}.engineering-page .service-grid h3{font-size:24px}.engineering-page .service-grid p{font-size:12px}.engineering-page .detail-grid h3{font-size:28px}.engineering-page .training h2,.engineering-page .process h2{font-size:31px}.engineering-page .training-copy>span:last-child{font-size:11px}.engineering-page .cta h2{font-size:34px}.engineering-page .cta p{font-size:14px}.engineering-page .nr-code{font-size:16px}.portal-home .identity p{letter-spacing:.07em}}
@media(max-width:360px){.engineering-page .brand{font-size:27px}.engineering-page .hero-credentials{font-size:9px}.engineering-page .service-grid h3{font-size:22px}.engineering-page .training-copy>span:last-child{font-size:10px}}

/* Sans-serif hierarchy, sized for the wider letterforms. */
.engineering-page h2{font-size:clamp(28px,2.7vw,38px);font-weight:550;line-height:1.22;letter-spacing:-.035em}
.engineering-page h3{font-size:23px;font-weight:600;line-height:1.3;letter-spacing:-.02em}
.engineering-page h2 em{font-style:normal;font-weight:550}
.engineering-page .brand,.engineering-page .site-footer .brand{font-size:28px;font-weight:500;line-height:1.15;letter-spacing:-.04em}
.engineering-page .brand span{font-size:8px;letter-spacing:.28em;font-weight:550}
.engineering-page .consultation h2,.engineering-page .hero .consultation h2{font-size:clamp(24px,2.15vw,29px);font-weight:550;line-height:1.25;letter-spacing:-.035em}
.engineering-page .service-grid h3{font-size:clamp(20px,1.7vw,23px);font-weight:600;line-height:1.3;letter-spacing:-.025em;min-height:2.6em}
.engineering-page .detail-grid h3{font-size:23px;font-weight:600;line-height:1.3;letter-spacing:-.025em}
.engineering-page .training h2,.engineering-page .process h2{font-size:clamp(26px,2.5vw,34px);font-weight:550;line-height:1.25;letter-spacing:-.035em}
.engineering-page .cta h2{font-size:clamp(26px,2.65vw,36px);font-weight:550;line-height:1.22;letter-spacing:-.035em}
.engineering-page .inner-hero h1{font-weight:550;font-size:clamp(36px,4.3vw,58px);line-height:1.15;letter-spacing:-.04em}
.engineering-page .catalog-grid h3{font-size:25px;line-height:1.3}
.engineering-page .privacy h1{font-size:40px;line-height:1.2;font-weight:550}
.portal-home .identity h1{font-size:clamp(36px,min(5.3vw,9dvh),80px);font-weight:450;letter-spacing:-.05em;line-height:1.12}
.portal-home .identity h1 span{font-weight:550}
.estate-page h1{font-weight:550;line-height:1.15;letter-spacing:-.04em}
@media(min-width:851px) and (max-width:1100px){.engineering-page .brand{font-size:25px}.engineering-page .hero .consultation h2{font-size:24px}.engineering-page .detail-grid h3{font-size:21px}.engineering-page .training h2{font-size:27px}.engineering-page .service-grid h3{font-size:20px}}
@media(max-width:850px){.engineering-page .brand{font-size:27px}.engineering-page .hero .consultation h2{font-size:28px}.engineering-page .service-grid h3{font-size:23px}}
@media(max-width:700px){.portal-home .identity h1{font-size:clamp(29px,8vw,54px)}}
@media(max-width:520px){.engineering-page h2{font-size:28px}.engineering-page .brand{font-size:25px}.engineering-page .hero .consultation h2{font-size:25px}.engineering-page .service-grid h3{font-size:20px}.engineering-page .detail-grid h3{font-size:23px}.engineering-page .training h2,.engineering-page .process h2{font-size:26px}.engineering-page .cta h2{font-size:28px}.engineering-page .inner-hero h1{font-size:37px}.engineering-page .privacy h1{font-size:34px}}
@media(max-width:360px){.engineering-page .brand{font-size:23px}.engineering-page .service-grid h3{font-size:18px}.engineering-page .hero .consultation h2{font-size:23px}}

/* The name retains the original portal signature across the site. */
@font-face{font-family:Signature;src:url('/assets/cormorant-garamond.ttf') format('truetype');font-weight:300 700;font-display:swap}
.portal-home .identity h1,.engineering-page .brand,.engineering-page .site-footer .brand{font-family:Signature,Georgia,serif;font-weight:500;letter-spacing:-.03em}
.portal-home .identity h1{font-weight:400}
.portal-home .identity h1 span{font-weight:500}
.engineering-page .brand span{font-family:var(--font-reading)}

/* Signature lockup: profession is aligned beneath the family name. */
.engineering-page .brand,.engineering-page .site-footer .brand{display:inline-flex;align-items:flex-start;gap:.2em;font-family:Signature,Georgia,serif;font-size:34px;line-height:1;letter-spacing:-.03em;font-weight:500}
.engineering-page .brand .brand-first,.engineering-page .brand .brand-family{display:block;font:inherit;letter-spacing:inherit;margin:0;padding:0;text-align:left}
.engineering-page .brand .brand-family{display:flex;flex-direction:column;align-items:center}
.engineering-page .brand .brand-profession{display:block;font-family:Manrope,Arial,sans-serif;font-size:8px;font-weight:550;line-height:1.4;letter-spacing:.18em;margin:1px 0 0;padding:0;text-align:center}
@media(min-width:851px) and (max-width:1100px){.engineering-page .brand{font-size:30px}}
@media(max-width:850px){.engineering-page .brand{font-size:32px}}
@media(max-width:520px){.engineering-page .brand{font-size:30px}}
@media(max-width:360px){.engineering-page .brand{font-size:28px}.engineering-page .brand .brand-profession{font-size:7px}}

/* Slightly stronger signature without changing its typeface or proportions. */
.portal-home .identity h1,.portal-home .identity h1 span,.engineering-page .brand,.engineering-page .site-footer .brand{font-weight:600}

/* Clean, compact identity on the split landing page. */
.portal-home .identity h1{letter-spacing:-.02em;line-height:1.08;text-shadow:none;color:#faf6ef}
.portal-home .identity p{margin:clamp(8px,1.4dvh,14px) 0 0;font-size:clamp(11px,1.05vw,14px);font-weight:500;line-height:1.5;letter-spacing:.035em;text-transform:none;text-shadow:none;color:#f0f2f5}
.portal-home .identity p span{display:inline-block;padding:0 .35em;color:#e2c49b;font-weight:400}
@media(max-width:700px){.portal-home .identity p{font-size:11px;letter-spacing:.015em;margin-top:8px}}
@media(max-width:360px),(max-height:500px){.portal-home .identity p{font-size:10px;margin-top:6px;letter-spacing:.01em}}
