*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#faf9f6;color:#202b2f;font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;border-bottom:1px solid #e1e4e2;gap:24px}.brand img{display:block;width:238px;height:auto}nav,.head-actions{display:flex;align-items:center;gap:32px}nav a{font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:#d93026}.head-actions{gap:20px}#language{border:0;background:none;font-size:14px;font-weight:bold;cursor:pointer;padding:10px}.button{display:inline-flex;align-items:center;justify-content:center;background:#d93026;color:#fff;padding:16px 26px;font-size:14px;font-weight:bold;transition:background .2s}.button:hover{background:#ac231c}.button.small{padding:12px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:75px 9% 38px 10%}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 24px;color:#a32c25}h1{font-size:clamp(38px,4vw,64px);line-height:1.08;letter-spacing:-2.5px;margin:0 0 28px;font-weight:600}h1 em{font-style:normal;color:#849196}p{margin:0 0 22px;color:#606b6e}.intro{max-width:480px;font-size:17px;line-height:1.75}.hero-reg{display:flex;flex-direction:column;margin-top:40px;border-top:1px solid #d8dcd9;padding-top:18px;gap:4px;font-size:12px}.hero-reg strong{font-size:15px}.hero-reg span{color:#68767a}.hero-image{margin:0;position:relative;min-height:620px;background:#91a3aa;overflow:hidden}.hero-image>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:49% center}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,28,35,.85),transparent 55%)}figcaption{position:absolute;bottom:40px;left:40px;z-index:1;color:white;display:flex;flex-direction:column;gap:4px}figcaption span{font-size:12px}figcaption span:first-child{font-size:10px;letter-spacing:2px}figcaption strong{font-size:24px;font-weight:500}.image-index{position:absolute;right:30px;bottom:43px;color:white;z-index:1;font-size:12px}.credentials{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;padding:32px 5%;background:#e9edeb;gap:35px}.credentials div{display:flex;flex-direction:column;border-right:1px solid #cbd2ce}.credentials div:last-child{border:0}.credentials strong{font-size:24px;font-weight:500}.credentials span{font-size:12px;color:#637071}.section{padding:95px 6%;scroll-margin-top:15px}h2{font-size:clamp(32px,3.5vw,48px);line-height:1.15;letter-spacing:-1.8px;font-weight:500;margin:0 0 26px}h3{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.5px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.large{font-size:25px;line-height:1.45;color:#28373d;max-width:500px}.text-link{display:inline-block;font-size:14px;font-weight:bold;border-bottom:1px solid #d93026;padding-bottom:7px}.services{background:#233338;color:white}.services p{color:#bac3c4}.services .eyebrow{color:#f07b70}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:38px}.section-head>p{max-width:350px;margin-bottom:30px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}.service-grid article{border-top:1px solid #546163;padding:26px 0 18px}.number{color:#eb6659;font-size:12px}.service-grid h3{margin:18px 0}.service-grid p{font-size:15px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-photo{height:270px;position:relative;overflow:hidden}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.035)}.project-photo span{position:absolute;bottom:0;left:0;background:#faf9f6;padding:6px 15px;font-size:12px}.project .eyebrow{margin:24px 0 12px;font-size:10px;color:#6c797d}.project h3{margin:0 0 14px}.project>p:last-child{font-size:15px}.approach{border-top:1px solid #dce1dc;display:grid;grid-template-columns:1fr 1fr;gap:65px;background:#f0f1ec}.steps>div{position:relative;padding:0 0 22px 54px;border-bottom:1px solid #d0d7d2;margin-bottom:25px}.steps span{position:absolute;left:0;top:3px;font-size:12px;color:#ba3329}.steps h3{margin:0 0 10px}.steps p{font-size:15px;margin:0}.contact{background:#d93026;color:white;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact .eyebrow,.contact p{color:#ffe1dd}.contact h2{font-size:60px}.button.light{background:white;color:#b6241c;margin-top:12px}.button.light:hover{background:#ffe4df}.contact-details{padding-top:20px}.contact-details>div{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid #ee746a}.contact-details span{display:block;font-size:10px;letter-spacing:2px;margin-bottom:9px}.contact-details a{font-size:20px}.contact-details address{font-style:normal;font-size:16px}.contact-details .social{font-size:14px}footer{padding:32px 6%;display:flex;justify-content:space-between;gap:20px;background:#fff;font-size:11px;color:#6b787c}footer strong{letter-spacing:1px;color:#27373c}a:focus-visible,button:focus-visible{outline:3px solid #006fa1;outline-offset:6px}@media(min-width:1550px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:110px}}@media(max-width:1000px){nav{gap:18px}.brand img{width:200px}.hero-copy{padding:50px 8%}h1{font-size:44px}.hero-image{min-height:600px}.section{padding:70px 5%}.about,.approach,.contact{gap:40px}.project-photo{height:220px}.credentials{gap:18px}.credentials strong{font-size:20px}}@media(max-width:700px){header{height:80px;padding:0 5%;gap:10px}.brand img{width:165px}nav{display:none}.head-actions{gap:8px}.button.small{padding:10px 13px;font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6% 35px}h1{font-size:46px;letter-spacing:-2px}.hero-image{min-height:380px}.hero-reg{margin-top:28px}.hero-image>img{object-position:center 45%}figcaption{bottom:26px;left:25px}.credentials{grid-template-columns:1fr 1fr;gap:25px;padding:28px 6%}.credentials div:nth-child(2){border:0}.credentials span{font-size:11px}.section{padding:60px 6%}.about,.approach,.contact{grid-template-columns:1fr;gap:18px}.section-head{display:block;margin-bottom:25px}.section-head>p{max-width:none}.service-grid{grid-template-columns:1fr 1fr;gap:0 24px}.service-grid h3{font-size:20px}.project-grid{grid-template-columns:1fr;gap:30px}.project-photo{height:300px}.project>p:last-child{max-width:520px}.contact h2{font-size:48px}.contact-details a{font-size:18px}footer{flex-direction:column;gap:8px}.eyebrow{font-size:10px}h2{letter-spacing:-1px}.image-index{right:25px;bottom:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.project{cursor:pointer}.project-more{background:none;border:0;border-bottom:1px solid #d93026;color:#27373c;cursor:pointer;padding:0 0 7px;font-family:inherit;min-height:44px}.dialog-open{overflow:hidden}#project-dialog{border:0;padding:0;width:min(1000px,92vw);max-height:90dvh;background:#faf9f6;color:#202b2f;box-shadow:0 20px 80px #0005}#project-dialog::backdrop{background:#132329bd}.dialog-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 28px;background:#233338;color:white;position:sticky;top:0;z-index:2}.dialog-bar>span{font-size:12px;letter-spacing:2px}.dialog-bar button{background:none;border:1px solid #899698;color:white;width:44px;height:44px;font-size:30px;cursor:pointer}.detail-heading{padding:38px 40px 25px}.detail-heading h2{margin-bottom:18px}.detail-heading .large{max-width:none;font-size:21px}.detail-client{display:flex;flex-direction:column;gap:5px;font-size:15px}.detail-client span{font-size:11px;letter-spacing:2px;color:#68767a}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 40px}.detail-gallery figure{margin:0}.detail-gallery img{width:100%;height:260px;object-fit:cover}.detail-gallery figcaption{position:static;color:#68767a;font-size:13px;padding:8px 0}.detail-body{padding:20px 40px 40px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.detail-body h3{margin:12px 0 16px}.detail-body ul{padding-left:20px;color:#606b6e}.detail-body li{padding-bottom:8px}.detail-status{border-left:3px solid #d93026;padding-left:15px;font-size:14px}@media(max-width:700px){#project-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0}.dialog-bar{padding:10px 20px}.detail-heading{padding:28px 22px 22px}.detail-gallery{grid-template-columns:1fr;padding:0 22px;gap:16px}.detail-gallery img{height:auto;max-height:320px;object-fit:cover}.detail-body{grid-template-columns:1fr;padding:20px 22px 35px;gap:0}.detail-heading .large{font-size:18px}}
.portfolio{background:#eef1ed;border-top:1px solid #dce1dc}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.portfolio-card img{width:100%;height:240px;object-fit:cover}.portfolio-card .eyebrow{margin:20px 0 12px;font-size:10px;letter-spacing:1px}.portfolio-card h3{margin:0 0 14px}.portfolio-card>p:last-child{font-size:15px;margin:0}.experience-heading{margin-top:60px}.experience-heading h3{font-size:28px}.experience-list{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.experience-list article{border-top:1px solid #c9d2cc;padding:22px 0}.experience-list h3{font-size:19px;margin:0 0 12px}.experience-list p{font-size:15px;margin:0}@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.portfolio-grid,.experience-list{grid-template-columns:1fr}.portfolio-card img{height:260px}.portfolio-grid{gap:36px}.portfolio .section-head h2{max-width:500px}}

.credential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.credential-grid article{border-top:3px solid #d93026;padding-top:12px}.credential-grid p{font-size:15px}.registration{background:#fff}.registration h2{max-width:850px}.credentials-link{display:table;margin-top:20px}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.project-filters[hidden],.portfolio-card[hidden]{display:none}.project-filters button{min-height:44px;border:1px solid #73817a;padding:10px 16px;background:transparent;color:#263c46;cursor:pointer;font-size:14px}.project-filters button[aria-pressed="true"]{background:#263c46;color:#fff;border-color:#263c46}.portfolio-card p{overflow-wrap:break-word}@media(max-width:700px){.credential-grid{grid-template-columns:1fr;gap:18px}.project-filters{gap:8px}.project-filters button{font-size:13px;padding:10px 12px}}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project{min-width:0}.project h3,.project p{overflow-wrap:break-word}@media(max-width:1000px) and (min-width:701px){.project-grid{gap:22px}.project h3{font-size:20px}}@media(max-width:700px){.project-grid{grid-template-columns:1fr}}

.profile-download{background:#e9edeb}.profile-download>p{max-width:700px}.download-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 18px}.download-meta{font-size:13px;margin-bottom:0}

/* Certificate classifications: full details with mobile wrapping. */
.registration-details{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:start;margin-top:38px}.registration-card{padding:28px;background:#fff;border:1px solid #d5ded9;min-width:0}.registration-card h3{margin:0 0 8px}.registration-number{font-weight:700;color:#263c46;overflow-wrap:anywhere}.registration-validity{font-size:13px;line-height:1.65}.registration-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;margin:24px 0;table-layout:fixed}.registration-table caption{text-align:left;font-weight:700;color:#263c46;padding:0 0 10px}.registration-table th,.registration-table td{padding:10px 8px;border-bottom:1px solid #dce3df;vertical-align:top;overflow-wrap:anywhere}.registration-table thead th{background:#edf1ee;font-size:12px}.registration-table th:first-child{width:72px}.registration-table tbody th{color:#a32c25}.pukonsa-table td{line-height:2}.subhead-code{display:inline-block;max-width:100%;overflow-wrap:anywhere}.supplementary-credentials{margin-top:32px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.supplementary-credentials article{min-width:0}@media(max-width:800px){.registration-details{grid-template-columns:1fr}.registration-card{padding:20px}.supplementary-credentials{grid-template-columns:1fr!important}.registration-table{font-size:13px}.registration-table th:first-child{width:58px}}
