@charset "UTF-8";
:root{--ink:#0b3340;--ink2:#103e48;--deep:#042a35;--lime:#a5cd27;--blue:#169fc2;--sky:#d9eef1;--paper:#fbfaf6;--cream:#f3f1e9;--white:#fff;--mute:#6d7a7b;--line:#dce3df;--sans:Inter,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--serif:"Iowan Old Style","Baskerville","Times New Roman",Georgia,serif;--container:1260px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(calc(100% - 88px),var(--container));margin:0 auto}.i{display:inline-block;width:19px;height:19px;flex:0 0 19px;vertical-align:middle}.skip{position:absolute;left:15px;top:-100px;background:white;color:var(--ink);padding:12px;z-index:99}.skip:focus{top:10px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.topline{height:34px;background:var(--deep);color:#d8ebea;font-size:10px;letter-spacing:.17em;font-weight:800}.topline-inner,.topline-right{display:flex;align-items:center;justify-content:space-between;height:100%;gap:22px}.topline-right{color:#b6cfd2;letter-spacing:.09em}.topline a:hover{text-decoration:underline}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--lime);margin:0 8px 1px 0;box-shadow:0 0 0 4px #a5cd2728}.header{height:86px;position:sticky;top:0;z-index:50;background:#fffffff4;border-bottom:1px solid #e9eeeb;backdrop-filter:blur(17px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo-lockup{display:flex;align-items:center;gap:9px;min-width:188px}.logo-lockup img{width:129px;height:auto;object-fit:contain}.logo-caption{font-size:11px;font-weight:900;letter-spacing:.22em;border-left:1px solid #cbdad5;padding-left:11px;padding-top:4px;height:35px}.logo-line{display:block;width:30px;height:3px;background:var(--lime);margin-top:5px}.nav{display:flex;align-items:center;gap:27px;white-space:nowrap}.nav a{font-size:13px;font-weight:750;color:#34535a;transition:color .2s}.nav a:hover{color:#009ac6}.header-actions{display:flex;align-items:center;gap:18px}.lang-switch{position:relative}.lang-trigger{border:0;background:none;display:flex;align-items:center;gap:4px;color:var(--ink);font-size:12px;font-weight:800;padding:9px 0}.lang-trigger .i{width:16px;height:16px}.lang-trigger .i-chevron{width:11px;height:11px}.lang-options{position:absolute;display:none;right:0;top:100%;background:white;border:1px solid #e4ece8;min-width:160px;padding:6px;box-shadow:0 12px 25px #09262d22}.lang-switch.open .lang-options{display:block}.lang-options a{display:block;padding:9px 12px;font-size:12px}.lang-options a:hover,.lang-options a[aria-current]{background:#e8f2ee}.button{display:inline-flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid transparent;padding:17px 24px;font-weight:800;font-size:13px;line-height:1.15;transition:background .2s,transform .2s,color .2s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-mini{background:var(--ink);color:white;padding:14px 17px;gap:9px;font-size:12px}.button-mini:hover,.button-ink:hover{background:#127f90}.button-mini .i{width:15px;height:15px}.button-light{background:#e3f0e9;color:var(--deep)}.button-light:hover{background:white}.button-white{background:white;color:var(--ink)}.button-white:hover{background:var(--lime)}.button-ink{background:var(--ink);color:white}.mobile-toggle{display:none;background:none;border:0;color:var(--ink);padding:9px}.eyebrow{color:#248294;font-size:11px;letter-spacing:.24em;font-weight:900;margin:0 0 26px;text-transform:uppercase}.eyebrow.light-text{color:#bce2df}.section{padding:112px 0}.section-title{font:400 clamp(35px,4vw,57px)/1.14 var(--serif);letter-spacing:-.043em;margin:0;color:var(--ink)}.section-title em,.values-intro em{font-weight:400;color:#458c91}.section-sub{font-size:15px;color:var(--mute);max-width:620px;margin:25px 0 0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:0 0 49px}.section-top .eyebrow{margin:0 0 18px}.text-link{display:inline-flex;align-items:center;gap:12px;color:#0c6f80;font-size:13px;font-weight:850;border-bottom:1px solid #9fc7c8;padding-bottom:8px;white-space:nowrap;transition:gap .2s}.text-link:hover{gap:19px;color:var(--ink)}.text-link .i{width:16px;height:16px}.hero{background:radial-gradient(circle at 80% 25%,#136070b0,transparent 50%),linear-gradient(115deg,#042b36,#083d4a 76%,#0d5261);color:white;position:relative;isolation:isolate;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:95px 95px;opacity:.32;pointer-events:none}.hero-noise{position:absolute;inset:0;background:radial-gradient(circle at 50% 80%,#4297ab27,transparent 40%)}.hero-geometric{position:absolute;border:1px solid #a3d5d622;width:510px;height:510px;border-radius:50%;z-index:-1}.hero-geometric-a{right:-280px;top:-190px}.hero-geometric-b{right:15%;bottom:-390px;width:650px;height:650px}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:55% 45%;align-items:center;min-height:675px;gap:20px;padding:60px 0 60px}.hero-copy{padding:0 0 2px}.hero-label{font-size:11px;letter-spacing:.22em;font-weight:850;color:#b8dbdf;display:flex;align-items:center;gap:12px}.hero-line{display:block;width:28px;height:1px;background:var(--lime)}.hero h1{font:400 clamp(50px,5.35vw,87px)/1.09 var(--serif);letter-spacing:-.055em;margin:27px 0 24px;max-width:720px}.hero h1::first-line{color:#fff}.hero-copy>p{max-width:555px;color:#c9dedc;font-size:16px;line-height:1.9;margin:0}.hero-ctas{display:flex;align-items:center;gap:28px;margin-top:36px}.hero-textlink{display:inline-flex;align-items:center;gap:12px;color:#ecf3ed;font-size:13px;font-weight:800}.hero-textlink:hover{color:var(--lime)}.hero-textlink .i{width:17px}.hero-values{margin-top:68px;display:flex;align-items:center;gap:15px;font-size:10px;font-weight:900;letter-spacing:.12em;color:#a9cdd1}.hero-values i{width:3px;height:3px;background:var(--lime);border-radius:50%}.hero-visual{width:100%;height:520px;position:relative;padding:0 0 0 12px}.hero-visual-frame{position:relative;height:100%;isolation:isolate}.hero-visual-frame:before{content:"";border:1px solid #ffffff5e;position:absolute;inset:17px 14px 20px 10px;z-index:0}.hero-photo{overflow:hidden;position:absolute}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo-main{width:82%;height:80%;right:2%;top:8%;border:8px solid #e9f2ec;transform:rotate(2.2deg);box-shadow:25px 40px 90px #00192255}.hero-photo-small{width:48%;height:39%;left:-8%;bottom:0;border:8px solid white;box-shadow:12px 18px 35px #001c264b;transform:rotate(-5deg)}.hero-visual-stamp{position:absolute;right:-4%;bottom:-8px;background:var(--lime);color:var(--ink);padding:19px 23px;display:flex;align-items:center;gap:14px;transform:rotate(-5deg);box-shadow:0 9px 20px #001c264a}.hero-visual-stamp span{font-size:46px;line-height:1;font-weight:950;letter-spacing:-.06em}.hero-visual-stamp small{font-size:9px;letter-spacing:.1em;font-weight:900;line-height:1.4}.hero-roundel{position:absolute;top:1%;left:-5%;width:119px;height:119px;border-radius:50%;border:1px solid #a1d9da90;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;letter-spacing:.1em;font-weight:800;background:#0a4c5ebf;transform:rotate(-12deg);box-shadow:0 0 0 10px #ffffff0b}.hero-roundel span{color:var(--lime);margin:0 3px}.hero-bottom{height:67px;border-top:1px solid #ffffff24;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:2;color:#a8cacd;font-size:10px;font-weight:850;letter-spacing:.2em}.hero-bottom a:hover{color:white}.quick-bar{background:#eff3ec;border-bottom:1px solid #e3e9e3}.quick-bar-inner{display:grid;grid-template-columns:1fr 1.25fr 1.5fr 1.5fr;min-height:119px;align-items:center}.quick-bar-inner>div{border-left:1px solid #cbd9d2;padding:10px 28px;min-height:55px;display:flex;align-items:center;gap:19px}.quick-bar-inner>div:first-child{padding-left:0;border:0}.quick-bar strong{font:400 35px/1 var(--serif);white-space:nowrap;letter-spacing:-.05em}.quick-bar span{font-size:11px;line-height:1.4;font-weight:800;letter-spacing:.03em;color:#698183}.quick-bar-last a{font-size:12px;font-weight:850;display:flex;align-items:center;gap:10px}.quick-bar-last a:hover{color:#0098b9}.quick-bar-last a .i{width:16px}.introduction{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:50% 50%;gap:70px;align-items:center}.intro-left{padding:0 22px 60px 0}.image-stack{height:585px;position:relative}.intro-image-main{width:83%;height:100%;object-fit:cover;filter:saturate(.82)}.intro-image-small{position:absolute;right:0;bottom:-45px;width:43%;height:43%;border:12px solid var(--paper);overflow:hidden}.intro-image-small img{width:100%;height:100%;object-fit:cover}.intro-badge{position:absolute;left:35px;bottom:-22px;background:var(--ink);color:#cde7e9;padding:19px 23px;font-size:9px;letter-spacing:.15em;font-weight:800;line-height:1.65}.intro-badge span{font:400 35px/1 var(--serif);color:white;display:block;letter-spacing:-.05em;margin-bottom:6px}.intro-right{padding:0 44px 0 0}.intro-right>.intro-lead{font-size:21px;line-height:1.6;font-weight:600;margin:29px 0 15px;color:#204a54}.intro-right>p:not(.intro-lead,.eyebrow){font-size:15px;color:#677b7c;line-height:1.9}.intro-right>.text-link{margin-top:20px}.intro-quote{display:flex;gap:21px;margin-top:42px;padding-top:25px;border-top:1px solid #d8e1dd}.intro-quote>span{font:100px/.9 var(--serif);color:#9ac5bf}.intro-quote p{font:italic 22px/1.45 var(--serif);margin:6px 0 10px}.intro-quote small{font-size:10px;letter-spacing:.17em;color:#89a2a4;font-weight:850}.ecosystem{background:var(--cream)}.brands-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.brand-card{background:#fff;min-height:390px;border:1px solid #e7ebe5;position:relative;padding:28px 29px 30px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s}.brand-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px #24444b12;border-color:#c4d8d5}.brand-card::before{content:"";position:absolute;right:-85px;top:42px;width:220px;height:220px;border-radius:50%;background:#b7e5e90f;border:1px solid #c6dfde38;pointer-events:none}.brand-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;letter-spacing:.1em;font-weight:900;color:#729398;min-height:27px}.brand-card-top .i{width:18px;transition:transform .2s}.brand-card:hover .brand-card-top .i{transform:translate(3px,-3px)}.brand-card-logo{height:135px;display:flex;align-items:center;justify-content:center;margin:12px 0 14px}.brand-card-logo img{max-width:210px;max-height:124px;object-fit:contain}.brand-card-content{margin-top:auto}.brand-card h3{font-size:21px;letter-spacing:-.03em;margin:0 0 8px}.brand-card p{font-size:13px;color:#718283;line-height:1.75;margin:0 0 20px}.brand-card-action{display:inline-flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.04em;font-weight:900;color:#107e91}.brand-card-action .i{width:16px}.brand-card.accent-sky{border-top:3px solid #169fc2}.brand-card.accent-teal{border-top:3px solid #16b1bc}.brand-card.accent-lime{border-top:3px solid #a5cd27}.brand-card.accent-blue{border-top:3px solid #27729f}.brand-card.accent-forest{border-top:3px solid #3a8555}.values-section{background:#0b3742;color:white;position:relative;overflow:hidden}.values-section:before{content:"IFK";position:absolute;left:-50px;bottom:-150px;font-size:470px;font-weight:950;letter-spacing:-.13em;color:#ffffff05;line-height:1;pointer-events:none}.values-grid{display:grid;grid-template-columns:43% 57%;gap:65px;position:relative}.values-intro{padding-right:30px}.values-intro h2{font:400 clamp(42px,4.2vw,67px)/1.14 var(--serif);letter-spacing:-.048em;margin:0 0 25px}.values-intro em{color:#b5d9b4}.values-intro p{color:#b3cbcd;max-width:360px;font-size:15px;line-height:1.8}.light-link{color:#e8eeda;border-color:#728d86;margin-top:20px}.values-list{border-top:1px solid #ffffff3b}.value-row{display:grid;grid-template-columns:95px 1fr 25px;gap:21px;align-items:start;padding:35px 4px 34px;border-bottom:1px solid #ffffff34}.value-letter{font:400 70px/1 var(--serif);color:#a8cf9a}.value-row h3{font:400 32px/1.1 var(--serif);margin:0 0 4px;letter-spacing:-.02em}.value-row div span{font-size:11px;font-weight:850;letter-spacing:.1em;color:#bde4d9;text-transform:uppercase}.value-row p{color:#9ab6bb;font-size:13px;margin:10px 0 0}.value-row>.i{color:#c3dcd7}.projects-section{background:#fcfbf8}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-card{display:block;transition:transform .2s}.project-card:hover{transform:translateY(-4px)}.project-photo{height:245px;position:relative;overflow:hidden;background:#e2ecea}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-card:hover .project-photo img{transform:scale(1.045)}.project-photo span{position:absolute;left:17px;bottom:16px;background:#f7fbf1;color:#0d4b54;padding:7px 10px;font-weight:900;letter-spacing:.1em;font-size:9px}.project-copy{display:grid;grid-template-columns:32px 1fr 20px;gap:15px;border-bottom:1px solid #d7e1dc;padding:21px 0}.project-number{font-size:12px;color:#5e9694;font-weight:850}.project-copy h3{font-size:20px;letter-spacing:-.025em;margin:0 0 10px;line-height:1.35}.project-copy p{font-size:13px;color:#7b8a89;margin:0;line-height:1.7}.project-copy>.i{margin-top:2px}.banner-feature{background:#144f50;color:white;position:relative;padding:115px 0;min-height:480px;overflow:hidden}.banner-feature-back{position:absolute;inset:0}.banner-feature-back img{position:absolute;right:0;top:0;width:54%;height:100%;object-fit:cover;filter:saturate(.73)}.banner-feature-back:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a4249 0%,#0a4249 35%,#0a4249ed 48%,#0a424940 82%)}.banner-feature-grid{position:relative;display:grid;grid-template-columns:60% 40%;align-items:center}.banner-feature-grid h2{font:400 clamp(42px,4.9vw,72px)/1.14 var(--serif);letter-spacing:-.05em;margin:0 0 23px}.banner-feature-grid p:not(.eyebrow){font-size:15px;color:#c7e3df;max-width:475px;margin:0 0 33px;line-height:1.8}.feature-mark{justify-self:end;background:#ffffffeb;padding:17px 28px;max-width:220px;box-shadow:0 13px 40px #123d3e52;transform:rotate(4deg)}.feature-mark img{width:160px}.insights-section{background:var(--paper)}.posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.post-card{display:flex;flex-direction:column}.post-thumb{overflow:hidden;display:block;height:236px;background:#d9e8e8}.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.post-thumb:hover img{transform:scale(1.045)}.post-content{padding:24px 0 0}.post-meta{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.08em;font-weight:850;color:#48818a}.post-card h3{font:400 24px/1.28 var(--serif);letter-spacing:-.015em;margin:14px 0 11px}.post-card h3 a:hover{color:#238e9f}.post-card p{font-size:13px;line-height:1.75;color:#788b8a;margin:0 0 20px}.post-card .text-link{font-size:12px}.cta-band{position:relative;overflow:hidden;background:linear-gradient(115deg,#9ac82a,#b0d24d);padding:76px 0;color:#123a3e}.cta-band-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-band .eyebrow{color:#336151;margin-bottom:18px}.cta-band h2{font:400 clamp(36px,3.8vw,60px)/1.1 var(--serif);letter-spacing:-.05em;margin:0 0 13px}.cta-band p:not(.eyebrow){margin:0;max-width:570px;color:#31584e;font-size:14px}.cta-watermark{position:absolute;font-size:340px;font-weight:950;letter-spacing:-.12em;right:1%;bottom:-150px;color:#ffffff1e;pointer-events:none}.footer{background:#082f3a;color:#d0e2dd;padding-top:81px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.6fr;gap:45px;padding-bottom:78px}.footer-brand img{width:165px;height:auto;background:#eff5ec;padding:9px;margin-bottom:25px}.footer-brand p{font-size:13px;line-height:1.85;max-width:290px;color:#a5c5c5}.footer-signature{font-size:10px;letter-spacing:.1em;color:#9ccfb6;display:block;margin-top:28px}.footer h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:white;margin:0 0 24px}.footer ul{list-style:none;margin:0;padding:0}.footer li{margin-bottom:12px}.footer li a,.footer-contact p{font-size:13px;color:#aec9ca}.footer a:hover{color:var(--lime)}.footer-contact p{display:flex;align-items:start;gap:9px;margin-bottom:19px;line-height:1.65}.footer-contact .i{width:16px;height:16px;flex:0 0 16px;color:#b2d0a3;margin-top:3px}.footer-bottom{border-top:1px solid #ffffff2b;padding:23px 0;display:flex;justify-content:space-between;gap:15px;color:#85a8aa;font-size:11px}.footer-dot{margin:0 11px}.page-banner{background:radial-gradient(circle at 85% -15%,#18728488,transparent 50%),linear-gradient(105deg,#063541,#0d4e58);color:white;position:relative;overflow:hidden;min-height:310px}.page-banner:after{content:"";position:absolute;right:-50px;top:-270px;width:500px;height:500px;border:1px solid #ffffff24;border-radius:50%}.page-banner-inner{padding:80px 0 75px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:2}.page-banner-copy{max-width:790px}.page-banner .eyebrow{margin-bottom:19px}.page-banner h1{font:400 clamp(42px,5vw,67px)/1.13 var(--serif);letter-spacing:-.045em;margin:0 0 17px}.page-banner p:not(.eyebrow){font-size:15px;color:#c9e1df;max-width:700px;margin:0;line-height:1.85}.page-banner-seal{font:700 48px/1 var(--serif);color:#ffffff2f;letter-spacing:-.07em;text-align:center;min-width:150px}.page-banner-seal span{display:block;font-size:48px;color:#b0d85a}.page-banner-img .page-banner-photo{position:absolute;right:0;top:0;height:100%;width:38%;object-fit:cover;opacity:.23}.breadcrumbs{display:flex;align-items:center;gap:12px;padding:23px 0 0;font-size:11px;color:#7f9898;white-space:nowrap;overflow:hidden}.breadcrumbs a:hover{color:#187c8c}.breadcrumbs span[aria-current]{color:#254c55;text-overflow:ellipsis;overflow:hidden}.editorial-grid{display:grid;grid-template-columns:29% 1fr;gap:9%;align-items:start}.editorial-aside{border-top:1px solid #c6d8d2;padding-top:22px;position:sticky;top:123px}.editorial-aside .eyebrow{margin:0 0 28px}.aside-mark{font:400 90px/1 var(--serif);letter-spacing:-.09em;color:#12515f;margin-bottom:40px}.aside-mark span{color:var(--lime);font-size:36px;vertical-align:top}.aside-logo{width:220px;height:115px;object-fit:contain;object-position:left;margin-bottom:25px}.small-sep{width:38px;height:3px;background:var(--lime);margin:18px 0}.editorial-aside>p:not(.eyebrow){font-size:13px;color:#718785}.prose{font-size:16px;color:#3c555b;line-height:1.93}.prose>*:first-child{margin-top:0}.prose h2{font:400 37px/1.23 var(--serif);letter-spacing:-.034em;color:var(--ink);margin:39px 0 18px}.prose h3{font:400 27px/1.25 var(--serif);color:var(--ink);margin:35px 0 16px}.prose p{margin:0 0 18px}.prose ul{padding-left:22px;margin-bottom:30px}.prose li{padding-left:7px;margin:10px 0}.prose li::marker{color:#4ba3a2}.prose a{color:#0a88a2;text-decoration:underline;text-underline-offset:3px}.prose strong{color:var(--ink)}.prose-large{font-size:17px}.short-values{background:#eaf1e8}.short-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.short-values-grid>div{border-top:2px solid #9bc29a;padding:15px 0}.short-values-grid strong{font:400 98px/1 var(--serif);color:#1d5b65}.short-values-grid h3{font-size:12px;letter-spacing:.2em;margin:12px 0 0}.short-values-grid p{font:italic 22px var(--serif);color:#5b7879;margin:5px 0}.brands-page-grid{grid-template-columns:repeat(3,1fr)}.brand-hero{padding:90px 0;background:linear-gradient(110deg,#083945,#14556b);color:white}.brand-hero.accent-lime{background:linear-gradient(110deg,#173d35,#488263)}.brand-hero.accent-sky{background:linear-gradient(110deg,#104157,#2a7999)}.brand-hero.accent-blue{background:linear-gradient(110deg,#092f52,#185274)}.brand-hero.accent-forest{background:linear-gradient(110deg,#164b3d,#447b5a)}.brand-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:65px;align-items:center}.brand-hero h1{font:400 clamp(52px,6.3vw,92px)/1.05 var(--serif);letter-spacing:-.05em;margin:0 0 20px}.brand-hero p:not(.eyebrow){font-size:17px;max-width:630px;color:#d5e9e9;line-height:1.8}.brand-hero-logo{background:#f5f7f0;padding:44px;display:flex;align-items:center;justify-content:center;min-height:310px;box-shadow:0 24px 50px #00273330}.brand-hero-logo img{width:95%;max-height:210px;object-fit:contain}.brand-hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.brand-external{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.brand-external:hover{color:var(--lime)}.related-brands{background:var(--cream)}.compact-grid .brand-card{min-height:350px}.interstitial{background:#eaf0ea}.interstitial-grid{display:grid;grid-template-columns:.5fr 2fr 1fr;gap:30px;align-items:center}.interstitial-grid>span{letter-spacing:.15em;font-weight:900;font-size:11px;color:#4493a1}.interstitial h2{font:400 clamp(30px,3vw,44px)/1.3 var(--serif);margin:0}.interstitial .button{justify-self:end}.projects-page-grid{row-gap:50px}.article-hero{background:#f1f5ef;padding:85px 0 70px}.article-hero-inner{max-width:860px}.article-hero .eyebrow{margin-bottom:19px}.article-hero h1{font:400 clamp(43px,5vw,72px)/1.15 var(--serif);letter-spacing:-.05em;margin:0 0 17px}.article-hero p{font-size:18px;color:#617879;line-height:1.7;max-width:760px}.article-date{font-size:11px;letter-spacing:.12em;color:#5e9397;font-weight:850}.article{padding:45px 0 115px}.article-image{height:480px;overflow:hidden;background:#dfe9e5}.article-image img{width:100%;height:100%;object-fit:cover}.article-layout{display:grid;grid-template-columns:23% 1fr;gap:10%;margin-top:65px}.article-layout aside{padding-top:5px;font-size:12px;color:#709495;line-height:2}.article-layout aside .text-link{margin-top:30px}.posts-page-grid{row-gap:58px}.search-bar{display:flex;align-items:center;gap:32px;justify-content:space-between;padding:22px 0;margin-bottom:40px;border-top:1px solid #dfe6e1;border-bottom:1px solid #dfe6e1}.search-bar label{font-size:12px;font-weight:800;color:#315e66}.search-bar>div{display:flex;border:1px solid #d2e0d9;width:min(480px,100%)}.search-bar input{background:white;border:0;outline:0;flex:1;min-width:0;padding:11px 14px;font-size:13px}.search-bar button{border:0;background:#1b5260;color:white;padding:10px 18px;font-size:12px;font-weight:750}.search-bar button .i{width:13px}.pagination{display:flex;justify-content:center;gap:6px;margin-top:50px}.pagination a{width:42px;height:42px;display:grid;place-items:center;border:1px solid #d7e1dc;font-size:13px;font-weight:750}.pagination a[aria-current]{background:var(--ink);color:white}.empty-public{text-align:center;padding:60px}.contact-section{background:#fbfaf6}.contact-grid{display:grid;grid-template-columns:43% 1fr;gap:10%}.contact-copy h2{font:400 clamp(40px,4vw,61px)/1.14 var(--serif);letter-spacing:-.05em;margin:0 0 25px}.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#72898a;max-width:460px}.contact-details{padding:27px 0;border-top:1px solid #d7e3dd;border-bottom:1px solid #d7e3dd;margin:40px 0}.contact-details>div{display:flex;align-items:start;gap:17px;margin-bottom:23px}.contact-details>div:last-child{margin:0}.contact-details .i{color:#2f93a3;flex:0 0 19px;margin-top:3px}.contact-details small{font-size:10px;letter-spacing:.16em;font-weight:900;color:#819a9a}.contact-details p,.contact-details a{display:block;color:#2a5057;font-size:15px;margin:4px 0}.contact-image{height:245px;overflow:hidden}.contact-image img{width:100%;height:100%;object-fit:cover}.contact-form-card{background:#fff;border:1px solid #e2e8e2;box-shadow:0 23px 65px #1c4b4f0c;padding:45px}.form-card-head>span{font-size:10px;letter-spacing:.15em;color:#208398;font-weight:900}.form-card-head h2{font:400 40px/1.15 var(--serif);letter-spacing:-.035em;margin:10px 0}.form-card-head p{font-size:13px;color:#829393;margin-bottom:25px}.contact-form{display:grid;gap:19px}.contact-form label:not(.consent){display:grid;gap:7px;font-size:12px;font-weight:800;color:#41646c}.contact-form label>span:not(.consent span){color:#ca6945}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;border:1px solid #d9e4df;background:#fbfcf9;border-radius:0;outline:0;padding:13px 14px;color:var(--ink);font-size:14px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#2d9db1;box-shadow:0 0 0 2px #159bb31a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consent{display:flex;align-items:start;gap:11px;font-size:12px;color:#738889;line-height:1.6}.consent input{margin-top:4px}.consent a{color:#138fa3;text-decoration:underline}.form-submit{margin-top:6px;width:100%}.form-trap{position:absolute;left:-10000px;visibility:hidden}.notice{padding:13px 15px;margin:0 0 18px;display:flex;align-items:start;gap:9px;font-size:13px}.notice-success{background:#e9f6e8;color:#286a42}.notice-error{background:#fff0e8;color:#8c4428;display:block}.error-page{text-align:center;min-height:450px}.error-page h1{font:400 61px var(--serif);max-width:800px;margin:0 auto 23px}.error-page p:not(.eyebrow){color:var(--mute);margin-bottom:27px}.assistant{position:fixed;bottom:25px;right:25px;z-index:90}.assistant-pill{border:1px solid #e1ebd8;border-radius:100px;display:flex;align-items:center;gap:11px;background:white;box-shadow:0 6px 30px #02242f22;color:var(--ink);padding:7px 12px 7px 8px;text-align:left;min-width:207px}.assistant-pill strong,.assistant-panel-head strong{display:block;font-size:12px;letter-spacing:.07em}.assistant-pill small,.assistant-panel-head small{display:block;font-size:10px;color:#688388}.assistant-plus{margin-left:auto}.assistant-plus .i{width:14px}.assistant-orb{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#0a4b5b,#21a4b9);color:white}.assistant-orb .i{width:20px}.assistant-panel{position:absolute;right:0;bottom:72px;width:375px;max-width:calc(100vw - 34px);background:white;box-shadow:0 18px 65px #031d2666;border:1px solid #dfebe4}.assistant-panel-head{display:flex;gap:10px;align-items:center;padding:17px;background:#e8f2ee}.assistant-panel-head small{font-size:9px;line-height:1.45}.assistant-panel-head button{margin-left:auto;border:0;background:transparent;color:var(--ink)}.assistant-panel-content{padding:21px}.assistant-panel-content h3{font:400 22px/1.25 var(--serif);margin:0 0 17px}.assistant-questions{display:grid;gap:8px}.assistant-questions button{text-align:left;border:1px solid #dbe8e4;background:#f9fbf8;color:#265361;padding:10px 12px;font-size:12px;line-height:1.45}.assistant-questions button:hover{border-color:#2fa4ab}.assistant-reply{font-size:13px;color:#315459;line-height:1.7;margin-top:12px}.assistant-reply a{display:inline-flex;color:#0b8091;font-weight:800;margin-top:7px}.assistant-panel-foot{padding:15px 20px;border-top:1px solid #edf0ec}.assistant-panel-foot a{display:flex;justify-content:space-between;font-size:12px;font-weight:850}.assistant-panel-foot .i{width:16px}body.mobile-nav-open{overflow:hidden}
@media(max-width:1220px){.wrap{width:min(calc(100% - 60px),var(--container))}.nav{gap:17px}.nav a{font-size:12px}.header-actions{gap:11px}.hero h1{font-size:clamp(46px,5.3vw,70px)}.intro-grid{gap:40px}.intro-right{padding-right:10px}.values-grid{gap:45px}.footer-grid{gap:25px}}
@media(max-width:1040px){.nav{display:none;position:absolute;left:0;top:100%;width:100%;padding:18px 30px 30px;background:#fff;box-shadow:0 10px 22px #06323d29;flex-direction:column;gap:0;align-items:stretch}.nav.open{display:flex}.nav a{padding:14px 8px;border-bottom:1px solid #e4ece8;font-size:14px}.mobile-toggle{display:inline-flex}.hero-grid{grid-template-columns:56% 44%}.hero-visual{height:420px}.hero-photo-main{height:75%}.hero-photo-small{width:45%;height:35%;bottom:12%}.hero-visual-stamp{bottom:5%;right:0}.brands-grid{grid-template-columns:repeat(2,1fr)}.values-grid{grid-template-columns:1fr 1fr}.value-row{grid-template-columns:65px 1fr 20px}.value-letter{font-size:55px}.project-photo{height:210px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer-contact{grid-column:1/-1}.intro-grid{grid-template-columns:45% 1fr}.image-stack{height:490px}.quick-bar-inner{grid-template-columns:repeat(2,1fr);padding:16px 0}.quick-bar-inner>div{min-height:70px}.quick-bar-inner>div:nth-child(3){border:0;padding-left:0}}
@media(max-width:760px){.wrap{width:min(calc(100% - 36px),var(--container))}.topline{font-size:9px}.topline-right>span{display:none}.topline-right a{font-size:9px}.header{height:70px}.header-inner{gap:8px}.logo-lockup{min-width:120px}.logo-lockup img{width:101px}.logo-caption{font-size:8px;letter-spacing:.12em;padding-left:7px;height:26px}.button-mini{display:none}.header-actions{margin-left:auto}.hero-grid{display:block;padding-top:65px;padding-bottom:10px;min-height:0}.hero-copy{padding:0}.hero-label{font-size:9px}.hero h1{font-size:clamp(47px,10vw,68px);margin:25px 0 22px}.hero-copy>p{font-size:14px;max-width:570px}.hero-ctas{gap:18px;flex-wrap:wrap;margin-top:27px}.hero-values{margin-top:36px;font-size:9px;gap:9px}.hero-visual{height:320px;width:85%;margin:30px auto 0}.hero-photo-main{width:90%;height:84%;right:1%}.hero-photo-small{width:43%;height:43%;bottom:0;left:-8%}.hero-roundel{width:87px;height:87px;font-size:8px}.hero-visual-stamp{padding:13px;right:-10%;bottom:1%}.hero-visual-stamp span{font-size:31px}.hero-visual-stamp small{font-size:7px}.hero-bottom{height:50px;font-size:8px}.hero-bottom span:nth-child(2){display:none}.quick-bar-inner{grid-template-columns:1fr 1fr}.quick-bar-inner>div{padding:10px 9px 10px 12px;gap:9px;min-height:75px}.quick-bar strong{font-size:26px}.quick-bar span{font-size:9px}.section{padding:72px 0}.section-top{display:block;margin-bottom:34px}.section-top>.text-link{margin-top:22px}.section-title{font-size:clamp(37px,8vw,50px)}.section-sub{font-size:14px;margin-top:19px}.intro-grid{display:block}.intro-left{padding:0 20px 30px 0}.image-stack{height:400px;max-width:500px}.intro-right{padding:36px 0 0}.intro-right>.intro-lead{font-size:19px}.intro-quote{margin-top:35px}.brands-grid{grid-template-columns:1fr;gap:15px}.brand-card{min-height:320px;padding:23px}.brand-card-logo{height:95px;margin-top:5px}.brand-card-logo img{max-height:90px}.brand-card-content{margin-top:8px}.brand-card p{margin-bottom:14px}.values-grid{grid-template-columns:1fr;gap:35px}.values-intro h2{font-size:48px}.value-row{padding:26px 0}.projects-grid,.posts-grid{grid-template-columns:1fr;gap:34px}.project-photo{height:240px}.banner-feature{padding:75px 0}.banner-feature-back img{width:100%;opacity:.2}.banner-feature-back:after{background:#0a4249b9}.banner-feature-grid{grid-template-columns:1fr}.banner-feature-grid h2{font-size:50px}.feature-mark{display:none}.posts-grid{gap:37px}.post-thumb{height:260px}.cta-band{padding:65px 0}.cta-band-inner{display:block}.cta-band h2{font-size:46px}.cta-band .button{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 22px;padding-bottom:40px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column;font-size:10px;padding:22px 0}.page-banner-inner{padding:65px 0}.page-banner h1{font-size:47px}.page-banner-seal{display:none}.page-banner-img .page-banner-photo{width:100%;opacity:.13}.editorial-grid{grid-template-columns:1fr;gap:30px}.editorial-aside{position:static}.aside-mark{display:none}.short-values-grid{grid-template-columns:1fr;gap:13px}.short-values-grid>div{display:flex;align-items:center;gap:25px;padding:10px}.short-values-grid strong{font-size:65px}.short-values-grid h3{font-size:10px}.short-values-grid p{margin-left:auto}.brand-hero{padding:75px 0}.brand-hero-grid{grid-template-columns:1fr;gap:38px}.brand-hero h1{font-size:59px}.brand-hero-logo{min-height:220px}.brand-hero-logo img{max-height:180px}.interstitial-grid{grid-template-columns:1fr}.interstitial-grid h2{font-size:38px}.interstitial .button{justify-self:start}.article-hero{padding:60px 0}.article-hero h1{font-size:45px}.article-hero p{font-size:15px}.article{padding-bottom:72px}.article-image{height:270px}.article-layout{grid-template-columns:1fr;gap:10px;margin-top:39px}.article-layout aside{order:2;border-top:1px solid #dce8e1;margin-top:20px}.prose-large{font-size:15px}.prose h2{font-size:32px}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-copy h2{font-size:50px}.contact-image{display:none}.contact-form-card{padding:25px}.form-row{grid-template-columns:1fr}.assistant{bottom:16px;right:14px}.assistant-pill{min-width:0;padding:5px}.assistant-pill>span:nth-child(2){display:none}.assistant-plus{display:none}.assistant-panel{bottom:63px}.assistant-pill .assistant-orb{width:42px;height:42px}.assistant-pill{box-shadow:0 5px 25px #003e4555}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ─── IFK GROUP 2.0 / CORPORATE DESIGN SYSTEM ──────────────────────── */
:root{--container:1320px;--ink:#10343f;--deep:#082f39;--lime:#bddc68;--paper:#fbfcfa;--cream:#f2f4ed;--line:#dde7e5}
body{background:#fbfcfa}
.header{transition:background .3s ease,box-shadow .3s ease}
.header.is-scrolled{box-shadow:0 12px 35px rgba(6,42,53,.09)}
.hero{background:radial-gradient(ellipse 800px 700px at 92% 20%,#22747888,transparent 73%),linear-gradient(116deg,#072932 0%,#0b4650 70%,#105b62 100%);min-height:680px}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0px,transparent 110px,#ffffff05 111px),linear-gradient(90deg,transparent 0%,#ffffff02 100%)}
.hero-grid{min-height:690px;grid-template-columns:51% 49%}
.hero-copy h1{font-weight:600;letter-spacing:-.055em;line-height:1.12;font-size:clamp(48px,5.55vw,88px)}
.hero-copy>p{max-width:570px;line-height:1.95}
.hero-photo-main{border-radius:12px 12px 3px 12px;overflow:hidden;box-shadow:0 26px 88px #071e2299}
.hero-photo-main img{filter:saturate(.86) contrast(1.02)}
.hero-photo-small{border:5px solid #e7f1e8;overflow:hidden;border-radius:9px;box-shadow:0 23px 60px #071e2299}
.hero-visual-stamp{backdrop-filter:blur(10px)}
.hero-visual-frame{animation:heroPicture .95s both .15s}
.hero-copy>*{animation:heroCopy .8s both}.hero-copy>*:nth-child(2){animation-delay:.1s}.hero-copy>*:nth-child(3){animation-delay:.18s}.hero-copy>*:nth-child(4){animation-delay:.27s}.hero-copy>*:nth-child(5){animation-delay:.36s}
@keyframes heroCopy{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes heroPicture{from{opacity:0;transform:translate(30px,20px) scale(.98)}to{opacity:1;transform:none}}
.corporate-facts{background:#ecf1ed;border-bottom:1px solid #dee7e0}.corporate-facts-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;align-items:stretch}.corporate-facts-grid>*{padding:34px 28px 38px;border-right:1px solid #d9e3dd}.corporate-facts-grid>*:first-child{padding-left:0}.corporate-facts-grid>*:last-child{border:0}.fact-kicker>span{font-size:11px;letter-spacing:.19em;font-weight:800;color:#257b76}.fact-kicker p{font-family:var(--serif);font-size:24px;line-height:1.3;margin:10px 0 0;max-width:300px}.fact-num{display:flex;align-items:flex-start;line-height:1;font-size:57px;font-weight:650;letter-spacing:-.065em;color:#0d4550}.fact-num em{font-size:26px;color:#56a393;font-style:normal;font-weight:500}.fact p{font-size:12px;line-height:1.5;color:#657577;max-width:170px;margin:10px 0 0}
/* service carousel */
.solutions-feature{background:linear-gradient(165deg,#f5f8f4,#fff 60%);overflow:hidden;padding-bottom:95px}
.solutions-feature .section-sub{max-width:720px}
.service-carousel-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 21px}.service-carousel-toolbar p{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#728281;font-weight:650}.carousel-controls{display:flex;gap:9px}.carousel-controls button{width:45px;height:45px;border:1px solid #c6d5d1;background:#fff;color:#0d4b52;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .22s,color .22s,transform .22s}.carousel-controls button:hover{background:#0a5054;color:#fff;transform:translateY(-2px)}
.service-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,33.2%);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding:2px 2px 10px}.service-carousel::-webkit-scrollbar{display:none}
.service-tile{display:flex;flex-direction:column;min-width:0;background:#fff;color:#193c44;scroll-snap-align:start;border:1px solid #dce6e3;overflow:hidden;border-radius:8px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.service-tile:hover{transform:translateY(-6px);box-shadow:0 20px 42px #092c3522;border-color:#a5c2b9}
.service-tile-media{height:240px;position:relative;background:#e2ebe6;overflow:hidden}.service-tile-media:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#112b2d5e);pointer-events:none}.service-tile-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1),filter .5s;filter:saturate(.83)}.service-tile:hover img{transform:scale(1.075);filter:saturate(1)}
.service-tile-number{position:absolute;bottom:15px;left:21px;z-index:1;color:white;font-size:10px;font-weight:750;letter-spacing:.14em}.service-tile-body{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1;min-height:242px}.service-tile-body>span:first-child{color:#259389;font-size:10px;font-weight:750;letter-spacing:.13em}.service-tile-body h3{font-size:clamp(19px,1.65vw,23px);line-height:1.34;letter-spacing:-.025em;margin:13px 0 12px;font-weight:650}.service-tile-body p{font-size:13px;color:#67797c;line-height:1.73;margin:0 0 19px}.service-tile-link{margin-top:auto;color:#08665e;font-weight:700;font-size:12px;display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5ece9}.service-tile-link svg{width:19px}.service-footer{display:flex;align-items:center;justify-content:space-between;padding-top:26px;border-top:1px solid #d8e5df;margin-top:26px;gap:25px}.service-footer>span{font-size:11px;letter-spacing:.17em;color:#768680}
/* quality-driven corporate layout */
.marquee-band{height:74px;background:#103e46;color:#e1e9ca;display:flex;align-items:center;overflow:hidden;border-top:1px solid #225862;border-bottom:1px solid #225862}.marquee-track{display:flex;white-space:nowrap;width:max-content;gap:25px;animation:marqueeMove 55s linear infinite}.marquee-track span{font-size:15px;font-weight:700;letter-spacing:.22em}.marquee-track b{font-weight:400;color:#bcd875;padding:0 16px}@keyframes marqueeMove{to{transform:translateX(-50%)}}
.group-commitments{background:#e9efea;padding:0}.commitments-grid{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.commitments-visual{position:relative;min-height:550px;margin-left:calc((100vw - min(calc(100vw - 88px),var(--container))) / -2);overflow:hidden}.commitments-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.82)}.commitments-visual:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#052c3b94)}.commitment-image-label{position:absolute;bottom:34px;left:calc((100vw - min(calc(100vw - 88px),var(--container))) / 2);z-index:1;display:flex;align-items:center;gap:22px;color:#fff}.commitment-image-label b{font-size:47px;line-height:1;letter-spacing:-.07em}.commitment-image-label span{border-left:1px solid #d0e6e288;padding-left:20px;font-size:10px;letter-spacing:.17em;line-height:1.7}.commitments-content{padding:85px 15px 75px 74px;display:flex;flex-direction:column;justify-content:center}.commitments-content .section-title{max-width:620px}.commitments-content>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#647471;max-width:570px;margin:16px 0 38px}.commitment-points{border-top:1px solid #cbdad2}.commitment-points a{display:flex;align-items:center;gap:20px;border-bottom:1px solid #cbdad2;padding:19px 3px;transition:padding-left .25s}.commitment-points a:hover{padding-left:10px}.commitment-points a span{font-size:11px;color:#2f9287}.commitment-points a strong{flex:1;font-weight:650;font-size:15px}.commitment-points a svg{width:20px;color:#1e655b}
/* photo-forward brands */
.brand-card{border-radius:6px;padding-bottom:30px;min-height:535px}
.brand-card-top{position:relative;z-index:2}
.brand-card-photo{height:163px;overflow:hidden;margin:16px -29px 0;position:relative;background:#e9efeb}.brand-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease;filter:saturate(.8)}.brand-card:hover .brand-card-photo img{transform:scale(1.08);filter:saturate(1)}
.brand-card-logo{position:relative;width:100%;height:45px;margin:17px 0 12px;display:flex;align-items:center;justify-content:flex-start}.brand-card-logo img{max-height:43px;max-width:182px;object-fit:contain}.brand-card-content{margin-top:0}.brand-card-content h3{font-size:23px}.brand-card-content p{font-size:13px}
/* Services directory & details */
.directory-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;border-bottom:1px solid #d9e6e1;padding-bottom:21px;margin-bottom:28px}.directory-top>span{font-size:12px;letter-spacing:.14em;color:#17766f;font-weight:750}.directory-top p{max-width:510px;color:#6d7d7e;font-size:14px;line-height:1.8;margin:0}.services-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.services-directory-grid .service-tile-media{height:225px}.service-related{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-detail-hero{background:linear-gradient(120deg,#092f3a,#155965);color:white;position:relative;overflow:hidden}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:540px;gap:70px;padding-top:64px;padding-bottom:64px}.service-detail-copy{padding:20px 0}.service-detail-copy h1{font-size:clamp(38px,4.5vw,72px);letter-spacing:-.055em;line-height:1.13;margin:24px 0}.service-detail-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#d0e5e3;max-width:530px;margin-bottom:28px}.service-detail-photo{height:435px;overflow:hidden;border-radius:5px 5px 65px 5px;box-shadow:0 30px 60px #08273272}.service-detail-photo img{width:100%;height:100%;object-fit:cover}.service-detail-body .prose{max-width:850px}
/* subtle progressive enhancement; content remains visible if JS fails */
@media(prefers-reduced-motion:no-preference){.js-motion [data-reveal]{opacity:0;transform:translateY(34px);transition:transform .85s cubic-bezier(.2,.7,.2,1),opacity .85s ease}.js-motion [data-reveal].is-visible{transform:none;opacity:1}.js-motion [data-reveal="card"]{transition-duration:.7s}.js-motion [data-reveal="card"]:nth-child(2){transition-delay:.08s}.js-motion [data-reveal="card"]:nth-child(3){transition-delay:.15s}.js-motion [data-reveal="card"]:nth-child(4){transition-delay:.06s}.js-motion [data-reveal="card"]:nth-child(5){transition-delay:.12s}}
@media(max-width:1100px){.corporate-facts-grid{grid-template-columns:repeat(2,1fr)}.corporate-facts-grid>*:nth-child(2){border-right:0}.corporate-facts-grid>*:nth-child(-n+2){border-bottom:1px solid #d9e3dd}.service-carousel{grid-auto-columns:minmax(315px,50%)}.commitments-content{padding-left:45px}.services-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero{min-height:0}.hero-grid{display:block;min-height:0}.hero-copy h1{font-size:clamp(42px,10vw,65px)}.hero-photo-main{border-radius:9px}.corporate-facts-grid{grid-template-columns:repeat(2,1fr)}.corporate-facts-grid>*{padding:24px 16px 28px}.corporate-facts-grid>*:first-child{padding-left:0}.fact-kicker p{font-size:18px}.fact-num{font-size:43px}.solutions-feature{padding-bottom:75px}.service-carousel{grid-auto-columns:minmax(285px,82%);gap:13px}.service-tile-media{height:200px}.service-tile-body{min-height:245px;padding:24px}.service-carousel-toolbar p{font-size:10px}.carousel-controls button{width:40px;height:40px}.service-footer{align-items:flex-start;flex-direction:column;gap:12px}.marquee-band{height:56px}.marquee-track span{font-size:11px}.commitments-grid{display:block}.commitments-visual{margin-left:0;min-height:320px;width:100%}.commitment-image-label{left:22px;bottom:24px}.commitments-content{padding:55px 0 65px}.services-directory-grid{grid-template-columns:1fr}.service-related{grid-template-columns:1fr}.directory-top{display:block}.directory-top p{margin-top:13px}.service-detail-grid{grid-template-columns:1fr;min-height:0;gap:20px;padding-top:62px;padding-bottom:55px}.service-detail-copy h1{font-size:40px}.service-detail-photo{height:280px}.brand-card{min-height:520px}.brand-card-photo{height:165px}.group-commitments .wrap{width:100%;padding:0 18px}.group-commitments .commitments-content{padding-top:60px}.service-tile:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-copy>*,.hero-visual-frame{animation:none!important}.marquee-track{animation:none!important}.service-tile,.service-tile img,.brand-card-photo img{transition:none!important}.service-carousel{scroll-behavior:auto}}

/* Editorial multiple-image galleries, with accessible headings and optional images. */
.content-gallery{margin:44px 0 14px;border-top:1px solid #d6e6e0;padding-top:26px}.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.gallery-heading span{font-size:11px;letter-spacing:.17em;color:#1b8175;font-weight:750}.gallery-heading strong{font-size:12px;font-weight:500;color:#637a7a}.content-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.content-gallery-grid figure{overflow:hidden;margin:0;border-radius:6px;aspect-ratio:1.3;background:#e8efeb}.content-gallery-grid figure:nth-child(3n+1){grid-column:span 2;aspect-ratio:1.95}.content-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease}.content-gallery-grid figure:hover img{transform:scale(1.035)}@media(max-width:640px){.content-gallery-grid{grid-template-columns:1fr}.content-gallery-grid figure,.content-gallery-grid figure:nth-child(3n+1){grid-column:auto;aspect-ratio:1.35}}@media(prefers-reduced-motion:reduce){.content-gallery-grid img{transition:none}}

/* IFK GROUP Frontend fix 2.2.0 — explicit icon constraints, polished focus and layout.
   Note: the primary remedy for missing styles is serving this file with HTTP 200/text/css. */
svg.i{display:inline-block;width:20px;height:20px;max-width:22px;max-height:22px;vertical-align:middle;flex-shrink:0}
.header a:focus-visible,.button:focus-visible,.service-tile:focus-visible,.brand-card:focus-visible{outline:3px solid #bfdc7a;outline-offset:3px}
.hero-visual img,.service-tile-media img,.brand-card-photo img{background:#edf3f0}
@media(max-width:760px){.hero-grid{gap:0}.hero-copy{padding-block:20px}.hero-visual{max-width:100%}.service-carousel{scroll-padding-left:16px}}
@media(prefers-reduced-motion:reduce){.hero-copy>*,.hero-visual-frame{animation:none!important}}


/* Corporate v2.3.0: IFK lettering aligned to the official geometric logotype. */
.value-letter,.short-values-grid strong,.hero-visual-stamp span,.intro-badge>span,.cta-watermark,.dashboard-big-mark{font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;letter-spacing:-.095em!important;font-style:normal!important}
.intro-image-main{object-position:center 45%}
.ifk-contact-dock{position:fixed;right:18px;bottom:18px;z-index:94;display:flex;gap:8px;flex-direction:column}
.ifk-contact-dock button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c5e4df;border-radius:999px;background:#074755;color:white;padding:12px 17px;box-shadow:0 8px 25px #063b4a33;font-size:12px;font-weight:800;cursor:pointer;min-width:138px}
.ifk-contact-dock button:last-child{background:#168b7e}
.ifk-contact-dock .i{width:18px;height:18px}
.assistant{bottom:22px;right:180px}
.ifk-contact-backdrop[hidden]{display:none!important}
.ifk-contact-backdrop{position:fixed;inset:0;background:#06232a88;z-index:110;display:grid;place-items:center;padding:15px;overflow-y:auto}
.ifk-contact-dialog{box-sizing:border-box;width:min(540px,100%);max-height:95vh;overflow-y:auto;position:relative;background:#fff;color:#143945;border-radius:20px;box-shadow:0 22px 80px #061a2445;padding:26px 28px;outline:0}
.ifk-contact-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 16px;border-bottom:1px solid #e0eae7}
.ifk-contact-dialog>header>div{display:flex;align-items:center;gap:9px}
.ifk-contact-dialog header b{display:block;font-size:13px;letter-spacing:.09em}
.ifk-contact-dialog header small{display:block;font-size:11px;color:#628388}
.ifk-contact-dialog header button{border:0;background:#edf5f2;border-radius:100%;width:30px;height:30px;font-size:23px;cursor:pointer}
.ifk-contact-dialog h2{margin:20px 0 8px;font:700 25px/1.2 Arial,sans-serif;letter-spacing:-.03em}
.ifk-contact-dialog p{font-size:13px;color:#58747b;line-height:1.6;margin:0 0 16px}
.ifk-contact-dialog form{display:grid;gap:12px}
.ifk-contact-dialog label:not(.ifk-contact-consent):not(.ifk-trap){display:grid;gap:5px;font-size:12px;font-weight:750;color:#305c64}
.ifk-contact-dialog label span:not(.ifk-contact-consent span){color:#b64b3d}
.ifk-contact-dialog input:not([type=checkbox]),.ifk-contact-dialog textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #d4e4df;border-radius:9px;background:#f9fcfb;color:#173f48;font-size:14px}
.ifk-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ifk-contact-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;color:#507179}
.ifk-contact-consent input{margin-top:2px}
.ifk-contact-consent a,.ifk-contact-dialog footer a{color:#047f89;text-decoration:underline}
.contact-captcha{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-size:12px;font-weight:800;color:#41646c}.contact-captcha strong{justify-self:end;padding:6px 10px;border:1px solid #c8e0d4;background:#edf7ef;color:#175c58;letter-spacing:.08em}.contact-captcha input{grid-column:1 / -1}.contact-form{font-weight:500}.contact-form input,.contact-form textarea,.contact-form select{font-weight:550}@media(max-width:760px){.contact-captcha{grid-template-columns:1fr}.contact-captcha strong{justify-self:start}}
.ifk-contact-send{background:#07556a;border:0;color:white;padding:12px 15px;border-radius:8px;font-weight:800;cursor:pointer}
.ifk-contact-send:disabled{opacity:.5;cursor:wait}
.ifk-contact-status{font-size:12px;line-height:1.5;color:#126b74;min-height:1px}

/* IFK typography hardening: reliable Vietnamese glyphs and readable weights. */
:root{--sans:"Inter","Be Vietnam Pro","Helvetica Neue",Arial,sans-serif;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif}
body{font-family:var(--sans);font-weight:500;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{font-synthesis:weight;font-weight:700}
.hero h1,.section-title,.values-intro h2,.banner-feature h2,.page-banner h1{font-family:var(--sans);font-weight:750;letter-spacing:-.045em}
.section-title{line-height:1.12}
.section-title em,.values-intro h2 em{font-family:var(--sans);font-style:italic;font-weight:650}
.post-card h3,.project-card h3,.brand-card h3,.service-tile h3{font-family:var(--sans);font-weight:700;line-height:1.25;letter-spacing:-.025em}
.section-sub,.intro-right p,.prose,.prose-large,.post-card p,.project-card p{font-weight:500;line-height:1.75}
.topline,.logo-caption,.eyebrow,.hero-label,.hero-values,.hero-bottom,.button,.text-link,.hero-textlink,.brand-card-top,.brand-card-action,.post-meta,.article-date,.consent{font-weight:750}
.mail-settings-panel{margin-top:24px}
.mail-status{font-size:11px;font-weight:800;padding:7px 10px;border-radius:999px;background:#edf5ef;color:#23744f;white-space:nowrap}
.mail-status.status-draft{background:#fff4e9;color:#a36632}
.smtp-form{display:grid;gap:4px}
@media(max-width:650px){.hero h1,.section-title,.values-intro h2,.banner-feature h2,.page-banner h1{letter-spacing:-.025em}}
.ifk-contact-dialog footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e1ebe8;padding-top:14px;margin-top:16px;font-size:12px}
.ifk-trap{position:absolute;left:-10000px;visibility:hidden}
body.ifk-contact-visible{overflow:hidden}
@media(max-width:760px){.ifk-contact-dock{right:14px;bottom:70px}.ifk-contact-dock button{min-width:0;padding:11px}.ifk-contact-dock button span{display:none}.assistant{right:15px;bottom:14px}.ifk-contact-dialog{padding:20px;max-height:96vh}.ifk-contact-fields{grid-template-columns:1fr}}

/* Corporate v2.6.0: keep Vietnamese text on a sturdy sans-serif family. */
:root{--sans:"Be Vietnam Pro","Inter","Segoe UI","Helvetica Neue",Arial,sans-serif}
body{font-family:var(--sans);font-weight:500}
.intro-right h2,.fact-kicker p,.banner-feature-grid h2,.cta-band h2,.page-banner h1,
.page-banner-seal,.editorial-aside .aside-mark,.prose h2,.prose h3,.short-values-grid strong,
.short-values-grid p,.brand-hero h1,.interstitial h2,.article-hero h1,.contact-copy h2,
.form-card-head h2,.error-page h1,.assistant-panel-content h3,.service-detail-copy h1,
.post-card h3,.project-card h3,.brand-card-content h3,.service-tile-body h3{
  font-family:var(--sans)!important;
  font-weight:700!important;
  font-style:normal;
  font-synthesis:none;
}
.intro-right h2 em,.section-title em,.values-intro h2 em{font-family:var(--sans)!important;font-style:italic;font-weight:650!important}
.topline-right a[href*="info@ifkgroup.net"]{display:none!important}
