@charset "UTF-8";
:root{--ink:#101f36;--muted:#536071;--teal:#007d82;--teal-dark:#006b70;--pale:#eff6f7;--line:#e0e7eb;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;--width:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{display:block;max-width:100%}img{height:auto}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.13}h1{font-size:clamp(42px,4.5vw,66px);letter-spacing:-2.2px}h2{font-size:clamp(30px,3.1vw,43px);letter-spacing:-1.4px}h3{font-size:23px;letter-spacing:-.5px}p{color:var(--muted)}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #00a9ad;outline-offset:5px}::selection{background:#c1eceb;color:var(--ink)}[hidden]{display:none!important}.container{max-width:var(--width);margin-inline:auto;padding-inline:48px}.narrow{max-width:880px}.section{padding-block:88px}.section-topless{padding-top:0}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;font-size:11px;font-weight:600;color:var(--teal);margin-bottom:19px;line-height:1.6}.text-teal{color:var(--teal)}.icon{width:27px;height:27px;flex-shrink:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--teal);color:#fff;padding:14px 21px;border:1px solid transparent;border-radius:3px;font-weight:600;font-size:13px;line-height:1.4;min-height:48px;transition:background .2s,transform .2s}.button .icon{width:21px;height:21px}.button:hover{background:var(--teal-dark);transform:translateY(-1px)}.button-small{font-size:12px;padding:12px 18px;min-height:43px}.button-bright{background:#008e94}.button-secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button-secondary:hover{background:var(--pale)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;font-weight:600;border-bottom:1px solid #77b6b9;padding-bottom:4px;line-height:1.5}.text-link .icon{width:22px;height:22px;color:var(--teal)}.text-link:hover{color:var(--teal)}.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}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.mobile-only{display:none}
.site-header{height:84px;border-bottom:1px solid #f0f2f3;background:#fff;position:relative;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0;color:var(--ink)}.brand svg{width:30px;height:34px}.brand span{font-size:24px;font-weight:600;letter-spacing:6px;line-height:1}.main-nav{display:flex;align-items:center;gap:33px;font-size:13px}.main-nav>a:not(.button){padding-block:10px;position:relative}.main-nav>a[aria-current=page]:not(.button):after{content:'';position:absolute;bottom:3px;height:2px;background:var(--teal);left:0;right:0}.main-nav>a:hover{color:var(--teal)}.main-nav .nav-cta{margin-left:28px}.main-nav .nav-cta:hover{color:#fff}.menu-toggle{display:none;background:transparent;border:0;padding:12px}
.hero{overflow:hidden;background:linear-gradient(110deg,#fff 30%,#fafbfa 65%,#f2f4f3)}.hero-grid{display:grid;grid-template-columns:55% 45%;min-height:620px;position:relative}.hero-copy{align-self:center;padding:65px 26px 70px 0;position:relative;z-index:2}.hero h1{font-size:clamp(43px,4.4vw,63px);line-height:1.09;letter-spacing:-2.4px;margin-bottom:24px}.hero h1>span{display:block}.hero-lead{font-size:19px;line-height:1.65;max-width:495px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:31px;flex-wrap:wrap}.hero-portrait{position:relative;margin-right:calc((min(100vw,1280px) - 100vw)/2 - 48px);background:#45474c;overflow:hidden;min-height:620px}.hero-portrait>img{height:100%;width:100%;object-fit:cover;object-position:50% 35%;position:absolute;inset:0}.portrait-caption{position:absolute;right:28px;top:41%;padding-left:15px;border-left:1px solid #74c0c5;color:#fff;font-size:11px;line-height:1.5;max-width:160px;text-shadow:0 1px 3px #0009}.portrait-caption strong{display:block;font-size:13px;margin-bottom:5px}.portrait-caption span{display:block}.portrait-line{position:absolute;width:76px;height:76px;border-top:1px solid #8ec3c588;border-left:1px solid #8ec3c588;pointer-events:none}.line-one{top:42px;left:28px}.line-two{top:170px;right:70px;width:45px;height:45px;border-left:0;border-right:1px solid #8ec3c588}.dot-pattern{position:absolute;width:85px;height:60px;right:42px;bottom:24px;background-image:radial-gradient(#78b9bc 1.4px,transparent 1.4px);background-size:22px 22px}
.section-heading{margin-bottom:35px}.split-heading{display:flex;align-items:center;justify-content:space-between;gap:60px}.section-aside{max-width:405px;font-size:14px;padding-left:65px;position:relative}.section-aside:before{content:'';position:absolute;width:45px;height:1px;left:0;top:15px;background:var(--teal)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{border:1px solid var(--line);border-radius:3px;padding:27px 24px 22px;display:flex;flex-direction:column;min-width:0;transition:border-color .2s,box-shadow .2s,transform .2s;background:#fff}.service-card:hover{border-color:#83b6b9;transform:translateY(-4px);box-shadow:0 10px 28px #132c3c09}.service-icon{width:60px;height:60px;display:grid;place-items:center;border:1px solid #dfebed;border-radius:10px;background:linear-gradient(135deg,#f7fbfb,#eaf6f6);color:var(--teal);margin-bottom:25px}.service-icon .icon{width:34px;height:34px}.service-card h3{font-size:23px;line-height:1.16;margin-bottom:13px}.service-card p{font-size:14px;line-height:1.7;margin-bottom:28px}.card-arrow{color:var(--teal);margin-top:auto}.card-arrow .icon{width:30px}.projects-section{background:linear-gradient(120deg,#f1f6f8,#f5f7f7)}.heading-with-link{display:flex;justify-content:space-between;align-items:center;gap:30px}.heading-with-link>.text-link{flex-shrink:0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-card{min-width:0;background:#fff;transition:box-shadow .2s,transform .2s;overflow:hidden;border:1px solid #e6ecef;border-radius:3px}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #1634400b}.project-picture{display:block;position:relative;overflow:hidden;aspect-ratio:1.49;background:#edf2f3}.project-picture img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-card:hover img{transform:scale(1.025)}.project-category{position:absolute;left:15px;bottom:14px;background:#ffffffed;font-size:10px;letter-spacing:.2px;padding:4px 9px;border-radius:2px;color:#35485c}.project-copy{padding:23px 22px 25px}.project-copy h3{font-size:22px;margin-bottom:7px}.project-copy p{font-size:13px;margin-bottom:20px;min-height:22px}.project-copy .text-link{border:0;font-size:11px;color:var(--teal)}.image-note{font-size:11px;color:#677583;margin-top:18px;line-height:1.6}.process-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.step-number{display:flex;align-items:center;gap:20px;color:var(--teal);font-size:25px;margin-bottom:23px}.step-number:after{content:'';height:1px;flex:1;background:#82b7ba}.step-content{display:flex;align-items:flex-start;gap:15px}.step-content>.icon{margin-top:2px;width:31px;height:31px}.step-content h3{font-size:19px;margin-bottom:12px}.step-content p{font-size:13px;line-height:1.8}.contact-band{background:#0d2637;color:#fff;position:relative;overflow:hidden}.contact-band-inner{min-height:290px;display:flex;align-items:center;position:relative;padding-block:45px}.contact-band-inner>div{z-index:1;position:relative}.contact-band h2{font-size:37px;letter-spacing:-.9px;margin-bottom:15px}.contact-band p{color:#d3dfe5;font-size:14px;margin-bottom:22px}.accent-rule{display:block;width:43px;height:2px;background:#00a8ae;margin-bottom:17px}.contact-pattern{position:absolute;right:-20px;bottom:-35px;height:360px;width:470px;fill:none;stroke:#157486;stroke-width:1;opacity:.65}.site-footer{padding-block:27px 18px}.footer-top{display:flex;align-items:center;gap:24px}.site-footer .brand span{font-size:21px;letter-spacing:5px}.site-footer .brand svg{height:29px;width:28px}.footer-tagline{border-left:1px solid #bfc9cf;padding-left:24px;font-size:11px;color:var(--muted)}.site-footer nav{margin-left:auto;display:flex;gap:23px;font-size:11px}.site-footer nav a:hover{color:var(--teal)}.footer-bottom{display:flex;justify-content:space-between;margin-top:23px;font-size:10px;color:#78828c}
.page-intro{padding-top:85px;padding-bottom:62px}.page-intro h1{margin-bottom:24px}.intro-lead{font-size:19px;line-height:1.8;max-width:760px}.page-intro .intro-lead{margin-top:20px}.service-grid-large{grid-template-columns:repeat(2,1fr);gap:25px}.service-detail-card{border:1px solid var(--line);border-radius:3px;overflow:hidden}.service-detail-card .service-card{border:0;padding:32px 32px 15px;min-height:260px}.service-detail-card .service-card h3{font-size:29px}.service-detail-card ul{list-style:none;padding:0 32px 25px;margin:0}.service-detail-card li{font-size:14px;display:flex;align-items:center;gap:10px;margin:10px 0}.service-detail-card li .icon{color:var(--teal);width:19px;height:19px}.subtle-section{background:var(--pale)}.subtle-section .intro-lead{margin-top:25px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter{border:1px solid var(--line);color:var(--muted);background:white;padding:9px 14px;min-height:42px;border-radius:3px;font-size:12px}.filter.active,.filter:hover{background:var(--teal);border-color:var(--teal);color:white}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted);padding-top:32px}.breadcrumb a:hover{color:var(--teal)}.detail-intro{padding-block:55px 45px}.detail-intro h1{max-width:970px;margin-bottom:25px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px}.detail-image{margin:0 0 35px}.detail-image img{width:100%;border-radius:3px}.detail-image figcaption{font-size:11px;color:var(--muted);margin-top:9px}.prose{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.prose h2{font-size:29px;margin-block:40px 18px;letter-spacing:-.65px}.prose h2:first-child{margin-top:0}.prose p{margin-bottom:22px}.prose ul{padding-left:22px;color:var(--muted);margin:0 0 25px}.prose li{margin-bottom:9px}.prose a{color:var(--teal);text-decoration:underline}.aside-box{position:sticky;top:30px;background:var(--pale);padding:28px}.aside-box h3{font-size:25px;margin-bottom:15px}.aside-box p{font-size:14px}.aside-box dl{margin:23px 0}.aside-box dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--teal);margin-top:18px}.aside-box dd{margin:5px 0 0;font-size:14px;color:var(--muted)}.aside-box .button{width:100%;margin-top:25px}.aside-box .text-link{font-size:12px}.about-grid{display:grid;grid-template-columns:40% 1fr;gap:70px;align-items:start}.about-portrait{position:sticky;top:30px;border-radius:3px;overflow:hidden;background:#45474c}.about-portrait img{width:100%;height:540px;object-fit:cover;object-position:center}.portrait-label{display:block;background:var(--ink);color:#fff;padding:21px 27px;font-family:var(--serif);font-size:24px}.portrait-label span{display:block;font-family:var(--sans);font-size:12px;color:#c8d6df;margin-top:7px}.about-grid h1{margin-bottom:27px}.about-grid .intro-lead{font-size:18px;margin-bottom:40px}.about-grid .button{margin-top:15px}.contact-grid{display:grid;grid-template-columns:34% 1fr;gap:80px;align-items:start}.contact-info h2{font-size:30px;margin-bottom:25px;max-width:280px}.contact-info>p{font-size:15px;margin-bottom:20px}.contact-detail{display:block;font-size:17px;color:var(--teal);margin-bottom:10px;overflow-wrap:anywhere}.contact-expect{margin-top:45px;border-top:1px solid var(--line);padding-top:27px}.contact-expect ol{font-size:13px;color:var(--muted);padding-left:20px;line-height:2.3}.contact-expect .eyebrow{margin-bottom:13px}.form-panel{background:#f5f8f9;padding:34px;border:1px solid var(--line);border-radius:3px;scroll-margin-top:35px}label{display:block;font-size:13px;font-weight:600;color:var(--ink)}input:not([type=checkbox]):not([type=hidden]),textarea,select{display:block;width:100%;background:#fff;color:var(--ink);padding:12px 13px;border:1px solid #ccd6dd;border-radius:3px;margin-top:8px;font-weight:400;font-size:14px;min-height:47px}textarea{resize:vertical;line-height:1.7}input::placeholder,textarea::placeholder{color:#6b7685;opacity:1}.contact-form>label,.contact-form>.form-row{margin-bottom:23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.required{color:var(--teal)}.optional{font-weight:400;font-size:10px;color:#6d7985;margin-left:5px}.checkbox-label{display:flex;align-items:flex-start;gap:11px;font-weight:400;font-size:12px;line-height:1.8}.checkbox-label input{width:17px;height:17px;flex-shrink:0;margin:2px 0 0;accent-color:var(--teal)}.checkbox-label a{color:var(--teal);text-decoration:underline}.form-note{font-size:11px;margin-top:14px}.honeypot{position:absolute;left:-10000px;opacity:0;pointer-events:none}.notice{background:#e4f3ef;border:1px solid #b5d9cf;color:#195242;font-size:14px;padding:17px 20px;border-radius:3px;margin-bottom:23px;line-height:1.7}.notice.error{background:#fdf0ef;border-color:#e7b8b3;color:#8b2c24}.notice.warning{background:#fff7e7;border-color:#e9d7aa;color:#6b511c}.error-page{padding-block:100px;max-width:850px;min-height:65vh}.error-page h1{margin-bottom:25px}.error-page p{margin-bottom:25px}.legal-details{display:grid;grid-template-columns:180px 1fr;gap:13px;margin:0 0 30px}.legal-details dt{font-weight:600}.legal-details dd{margin:0;color:var(--muted)}.post-list{max-width:950px}.post-list article{border-top:1px solid var(--line);padding:35px 0}.post-list article p{margin-block:15px}.post-list article .eyebrow{margin-top:0}.post-list article h2{font-size:32px}
@media(min-width:1500px){.hero-portrait{margin-right:calc((1280px - 100vw)/2 - 48px)}.hero{background:#fbfcfc}.hero-grid{min-height:650px}.hero-portrait{min-height:650px}.portrait-caption{right:calc((100vw - 1280px)/2 + 18px)}}
@media(max-width:1150px){.container{padding-inline:32px}.main-nav{gap:22px}.main-nav .nav-cta{margin-left:8px}.hero-grid{grid-template-columns:56% 44%;min-height:560px}.hero-portrait{min-height:560px;margin-right:-32px}.hero h1{font-size:49px}.hero-copy{padding-right:20px}.hero-lead{font-size:17px}.hero-actions{gap:20px}.hero-actions .text-link{font-size:12px}.portrait-caption{top:auto;bottom:25px;right:20px;background:#172a3bbd;padding:10px 14px;text-shadow:none}.service-card{padding:24px 20px}.service-card h3{font-size:21px}.section{padding-block:70px}.section-topless{padding-top:0}.process-grid{gap:20px}.step-content{gap:10px}.step-content h3{font-size:18px}.detail-grid{gap:40px;grid-template-columns:minmax(0,1fr) 280px}.contact-grid{gap:45px}.about-grid{gap:40px}.hero-portrait>img{object-position:48% center}.heading-with-link h2{font-size:34px}.project-copy{padding:21px 18px}}
@media(max-width:950px){.main-nav{gap:20px}.main-nav .nav-cta{display:none}.hero-grid{min-height:530px;grid-template-columns:57% 43%}.hero-portrait{min-height:530px}.hero h1{font-size:43px;letter-spacing:-1.7px}.hero-lead{font-size:16px}.hero-actions .button{padding:13px 15px;gap:10px}.hero-actions{gap:18px}.hero-copy{padding-block:55px 70px}.service-grid{grid-template-columns:repeat(2,1fr);gap:20px}.service-card h3{font-size:25px}.service-card p{max-width:220px}.service-card{padding:27px}.service-icon{margin-bottom:20px}.service-card p{margin-bottom:20px}.project-grid{gap:16px}.project-copy h3{font-size:21px}.project-copy p{font-size:12px}.project-copy .text-link{font-size:10px}.project-category{font-size:9px;left:10px;bottom:10px}.split-heading{gap:35px}.section-aside{max-width:340px;padding-left:40px;font-size:13px}.section-aside:before{width:25px}.process-grid{grid-template-columns:repeat(2,1fr);gap:30px}.heading-with-link{align-items:flex-start}.heading-with-link>.text-link{margin-top:35px;font-size:11px}.contact-pattern{opacity:.4;right:-130px}.footer-tagline{font-size:10px;padding-left:15px}.footer-top{gap:15px}.site-footer nav{gap:15px}.contact-grid{grid-template-columns:1fr 1.5fr;gap:30px}.form-panel{padding:25px}.form-row{grid-template-columns:1fr;gap:22px}.about-grid{grid-template-columns:36% 1fr;gap:35px}.about-portrait img{height:410px}.detail-grid{grid-template-columns:minmax(0,1fr) 250px;gap:30px}.aside-box{padding:22px}}
@media(max-width:720px){html{scroll-padding-top:75px}.container{padding-inline:24px}.site-header{height:73px}.brand svg{width:25px;height:29px}.brand span{font-size:21px;letter-spacing:5px}.header-inner{gap:15px}.menu-toggle{display:flex;flex-direction:column;gap:5px;width:45px;height:45px;justify-content:center;align-items:center}.menu-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:73px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 24px 24px;box-shadow:0 16px 22px #101f3610;align-items:stretch;gap:4px}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a:not(.button){padding:12px 0;font-size:15px}.main-nav>a[aria-current=page]:not(.button):after{right:auto;width:25px;bottom:7px}.main-nav .nav-cta{display:flex;margin:13px 0 0;align-self:flex-start}.hero-grid{display:flex;flex-direction:column;min-height:0;padding-inline:0}.hero-copy{padding:48px 24px 45px;max-width:580px;width:100%;align-self:center}.hero h1{font-size:clamp(36px,7.6vw,49px);line-height:1.12;letter-spacing:-1.6px;margin-bottom:21px}.hero .eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:19px}.hero-lead{font-size:16px;max-width:440px;line-height:1.75}.hero-actions{margin-top:26px;gap:22px}.hero-actions .button{font-size:12px;padding:13px 16px}.hero-actions .text-link{font-size:12px}.hero-portrait{margin:0;width:100%;min-height:365px;height:365px;max-height:430px}.hero-portrait>img{object-position:center 38%;width:100%;height:100%;object-fit:cover}.portrait-caption{bottom:23px;right:24px;top:auto;font-size:10px}.line-one{top:25px;left:24px;width:50px;height:50px}.line-two{top:35px;right:35px}.dot-pattern{display:none}.section{padding-block:54px}.section-topless{padding-top:0}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:16px}h1{font-size:42px;letter-spacing:-1.6px}h2{font-size:32px;letter-spacing:-1px}.section-heading{margin-bottom:28px}.split-heading{display:block}.section-aside{max-width:none;padding:0;margin-top:22px;font-size:14px}.section-aside:before{display:none}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:25px;position:relative;min-height:0}.service-card h3{font-size:25px;max-width:290px;padding-right:20px;margin-bottom:10px}.service-card p{font-size:14px;max-width:300px;margin-bottom:18px}.service-icon{width:48px;height:48px;margin-bottom:19px;border-radius:8px}.service-icon .icon{width:28px;height:28px}.card-arrow{position:absolute;right:23px;bottom:24px}.heading-with-link{display:block}.heading-with-link>.text-link{margin-top:23px;font-size:12px}.heading-with-link h2{font-size:32px}.mobile-only{display:block}.project-grid{grid-template-columns:1fr;gap:24px}.project-copy{padding:24px}.project-copy h3{font-size:25px}.project-copy p{font-size:14px;margin-bottom:18px}.project-copy .text-link{font-size:12px}.project-category{font-size:10px;left:16px;bottom:16px}.project-picture{aspect-ratio:1.6}.image-note{font-size:10px;margin-top:20px}.process-grid{grid-template-columns:1fr;gap:28px}.step-number{margin-bottom:12px;font-size:23px}.step-number:after{max-width:none}.step-content{gap:17px}.step-content>.icon{width:29px;height:29px}.step-content h3{font-size:22px;margin-bottom:8px}.step-content p{font-size:14px;max-width:340px}.contact-band-inner{min-height:0;padding-block:43px}.contact-band h2{font-size:31px}.contact-band p{font-size:14px;max-width:350px}.contact-pattern{width:300px;height:300px;right:-140px;bottom:-90px;opacity:.3}.footer-top{flex-wrap:wrap;gap:17px}.footer-tagline{font-size:10px}.site-footer nav{margin:6px 0 0;width:100%;gap:22px;font-size:11px;flex-wrap:wrap}.footer-bottom{display:block;font-size:9px;margin-top:22px}.footer-bottom span{display:block;margin-top:5px}.site-footer{padding-block:26px 20px}.page-intro{padding-block:50px 38px}.intro-lead{font-size:17px;line-height:1.8}.service-grid-large{grid-template-columns:1fr}.service-detail-card .service-card{padding:27px;min-height:0}.service-detail-card .service-card h3{font-size:27px}.service-detail-card .card-arrow{bottom:23px}.service-detail-card ul{padding-inline:27px}.service-detail-card li{font-size:13px}.filter-bar{gap:7px;margin-bottom:25px}.filter{font-size:11px;padding:8px 11px}.breadcrumb{font-size:10px;gap:8px;padding-top:25px}.detail-intro{padding-block:35px}.detail-intro h1{font-size:39px;letter-spacing:-1.3px}.detail-grid{grid-template-columns:1fr;gap:35px}.aside-box{position:static;padding:27px}.aside-box .button{width:auto}.prose{font-size:15px}.prose h2{font-size:27px;margin-top:32px}.about-grid{grid-template-columns:1fr;gap:35px}.about-portrait{position:static;max-width:450px;order:2}.about-portrait img{height:390px}.about-grid h1{margin-bottom:20px}.about-grid .intro-lead{font-size:17px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-info h2{font-size:28px;max-width:none}.contact-expect{margin-top:25px;padding-top:20px}.contact-expect ol{font-size:13px;line-height:2}.form-panel{padding:23px}.form-row{gap:22px}.contact-form .button{width:100%}.legal-details{grid-template-columns:1fr;gap:5px}.legal-details dd{margin-bottom:13px}.error-page{padding-block:65px}.post-list article h2{font-size:28px}}
@media(max-width:370px){.hero-actions{align-items:flex-start;flex-direction:column;gap:19px}.hero h1{font-size:35px}.footer-tagline{border:0;padding-left:0;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* A portréfelirat a kép alsó szélén, önálló, olvasható felületen marad. */
.hero .portrait-caption{left:32px;right:auto;top:auto;bottom:32px;max-width:min(360px,calc(100% - 64px));padding:17px 22px;background:rgba(13,38,55,.88);border-left:2px solid #5cc4c7;border-radius:3px;color:#fff;font-size:16px;line-height:1.5;text-shadow:none;z-index:3}
.hero .portrait-caption strong{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:-.3px;margin-bottom:6px;line-height:1.2}
.hero .portrait-caption span{max-width:290px;color:#edf7f8}
.project-picture.is-screenshot{padding:12px;background:#e5edf0;display:flex;flex-direction:column}
.project-picture.is-screenshot img{width:100%;height:calc(100% - 25px);min-height:0;flex:1;object-fit:cover;object-position:top;border:1px solid #d5dfe5;border-top:0;border-radius:0 0 3px 3px}
.project-browserbar{height:25px;flex:0 0 25px;display:flex;align-items:center;gap:10px;padding:0 9px;background:#fff;border:1px solid #d5dfe5;border-radius:3px 3px 0 0;font-size:8px;color:#5d6c79;line-height:1;white-space:nowrap;overflow:hidden}
.browser-dots{color:#b7c9d1;font-size:7px;letter-spacing:1px;flex-shrink:0}
.project-picture.is-screenshot .project-category{font-size:9px;left:20px;bottom:20px;background:#102435e8;color:#fff;padding:5px 8px}
@media(max-width:720px){.hero .portrait-caption{left:20px;right:auto;bottom:20px;top:auto;max-width:calc(100% - 40px);padding:13px 17px;font-size:14px}.hero .portrait-caption strong{font-size:22px}.hero .portrait-caption span{max-width:260px}.project-picture.is-screenshot{aspect-ratio:1.49}.project-browserbar{font-size:8px}}
/* Hosszú magyar összetett szavak kis képernyőn is a hasábon belül maradnak. */
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}
@media(min-width:1151px){.hero h1{font-size:clamp(46px,3.8vw,56px)}}
@media print{.site-header,.site-footer,.contact-band,.hero-actions,.filter-bar{display:none}.container{padding-inline:0}.section{padding-block:20px}.hero-grid{display:block}.hero-portrait{display:none}.hero-copy{padding:0}.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.service-card,.project-card{break-inside:avoid}.detail-grid{display:block}.detail-aside{display:none}}
