:root{--charcoal: #07376A;--charcoal-dark: #041D38;--charcoal-surface: #092D54;--charcoal-card: #0D3868;--charcoal-border: rgba(255, 255, 255, .15);--white: #FFFFFF;--warm-white: #F4F7FB;--warm-white-alt: #EAF0F8;--concrete: #8292A2;--concrete-light: #B8C5D3;--concrete-dark: #495A6D;--gold: #1877D2;--gold-hover: #1261AD;--gold-subtle: rgba(24, 119, 210, .14);--gold-glow: rgba(24, 119, 210, .35);--text-dark: #072648;--text-muted: #51667D;--text-light: #F4F7FB;--text-light-muted: #B3C2D2;--success: #1E8E3E;--info: #1877D2;--warning: #F2994A;--danger: #D32F2F;--font-heading: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width: 1360px;--header-height: 88px;--header-height-scrolled: 72px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .18s cubic-bezier(.16, 1, .3, 1);--transition-normal: .32s cubic-bezier(.16, 1, .3, 1);--transition-slow: .6s cubic-bezier(.16, 1, .3, 1);--shadow-sm: 0 2px 8px rgba(7, 55, 106, .08);--shadow-md: 0 8px 24px rgba(7, 55, 106, .12);--shadow-lg: 0 16px 40px rgba(7, 55, 106, .18);--shadow-gold: 0 10px 28px rgba(24, 119, 210, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--warm-white);color:var(--text-dark);line-height:1.65;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.15;color:var(--charcoal);letter-spacing:-.025em}h1{font-size:clamp(2.5rem,5.5vw,4.25rem);font-weight:800;letter-spacing:-.035em}h2{font-size:clamp(2rem,3.8vw,3rem)}h3{font-size:clamp(1.4rem,2.2vw,1.85rem)}h4{font-size:1.25rem}p{margin-bottom:1.25rem;color:var(--text-muted)}p:last-child{margin-bottom:0}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}img,video{max-width:100%;height:auto;display:block}button,input,textarea,select{font-family:inherit;font-size:inherit}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (max-width: 768px){.container{padding-left:1.25rem;padding-right:1.25rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.95rem 1.85rem;font-family:var(--font-heading);font-size:.95rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn-primary{background-color:var(--gold);color:var(--charcoal-dark);border-color:var(--gold);box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--gold-hover);border-color:var(--gold-hover);transform:translateY(-2px);box-shadow:var(--shadow-gold);color:#000}.btn-secondary{background-color:transparent;color:var(--white);border-color:#fff6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background-color:#ffffff26;border-color:var(--white);color:var(--white);transform:translateY(-2px)}.btn-dark{background-color:var(--charcoal);color:var(--white);border-color:var(--charcoal)}.btn-dark:hover{background-color:var(--charcoal-surface);border-color:var(--charcoal-surface);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline-dark{background-color:transparent;color:var(--charcoal);border-color:var(--charcoal)}.btn-outline-dark:hover{background-color:var(--charcoal);color:var(--white);transform:translateY(-2px)}.btn-sm{padding:.65rem 1.25rem;font-size:.85rem}.btn-lg{padding:1.15rem 2.25rem;font-size:1.05rem}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-size:.825rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}.eyebrow:before{content:"";display:inline-block;width:24px;height:2px;background-color:var(--gold)}.eyebrow-center{justify-content:center}.eyebrow-center:after{content:"";display:inline-block;width:24px;height:2px;background-color:var(--gold)}.section{padding-top:clamp(4.5rem,8vw,7.5rem);padding-bottom:clamp(4.5rem,8vw,7.5rem);position:relative}.section-dark{background-color:var(--charcoal);color:var(--text-light)}.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--white)}.section-dark p{color:var(--text-light-muted)}.section-cream{background-color:var(--warm-white)}.section-white{background-color:var(--white)}.section-header{margin-bottom:clamp(2.5rem,5vw,4rem)}.section-header.text-center{text-align:center;max-width:820px;margin-left:auto;margin-right:auto}.section-header p.subtitle{font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--text-muted);line-height:1.6;margin-top:1rem}.section-dark .section-header p.subtitle{color:var(--text-light-muted)}.card{background:var(--white);border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06);overflow:hidden;transition:all var(--transition-normal)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.card-dark{background:var(--charcoal-surface);border:1px solid var(--charcoal-border)}.card-dark:hover{border-color:#c99a5266;box-shadow:0 16px 36px #0006}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-family:var(--font-heading);font-size:.875rem;font-weight:600;letter-spacing:.02em;margin-bottom:.5rem;color:var(--charcoal)}.form-dark .form-label{color:var(--warm-white)}.form-control{width:100%;padding:.85rem 1.15rem;font-family:var(--font-body);font-size:.95rem;color:var(--charcoal-dark);background-color:var(--white);border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-subtle)}.form-control-dark{background-color:#ffffff0f;border-color:#ffffff2e;color:var(--white)}.form-control-dark:focus{background-color:#ffffff1a;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-subtle)}.form-error{font-size:.8rem;color:var(--danger);margin-top:.35rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f1215d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;animation:fadeIn var(--transition-fast)}.modal-content{background-color:var(--white);border-radius:var(--radius-lg);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg);animation:scaleUp var(--transition-normal)}.modal-content-dark{background-color:var(--charcoal);color:var(--warm-white);border:1px solid var(--charcoal-border)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--warm-white)}::-webkit-scrollbar-thumb{background:var(--concrete);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gold)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulseGlow{0%,to{opacity:.4}50%{opacity:.8}}:root{--skanska-navy-dark: #031427;--skanska-navy: #07376A;--skanska-navy-light: #0A325E;--skanska-blue: #1877D2;--skanska-cyan: #0091FF;--skanska-light-gray: #EAF0F8;--skanska-bg-light: #F4F7FB;--skanska-border-light: rgba(7, 55, 106, .1);--skanska-border-dark: rgba(255, 255, 255, .15)}@keyframes skanskaKenBurns{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes skanskaWordReveal{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@keyframes skanskaFadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes skanskaSlideProgress{0%{width:0%}to{width:100%}}.skanska-hero-title{color:#fff!important;font-size:clamp(2.6rem,5.5vw,4.75rem);font-weight:800;line-height:1.05;letter-spacing:-.035em;margin-bottom:1.5rem;text-shadow:0 4px 24px rgba(0,0,0,.6)}.skanska-hero-title *{color:#fff!important}.skanska-split-word{display:inline-block;margin-right:.28em;opacity:0;color:#fff!important;transform:translateY(36px);animation:skanskaWordReveal .75s cubic-bezier(.16,1,.3,1) forwards}.skanska-bubble-btn{display:inline-flex;align-items:center;gap:.85rem;padding:.55rem .55rem .55rem 1.6rem;border-radius:50px;font-family:var(--font-heading);font-weight:700;font-size:.95rem;letter-spacing:-.01em;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);text-decoration:none;border:1px solid transparent;white-space:nowrap}.skanska-bubble-btn-light{background:#fff;color:#00263e;box-shadow:0 4px 16px #0000001f}.skanska-bubble-btn-light:hover{background:#f0f4f8;color:#001726;transform:translateY(-2px);box-shadow:0 10px 28px #0000002e}.skanska-bubble-btn-dark{background:#00263e;color:#fff;box-shadow:0 4px 16px #00263e33}.skanska-bubble-btn-dark:hover{background:#001726;color:#fff;transform:translateY(-2px);box-shadow:0 10px 28px #00263e52}.skanska-bubble-btn-gold{background:var(--gold);color:var(--charcoal-dark);box-shadow:0 4px 16px #c99a524d}.skanska-bubble-btn-gold:hover{background:var(--gold-hover);color:#000;transform:translateY(-2px);box-shadow:0 10px 28px #c99a5273}.skanska-bubble-circle{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#00263e;color:#fff;transition:all .3s cubic-bezier(.16,1,.3,1);flex-shrink:0}.skanska-bubble-btn-dark .skanska-bubble-circle{background:#ffffff26;color:#fff}.skanska-bubble-btn-gold .skanska-bubble-circle{background:var(--charcoal-dark);color:var(--gold)}.skanska-bubble-btn:hover .skanska-bubble-circle{transform:translate(3px);background:var(--gold);color:var(--charcoal-dark)}.skanska-bubble-btn-gold:hover .skanska-bubble-circle{transform:translate(3px);background:#000;color:#fff}.skanska-hero{position:relative;min-height:94vh;display:flex;align-items:center;background-color:var(--skanska-navy-dark);color:#fff;padding-top:140px;padding-bottom:90px;overflow:hidden}.skanska-hero-media{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:1}.skanska-hero-bg{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;width:108%;height:108%;object-fit:cover;animation:skanskaKenBurns 22s infinite alternate ease-in-out;filter:contrast(1.12) brightness(.96)}.skanska-hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0014206b,#00263e85 45%,#00101ae0);z-index:2}.skanska-hero-grid{position:relative;z-index:10;display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}@media (max-width: 992px){.skanska-hero-grid{grid-template-columns:1fr;gap:2.5rem}}.skanska-teasers-container{display:flex;gap:1.25rem;height:560px;width:100%}.skanska-teaser-card{position:relative;flex:1;border-radius:12px;overflow:hidden;cursor:pointer;transition:flex .65s cubic-bezier(.16,1,.3,1),transform .4s ease,box-shadow .4s ease;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;background-color:var(--skanska-navy);box-shadow:0 8px 24px #0000001a}.skanska-teaser-card.expanded,.skanska-teaser-card:hover{flex:2.65;box-shadow:0 16px 40px #00263e47}.skanska-teaser-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease}.skanska-teaser-card:hover .skanska-teaser-bg,.skanska-teaser-card.expanded .skanska-teaser-bg{transform:scale(1.08)}.skanska-teaser-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#001a2c26,#00263e66 40%,#001422eb);transition:background .4s ease}.skanska-teaser-card:hover .skanska-teaser-overlay,.skanska-teaser-card.expanded .skanska-teaser-overlay{background:linear-gradient(180deg,#001a2c40,#00263e8c 35%,#00101cf5)}.skanska-teaser-content{position:relative;z-index:5;padding:2rem;color:#fff}.skanska-teaser-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.skanska-teaser-title{color:#fff;font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:700;margin:0;line-height:1.2}.skanska-teaser-desc{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .4s ease,margin .4s ease;margin-top:0;color:#ffffffd9;font-size:.95rem;line-height:1.6}.skanska-teaser-card.expanded .skanska-teaser-desc,.skanska-teaser-card:hover .skanska-teaser-desc{max-height:140px;opacity:1;margin-top:1rem}@media (max-width: 900px){.skanska-teasers-container{flex-direction:column;height:auto;gap:1.25rem}.skanska-teaser-card{height:260px;flex:none!important}.skanska-teaser-desc{max-height:100px;opacity:1;margin-top:.5rem}}.skanska-showcase-container{position:relative;border-radius:16px;overflow:hidden;min-height:600px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2.5rem,5vw,4.5rem);color:#fff;box-shadow:0 20px 50px #00000040;background-color:var(--skanska-navy-dark)}.skanska-showcase-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s ease;z-index:1}.skanska-showcase-bg-layer img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.skanska-showcase-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00172699,#00263eb8 40%,#00121ef2);z-index:2}.skanska-showcase-header{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.skanska-showcase-tabs{display:flex;gap:.75rem;flex-wrap:wrap}.skanska-showcase-tab{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.6rem 1.25rem;border-radius:50px;font-family:var(--font-heading);font-size:.85rem;font-weight:700;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.skanska-showcase-tab.active{background:#fff;color:#00263e;border-color:#fff;box-shadow:0 4px 16px #0003}.skanska-showcase-body{position:relative;z-index:10;max-width:820px;margin-top:4rem}.skanska-showcase-heading{color:#fff;font-size:clamp(2.2rem,4.5vw,3.75rem);font-weight:800;line-height:1.1;margin-bottom:1.25rem;letter-spacing:-.025em}.skanska-showcase-intro{color:#ffffffe6;font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.65;margin-bottom:2.5rem}.skanska-projects-top-row{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:center;margin-bottom:3rem}@media (max-width: 900px){.skanska-projects-top-row{grid-template-columns:1fr;gap:2rem}}.skanska-featured-card{position:relative;border-radius:14px;overflow:hidden;height:440px;background-color:var(--skanska-navy);box-shadow:0 16px 36px #00263e29;cursor:pointer;text-decoration:none;display:block}.skanska-featured-card:hover .skanska-featured-img{transform:scale(1.06)}.skanska-featured-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.skanska-featured-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000001a,#00263e66 40%,#001422eb)}.skanska-featured-content{position:absolute;bottom:0;left:0;right:0;padding:2.25rem;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem}.skanska-infographics-grid{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center;padding:4.5rem 0;border-top:1px solid var(--skanska-border-light);border-bottom:1px solid var(--skanska-border-light)}.skanska-metrics-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}@media (max-width: 992px){.skanska-infographics-grid{grid-template-columns:1fr;gap:2.5rem}}@media (max-width: 768px){.skanska-metrics-columns{grid-template-columns:1fr;gap:2rem}}.skanska-metric-item{display:flex;flex-direction:column}.skanska-metric-number{font-family:var(--font-heading);font-size:clamp(2.75rem,4.5vw,4.25rem);font-weight:800;color:var(--skanska-navy);line-height:1;letter-spacing:-.04em;margin-bottom:.75rem}.skanska-metric-label{font-size:1rem;color:var(--skanska-text-muted);line-height:1.55;margin:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a:not([href^="/admin"]):not(.admin-link){cursor:default!important}
