@import url('assets/fonts.css');
:root{--ink:#234655;--muted:#647178;--green:#a5d7de;--line:#dce3e4;--paper:#fff;--soft:#f4f7f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #348190;outline-offset:6px}::selection{background:var(--green);color:var(--ink)}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e8eded}.nav{height:98px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand-name{font:800 43px/1 'Manrope',sans-serif;letter-spacing:-3px}.brand-dot{color:#4599a8}.brand-sub{font-size:11px;letter-spacing:2.2px;border-left:1px solid #bdc8cb;padding-left:15px;font-weight:650}.nav nav{display:flex;align-items:center;gap:35px;font-size:14px;font-weight:550}.nav nav a:hover{color:#347d8b}.nav-contact{border:1px solid #cbd4d7;border-radius:4px;padding:12px 19px}.nav-contact span{margin-left:17px}.menu-toggle{display:none}.hero{background:var(--ink);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;padding-top:78px;padding-bottom:67px;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:650;display:flex;align-items:center;gap:12px}.hero .eyebrow{color:#c3d0d3}.short-line{height:1px;width:27px;background:var(--green)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}h1{font-size:clamp(48px,4.9vw,70px);line-height:1.13;letter-spacing:-3px;font-weight:500;margin:26px 0}em{font-style:normal;color:var(--green)}.hero-copy>p{font-size:17px;line-height:1.85;color:#bfced2;max-width:480px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 23px;border-radius:3px;font-size:14px;font-weight:650;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:var(--ink)}.primary:hover{background:#c3e8ec}.text-link{font-size:14px;font-weight:600;display:inline-flex;gap:18px;align-items:center}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-footnote{border-top:1px solid #3b535b;padding-top:22px;margin-top:39px;color:#b8c8cd;font-size:12px;letter-spacing:.2px}.hero-visual{position:relative;padding-bottom:25px}.photo-frame{height:440px;position:relative;overflow:hidden;border-radius:3px}.photo-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#23465577,transparent 55%)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:65% center;filter:saturate(.55)}.photo-label{position:absolute;bottom:27px;left:28px;z-index:1;letter-spacing:2px;font-size:10px}.experience-badge{position:absolute;top:-28px;right:-23px;background:var(--green);color:var(--ink);width:147px;padding:19px 24px 23px;border-radius:2px;box-shadow:0 8px 24px #00151e15}.experience-badge strong{font-family:'Manrope',sans-serif;font-size:49px;line-height:1.2;font-weight:550;letter-spacing:-3px}.experience-badge strong span{font-size:29px;vertical-align:top}.experience-badge div{font-size:12px;line-height:1.55;margin-top:6px}.visual-note{display:flex;justify-content:space-between;font-size:10px;color:#b3c5ca;margin-top:18px;letter-spacing:.2px}.clients{background:#f2f6f7;padding:29px 0 37px;border-bottom:1px solid var(--line)}.clients p{font-size:10px;letter-spacing:2px;color:#6a777c;margin-bottom:22px}.client-names{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#52676e}.client-names>span{font-family:'Manrope',sans-serif;font-size:18px;font-weight:800;letter-spacing:-.6px}.client-names .light{font-weight:400}.client-names .life{font-size:17px;letter-spacing:-.7px}.client-names .schreder{font-size:23px}.section{padding:98px 0}.section-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:110px;align-items:end;margin-bottom:45px}.section .eyebrow,.about .eyebrow{color:#367e8b;margin-bottom:18px}h2{font-size:40px;font-weight:500;letter-spacing:-1.8px;line-height:1.25}.section-intro>p{color:var(--muted);font-size:16px;max-width:430px}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:4px;overflow:hidden}.service{padding:33px 30px 25px;background:#fff;transition:background .2s}.service+.service{border-left:1px solid var(--line)}.service:hover{background:var(--soft)}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}.service-icon{font-size:29px;line-height:1;color:#367e8b}.number{font-size:12px;color:#89999f}.service h3{font-size:22px;letter-spacing:-.7px;font-weight:600;margin-bottom:17px}.service p{color:var(--muted);font-size:15px;line-height:1.85}.service-bottom{margin-top:28px;border-top:1px solid var(--line);padding-top:19px;font-size:12px;font-weight:600}.about{background:#eff5f6;padding:90px 0}.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:135px}.about h2{margin-bottom:24px}.about p{font-size:15px;color:#5b6e73;margin-bottom:17px}.about .text-link{margin-top:12px}.principles>div{position:relative;padding:24px 0 18px 45px;border-top:1px solid #cbdde1}.principles>div:last-child{border-bottom:1px solid #cbdde1}.principles span{position:absolute;left:0;top:27px;color:#367e8b;font-size:12px}.principles h3{font-size:18px;font-weight:600;letter-spacing:-.4px;margin-bottom:9px}.principles p{font-size:14px;line-height:1.75}.project-list{border-top:1px solid var(--line)}.project-list article{display:grid;grid-template-columns:40px 1fr 1.3fr 180px;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.project-index{color:#8c9b9f;font-size:12px}.project-list h3{font-size:20px;font-weight:600;letter-spacing:-.4px}.project-list p{font-size:14px;color:var(--muted)}.tag{font-size:11px;border:1px solid #d5e2e6;border-radius:3px;padding:5px 10px;justify-self:end;white-space:nowrap;background:#f5f9fa}.contact{background:var(--ink);color:#fff;padding:83px 0 87px}.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:130px}.contact .eyebrow{color:#a5d7de;margin-bottom:23px}.contact h2{font-size:46px}.contact p{color:#bdcdd1;max-width:470px;margin:22px 0 29px}.contact-details{padding-top:8px}.contact-details>div{border-bottom:1px solid #3e555d;padding:20px 0}.contact-details>div:first-child{padding-top:0}.contact-details span{display:block;font-size:10px;color:#a9bfc5;letter-spacing:1.5px;margin-bottom:9px}.contact-details a{font-size:21px;letter-spacing:-.3px}.contact-details a:hover{color:var(--green)}address{font-size:16px;font-style:normal;color:#d0dde0}.footer-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner .brand-name{font-size:33px}.footer-inner .brand-sub{font-size:9px;letter-spacing:1.4px}.footer-inner p,.footer-inner>span{font-size:11px;color:#677a81}.skip{position:fixed;left:15px;top:-100px;background:#fff;color:var(--ink);padding:10px;z-index:30}.skip:focus{top:10px}
@media(min-width:1600px){.hero-grid{padding-top:95px;padding-bottom:85px}.photo-frame{height:475px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-grid{gap:40px}.hero-actions{gap:18px;flex-wrap:wrap}h1{font-size:57px}.nav nav{gap:22px}.section-intro{gap:60px}.about-grid{gap:65px}.contact-grid{gap:70px}.client-names{flex-wrap:wrap;justify-content:center;gap:20px 36px}.client-names>span{font-size:16px}.project-list article{grid-template-columns:25px 1fr 1.3fr 160px;gap:12px}.footer-inner p{display:none}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{height:77px}.brand-name{font-size:36px}.brand-sub{font-size:9px;letter-spacing:1.5px}.menu-toggle{display:flex;gap:15px;align-items:center;background:none;border:1px solid #d7e0e0;padding:7px 12px;border-radius:3px;font-size:13px;color:var(--ink)}.nav nav{display:none;position:absolute;left:0;right:0;top:77px;background:white;padding:25px 20px;box-shadow:0 15px 20px #23465510}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.nav-contact{align-self:flex-start}.hero-grid{grid-template-columns:1fr;padding-top:45px;padding-bottom:32px;gap:44px}.hero .eyebrow{font-size:10px;letter-spacing:1.2px}h1{font-size:clamp(43px,9.3vw,63px);letter-spacing:-2px;margin-top:22px}.hero-copy>p{font-size:16px}.hero-footnote{margin-top:29px;font-size:11px}.hero-actions{gap:23px;margin-top:26px}.button{padding:14px 18px}.photo-frame{height:310px}.experience-badge{top:-16px;right:13px;width:133px;padding:17px 21px}.experience-badge strong{font-size:43px}.photo-label{font-size:9px;left:20px}.hero-visual{padding-bottom:0}.visual-note{font-size:9px}.clients{padding:25px 0}.clients p{text-align:center}.client-names{gap:19px 27px}.client-names>span{font-size:15px}.client-names .schreder{font-size:21px}.section{padding:60px 0}.section-intro{grid-template-columns:1fr;gap:21px;margin-bottom:30px}h2{font-size:33px;letter-spacing:-1.4px}.services{grid-template-columns:1fr}.service{padding:27px}.service+.service{border-left:0;border-top:1px solid var(--line)}.service-top{margin-bottom:23px}.service-bottom{margin-top:22px}.about{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:40px}.project-list article{grid-template-columns:25px 1fr;gap:8px 12px;padding:23px 0}.project-list p,.project-list .tag{grid-column:2}.project-list h3{font-size:20px}.tag{justify-self:start;margin-top:5px}.contact{padding:60px 0}.contact-grid{grid-template-columns:1fr;gap:37px}.contact h2{font-size:38px}.contact-details a{font-size:20px}.footer-inner{padding:28px 0;flex-wrap:wrap;gap:22px}.footer-inner>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Readable supporting text across all viewports. */
.eyebrow,.hero .eyebrow,.clients p,.photo-label,.visual-note,.hero-footnote,.contact-details span,.footer-inner p,.footer-inner>span{font-size:12px}
.service p,.about p,.section-intro>p{font-size:16px}
.service-bottom,.principles p,.project-list p,.tag,.text-link,.button{font-size:14px}
/* Original supplied logo: preserve the artwork, frame its surrounding whitespace. */
.brand-logo{display:block;width:270px;height:66px;object-fit:cover;object-position:50% 53%}
.footer-inner .brand-logo{width:240px;height:59px}
.experience-badge .since{display:block;margin-top:9px;padding-top:8px;border-top:1px solid #23465533;font-size:12px;font-weight:600;letter-spacing:.3px}
@media(max-width:1100px) and (min-width:761px){.brand-logo{width:225px;height:55px}.nav nav{gap:16px;font-size:13px}.nav-contact{padding:11px 13px}}
@media(max-width:760px){.brand-logo{width:205px;height:50px}.footer-inner .brand-logo{width:225px;height:55px}.experience-badge{width:145px}}
@media(max-width:360px){.brand-logo{width:180px;height:44px}}
