@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#153743;--deep:#112b35;--accent:#507988;--light:#e0edf0;--paper:#f5f6f5;--muted:#60727a;--line:#d7dfe0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 'DM Sans',Arial,sans-serif}body.gallery-open{overflow:hidden}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1390px,calc(100% - 88px));margin:auto}.skip{position:absolute;left:-9999px;top:12px;z-index:30;background:white;padding:10px}.skip:focus{left:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.header{position:relative;z-index:10;background:var(--paper);border-bottom:1px solid #e1e7e7}.header-inner{height:88px;display:flex;justify-content:space-between;align-items:center;gap:28px}.brand img{width:142px;height:auto;display:block}.header nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,35px);font-size:13px;font-weight:700;white-space:nowrap}.header nav a{text-decoration:none;transition:color .25s}.header nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--ink);padding:10px 0}.nav-contact span{margin-left:16px}.menu-button{display:none}.eyebrow{font:800 11px/1.4 Manrope,Arial,sans-serif;letter-spacing:.2em;color:var(--accent);margin:0 0 28px}.eyebrow.light{color:#b9d5db}.section{padding:clamp(88px,9vw,150px) 0;scroll-margin-top:30px}h1,h2,h3,h4,p{overflow-wrap:break-word}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h2{font-size:clamp(2.75rem,5vw,5.65rem);font-weight:500;line-height:1.11;letter-spacing:-.065em;margin:0}h2 em,h1 em{font-style:normal;color:var(--accent)}
.hero{background:#242e34;color:#fff;position:relative;min-height:clamp(720px,74vw,905px);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.hero-image{position:absolute;inset:0 0 auto;height:clamp(450px,46vw,695px);overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}.hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#172b35 7%,#172b35ed 27%,#172b3550 55%,transparent 80%);pointer-events:none}.hero-content{position:relative;z-index:2;padding:290px 0 78px}.hero h1{font-weight:500;font-size:clamp(3.7rem,6.4vw,7.3rem);letter-spacing:-.072em;line-height:1.09;max-width:1100px;margin:0}.hero h1 em{color:#c4e0e5}.hero-content>p:not(.eyebrow){font-size:clamp(16px,1.45vw,19px);max-width:670px;color:#d9e5e7;line-height:1.7;margin:26px 0 32px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{border:0;text-decoration:none;font:700 14px/1.2 Manrope,Arial,sans-serif;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:54px;padding:16px 22px;transition:transform .3s,background .3s}.button:hover{transform:translateY(-3px)}.button-light{background:#e0ecee;color:var(--ink)}.button-light:hover{background:white}.text-link{font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding:0 0 6px}.text-link span{margin-left:14px}.light-link{color:#e7f0f1}.hero-bottom{position:relative;z-index:2;border-top:1px solid #ffffff30;padding:20px 0 25px;display:flex;gap:35px;color:#b4c8cd;letter-spacing:.2em;font:700 10px Manrope,Arial,sans-serif}.hero-bottom span:last-child{margin-left:auto}
.statement{background:white}.statement-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:8%;align-items:start}.statement h2{max-width:820px}.statement-copy{padding-top:9px;color:#4d646d;font-size:18px;line-height:1.75}.statement-copy p{margin:0 0 24px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:100px}.process-grid article{border-top:1px solid #9eb3ba;padding-top:25px}.process-no{font:700 12px Manrope,Arial,sans-serif;color:var(--accent)}.process-grid h3{font-size:21px;letter-spacing:-.035em;line-height:1.25;margin:20px 0 12px}.process-grid p{margin:0;color:var(--muted);max-width:340px}
.portfolio{background:#eaf0f1}.portfolio-head{display:grid;grid-template-columns:1.4fr .6fr;gap:8%;align-items:end;margin-bottom:45px}.portfolio-head p:not(.eyebrow){margin:0 0 25px;color:#536b73}.portfolio-meta{font:700 11px Manrope,Arial,sans-serif;letter-spacing:.14em;color:#758c92}.photo-grid{display:grid;grid-template-columns:1.4fr .9fr .9fr;gap:12px}.photo-grid figure{position:relative;margin:0;min-height:470px;overflow:hidden;background:#bbcbd0;isolation:isolate}.photo-grid img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.8,.2,1)}.photo-grid figure:hover img{transform:scale(1.045)}.photo-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:75px 23px 21px;background:linear-gradient(transparent,#0d2936ce);color:white;font-size:14px;font-weight:700;z-index:1;pointer-events:none}.photo-grid figcaption span{font-size:12px;margin-right:14px;color:#c3dee4}.photo-grid figure:after{content:'↗';position:absolute;top:18px;right:18px;width:38px;height:38px;border:1px solid #ffffffac;color:white;border-radius:50%;display:grid;place-items:center;background:#13323d50;z-index:1;pointer-events:none;transition:transform .25s}.photo-grid figure:hover:after{transform:translate(3px,-3px)}.photo-open{position:absolute;inset:0;width:100%;height:100%;z-index:2;border:0;background:transparent;cursor:zoom-in}.photo-open:focus-visible{outline:3px solid white;outline-offset:-7px}
.technical{background:#f9faf9}.technical-top{display:grid;grid-template-columns:1fr .55fr;gap:8%;align-items:end;margin-bottom:55px}.technical-top p{margin:0 0 7px;color:#4e6770;font-size:18px;line-height:1.7}.tech-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tech-card{background:white;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.tech-card.featured{border-color:#a4bec6;box-shadow:0 20px 55px #173b4310}.tech-card-top{padding:31px 30px 29px;border-bottom:1px solid var(--line);min-height:235px}.tech-card-top>span{font:800 11px Manrope,Arial,sans-serif;letter-spacing:.17em;color:var(--accent)}.tech-card h3{font-size:clamp(1.45rem,2vw,2rem);font-weight:600;letter-spacing:-.05em;line-height:1.16;margin:25px 0 11px}.tech-card-top p,.tech-body p{color:#526970;margin:0}.tech-body{padding:27px 30px 22px;flex:1}.tech-body h4{font:700 14px Manrope,Arial,sans-serif;margin:0 0 13px}.tech-body h4:not(:first-child){margin-top:25px}.tech-body ul{padding:0;margin:0;list-style:none}.tech-body li{padding:9px 0 9px 20px;position:relative;border-bottom:1px solid #edf0f0;font-size:14px;line-height:1.48}.tech-body li:before{content:'+';position:absolute;left:0;top:8px;color:var(--accent);font-weight:700}.tech-body p{font-size:14px;line-height:1.55}.tech-link{border-top:1px solid var(--line);padding:19px 30px;color:var(--ink);font:700 14px Manrope,Arial,sans-serif;text-decoration:none;display:flex;justify-content:space-between}.tech-link:hover{background:#edf3f4}.tech-disclaimer{font-size:13px;line-height:1.6;color:#71848b;max-width:980px;margin:28px 0 0}
.about{background:#dae5e8}.about-grid{display:grid;grid-template-columns:1fr .9fr;gap:12%}.about h2{font-size:clamp(2.7rem,4.7vw,5.7rem)}.about-number{font:800 26px Manrope,Arial,sans-serif;letter-spacing:.16em;margin-top:105px}.about-number span{font:500 13px 'DM Sans',Arial,sans-serif;letter-spacing:normal;display:block;color:#5d7379;margin-top:8px}.about-copy{padding-top:52px;color:#4e6670}.about-copy .lead{font-size:clamp(22px,2.2vw,29px);line-height:1.4;letter-spacing:-.03em;color:var(--ink);margin:0 0 35px}.about-copy p:not(.lead){margin:0 0 21px;font-size:17px;line-height:1.72}.underlined-link{display:inline-block;margin-top:17px;border-bottom:1px solid currentColor;text-decoration:none;font-weight:700;font-size:14px;padding-bottom:5px}.underlined-link span{margin-left:12px}
.contact{background:var(--deep);color:white}.contact-grid{display:grid;grid-template-columns:.82fr 1fr;gap:10%}.contact h2{font-size:clamp(3rem,4.8vw,5.6rem)}.contact h2 em{color:#a7ccd3}.contact-grid>div>p:not(.eyebrow){color:#c4d6d9;font-size:18px;max-width:500px;margin:30px 0}.contact-lines{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:55px}.contact-lines a{text-decoration:none;font-size:19px;font-weight:700}.contact-lines span{font-size:14px;color:#adc1c6;margin-top:10px}.form{display:flex;flex-direction:column;gap:16px}.form label{font-size:13px;font-weight:700;letter-spacing:.025em}.form input:not([type=checkbox]),.form select,.form textarea{display:block;width:100%;margin-top:7px;background:#1a404b;border:1px solid #57717a;border-radius:0;color:white;padding:13px 14px;outline:none;min-height:49px}.form textarea{resize:vertical}.form input::placeholder,.form textarea::placeholder{color:#aac0c4}.form input:focus,.form select:focus,.form textarea:focus{border-color:#b8d8df;box-shadow:0 0 0 2px #b8d8df33}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form .consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5;color:#c6d6d8}.consent input{accent-color:#c2dde3;min-width:18px;min-height:18px;margin:3px 0 0}.form button{align-self:flex-start;margin-top:7px}.form-status{margin:0;font-size:14px;color:#d6eeee}.form-status:empty{display:none}.form-note{font-size:12px;color:#a4b8be;margin:0;max-width:550px}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}.footer{background:#081f29;color:#a8bec3}.footer-inner{min-height:115px;display:flex;align-items:center;gap:40px;font-size:13px}.footer-brand{margin-right:auto}.footer-brand img{width:105px;filter:brightness(0) invert(1);display:block;height:auto}.footer a{text-decoration:none;color:#d0dde0}
.photo-dialog{padding:0;border:0;background:transparent;color:white;width:min(1120px,calc(100vw - 48px));max-width:none;max-height:calc(100vh - 32px);overflow:visible}.photo-dialog::backdrop{background:#061c25e8;backdrop-filter:blur(12px)}.photo-dialog[open] .photo-dialog-inner{animation:picture-in .5s cubic-bezier(.2,.8,.2,1) both}.photo-dialog-inner{position:relative;display:flex;flex-direction:column;align-items:center}.photo-dialog-image{display:block;max-width:100%;max-height:calc(100vh - 146px);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 90px #0006}.photo-close{align-self:flex-end;margin-bottom:15px;border:0;background:none;color:white;font-size:14px;font-weight:700;display:flex;gap:15px;align-items:center;padding:8px 0}.photo-close span{font-size:28px;font-weight:400;line-height:1}.photo-dialog-bottom{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:17px;font-size:14px}.photo-dialog-controls{display:flex;align-items:center;gap:12px;white-space:nowrap}.photo-dialog-controls button{width:38px;height:38px;border:1px solid #ffffff85;border-radius:50%;background:none;color:white;font-size:20px}.photo-dialog-controls button:hover,.photo-dialog-controls button:focus-visible{background:white;color:var(--deep)}.photo-count{min-width:42px;text-align:center;color:#c5d5d8;font-size:12px}@keyframes picture-in{from{opacity:0;transform:translateX(32px) scale(.98)}to{opacity:1;transform:none}}@keyframes hero-in{from{opacity:0;transform:translateY(19px)}to{opacity:1;transform:none}}@keyframes cover-in{from{opacity:.4;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){.hero-image img{animation:cover-in 1.5s cubic-bezier(.18,.72,.24,1) both}.hero-content>*{animation:hero-in .8s cubic-bezier(.2,.8,.2,1) both}.hero-content>*:nth-child(2){animation-delay:.08s}.hero-content>*:nth-child(3){animation-delay:.16s}.hero-content>*:nth-child(4){animation-delay:.24s}.motion-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}.motion-ready .reveal.reveal-left{transform:translateX(-35px)}.motion-ready .reveal.reveal-right{transform:translateX(35px)}.motion-ready .reveal.visible{opacity:1;transform:none}.motion-ready .photo-grid figure:nth-child(2),.motion-ready .tech-card:nth-child(2){transition-delay:.09s}.motion-ready .photo-grid figure:nth-child(3),.motion-ready .tech-card:nth-child(3){transition-delay:.18s}}
@media(max-width:1050px){.header nav{gap:15px;font-size:12px}.statement-grid,.portfolio-head,.technical-top{gap:5%}.tech-card-top,.tech-body{padding-left:22px;padding-right:22px}.tech-link{padding-left:22px;padding-right:22px}.tech-card-top{min-height:265px}.photo-grid figure{min-height:380px}}
@media(max-width:760px){.shell{width:min(100% - 38px,620px)}.header-inner{height:70px}.brand img{width:116px}.menu-button{display:block;border:0;background:none;color:var(--ink);font-size:14px;font-weight:800;padding:10px 0 10px 10px}.menu-button span{margin-left:8px}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:18px 19px 25px;box-shadow:0 18px 25px #102e3930;flex-direction:column;align-items:stretch;gap:0;font-size:14px}.header nav.open{display:flex}.header nav a{padding:11px 0}.nav-contact{margin-top:8px}.hero{min-height:760px}.hero-image{height:275px}.hero-image img{object-fit:contain;object-position:center top}.hero:before{background:linear-gradient(0deg,#172b35 51%,#172b351a 82%,transparent 100%)}.hero-content{padding:310px 0 55px}.hero h1{font-size:clamp(3.05rem,10.6vw,5.5rem)}.hero-content>p:not(.eyebrow){font-size:16px}.hero-bottom{gap:15px;flex-wrap:wrap;font-size:9px}.hero-bottom span:last-child{display:none}.section{padding:82px 0}.statement-grid,.portfolio-head,.technical-top,.about-grid,.contact-grid{display:block}.statement-copy{padding-top:34px;font-size:17px}.process-grid{grid-template-columns:1fr;gap:27px;margin-top:54px}.process-grid article{padding-top:18px}.process-grid h3{margin:10px 0}.portfolio-head>div+div{margin-top:26px}.photo-grid{grid-template-columns:1fr 1fr;gap:10px}.photo-grid figure{min-height:255px}.photo-grid .photo-large{grid-column:1/-1;min-height:420px}.technical-top p{margin-top:27px;font-size:17px}.tech-cards{grid-template-columns:1fr;gap:12px}.tech-card-top{min-height:0}.tech-body{padding-bottom:30px}.about-copy{padding-top:36px}.about-number{margin-top:50px}.contact-grid .form{margin-top:55px}.footer-inner{min-height:145px;flex-wrap:wrap;justify-content:flex-start;align-content:center;gap:8px 22px}.footer-brand{width:100%;margin:0}.footer-brand img{width:90px}.motion-ready .reveal.reveal-left,.motion-ready .reveal.reveal-right{transform:translateY(22px)}}
@media(max-width:420px){.hero{min-height:810px}.hero-image{height:195px}.hero-content{padding-top:228px}.hero h1{font-size:clamp(2.8rem,11.3vw,4rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:21px}.hero-bottom{font-size:8px}.section h2{font-size:clamp(2.65rem,12vw,4rem)}.photo-grid{grid-template-columns:1fr}.photo-grid .photo-large,.photo-grid figure{grid-column:auto;min-height:340px}.field-row{grid-template-columns:1fr}.contact-lines a{font-size:17px}.photo-dialog{width:calc(100vw - 28px)}.photo-dialog-image{max-height:calc(100dvh - 160px)}.photo-dialog-bottom{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
/* Curated reference gallery */
.gallery{position:relative}.gallery-viewport{overflow:hidden}.gallery-track{display:flex;gap:18px;align-items:stretch;transition:transform .75s cubic-bezier(.2,.76,.18,1);will-change:transform}.gallery-slide{position:relative;flex:0 0 82%;aspect-ratio:1.64;margin:0;overflow:hidden;background:#c6d2d5;isolation:isolate}.gallery-slide img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1s cubic-bezier(.2,.76,.18,1),filter .6s}.gallery-slide:hover img{transform:scale(1.035)}.gallery-slide:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#071f2ac9);pointer-events:none}.gallery-slide figcaption{position:absolute;z-index:1;left:clamp(24px,4vw,60px);bottom:clamp(24px,4vw,54px);display:flex;flex-direction:column;align-items:flex-start;color:#fff;pointer-events:none}.gallery-slide figcaption span{font:700 12px Manrope,Arial,sans-serif;letter-spacing:.22em;color:#c4dce0;margin-bottom:15px}.gallery-slide figcaption strong{font:500 clamp(29px,4vw,60px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.055em}.gallery-slide figcaption small{font-size:15px;margin-top:9px;color:#dfedef}.gallery-slide .photo-open{cursor:zoom-in}.gallery-slide .photo-open:focus-visible{outline:3px solid #fff;outline-offset:-7px}.gallery-footer{display:flex;align-items:center;gap:24px;padding-top:22px}.gallery-progress{height:2px;background:#b9cbd0;flex:1;max-width:220px}.gallery-progress span{display:block;height:100%;width:50%;background:var(--ink);transform:translateX(0);transition:transform .75s cubic-bezier(.2,.76,.18,1)}.gallery-index{font:700 13px Manrope,Arial,sans-serif;letter-spacing:.11em;white-space:nowrap}.gallery-index i{font-style:normal;color:#8ba4ac;padding:0 6px}.gallery-controls{display:flex;gap:9px;margin-left:auto}.gallery-controls button{width:50px;height:50px;background:transparent;border:1px solid #a8bdc3;border-radius:50%;font-size:22px;color:var(--ink);transition:background .25s,color .25s,transform .3s}.gallery-controls button:hover,.gallery-controls button:focus-visible{background:var(--ink);color:#fff;transform:translateY(-2px)}.photo-dialog-image{transition:opacity .24s,transform .45s cubic-bezier(.2,.76,.18,1)}.photo-dialog-image.changing{opacity:.25;transform:translateX(20px) scale(.98)}
@media(max-width:760px){.gallery-track{gap:10px}.gallery-slide{flex-basis:92%;aspect-ratio:.88}.gallery-slide figcaption{left:22px;bottom:28px}.gallery-slide figcaption strong{font-size:clamp(27px,8vw,42px)}.gallery-footer{gap:15px}.gallery-progress{max-width:90px}.gallery-controls button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.gallery-track,.gallery-slide img,.gallery-progress span,.photo-dialog-image{transition:none!important}}
.gallery-slide img{filter:saturate(.94) contrast(1.02) brightness(.97)}
/* Clear technical specifications */
.technical-top>div .underlined-link{margin-top:23px}.tech-card-top{min-height:205px}.tech-card-top h3{font-size:clamp(2rem,2.7vw,2.9rem);margin:22px 0 12px}.specs{margin:0;padding:2px 30px 22px;flex:1}.specs>div{border-bottom:1px solid #e8eeee;padding:19px 0 18px}.specs>div:last-child{border-bottom:0}.specs dt{font:800 11px/1.5 Manrope,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.specs dd{margin:0;color:#324d56;font-size:16px;line-height:1.5}.tech-card.featured{box-shadow:0 28px 68px #173b4314}.tech-card.featured .tech-card-top{background:#e9f1f2}.gallery-progress span{width:33.333333%}.gallery-slide:first-child img{object-position:center 31%}
@media(max-width:1050px){.specs{padding-left:22px;padding-right:22px}.tech-card-top{min-height:235px}}
@media(max-width:760px){.tech-card-top{min-height:0}.specs{padding-bottom:18px}.specs>div{padding:15px 0}.gallery-slide:first-child img{object-position:center center}}
/* Individual brick houses */
.custom-build-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:start}.custom-build-copy{padding-top:10px;color:#4e6770;font-size:18px;line-height:1.7}.custom-build-copy p{margin:0 0 22px}.custom-build-copy .lead{color:var(--ink);font:500 clamp(1.35rem,2vw,1.8rem)/1.48 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin-bottom:29px}.custom-build-copy .underlined-link{margin-top:8px}.custom-build-points{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:105px}.custom-build-points>div{border-top:1px solid #9eb3ba;padding-top:22px}.custom-build-points span{font:800 11px Manrope,Arial,sans-serif;letter-spacing:.13em;color:var(--accent)}.custom-build-points h3{font-size:clamp(20px,2vw,25px);letter-spacing:-.045em;line-height:1.2;margin:20px 0 11px}.custom-build-points p{margin:0;color:var(--muted);max-width:360px}.gallery-slide:nth-child(2) img,.gallery-slide:nth-child(3) img{object-position:center 46%}
@media(max-width:760px){.custom-build-grid{display:block}.custom-build-copy{padding-top:29px;font-size:17px}.custom-build-points{grid-template-columns:1fr;gap:25px;margin-top:60px}.custom-build-points>div{padding-top:17px}.custom-build-points h3{margin:11px 0}.gallery-slide:nth-child(2) img,.gallery-slide:nth-child(3) img{object-position:center center}}
/* New editorial pages and compact service overview */
.preview-heading{display:grid;grid-template-columns:1.25fr .65fr;gap:8%;align-items:end}.preview-heading p{font-size:18px;color:#4e6770;margin:0 0 5px}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:58px 0 22px}.preview-grid a{display:block;min-height:260px;background:#eaf0f1;border:1px solid #d5e0e2;text-decoration:none;padding:28px 29px;position:relative;transition:background .3s,transform .4s cubic-bezier(.2,.8,.2,1)}.preview-grid a:hover{background:white;transform:translateY(-5px)}.preview-grid span{font:800 11px Manrope,Arial,sans-serif;letter-spacing:.15em;color:var(--accent)}.preview-grid h3{font:600 clamp(22px,2vw,29px)/1.22 Manrope,Arial,sans-serif;letter-spacing:-.045em;margin:34px 0 12px}.preview-grid p{font-size:15px;max-width:270px;color:#60727a;margin:0}.preview-grid b{position:absolute;right:27px;bottom:25px;font-weight:400;font-size:22px}.page-intro{background:#eaf0f1;padding:clamp(92px,11vw,170px) 0 64px}.page-intro h1{font:500 clamp(3.5rem,8vw,9.2rem)/1.05 Manrope,Arial,sans-serif;letter-spacing:-.075em;margin:0;max-width:1300px}.page-intro h1 em{font-style:normal;color:var(--accent)}.intro-foot{display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid #bbced2;margin-top:66px;padding-top:23px}.intro-foot p{font-size:20px;line-height:1.55;max-width:600px;margin:0}.intro-foot span{font:800 11px Manrope,Arial,sans-serif;letter-spacing:.16em;color:var(--accent);white-space:nowrap}.story-section{background:#f9faf9;padding:60px 0 108px}.story-stage{position:relative;min-height:clamp(530px,53vw,690px);overflow:hidden;background:#1b3640}.story-slide{position:absolute;inset:0;display:grid;grid-template-columns:1.32fr .68fr;opacity:0;visibility:hidden;transform:translateX(7%);transition:transform .8s cubic-bezier(.18,.76,.18,1),opacity .7s,visibility .8s;pointer-events:none}.story-slide.is-active{opacity:1;visibility:visible;transform:none;z-index:2;pointer-events:auto}.story-slide.is-past{transform:translateX(-7%)}.story-photo{overflow:hidden;min-width:0}.story-photo img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.055);transition:transform 1.15s cubic-bezier(.18,.76,.18,1)}.story-slide.is-active img{transform:scale(1)}.story-copy{background:#14343f;color:white;padding:clamp(38px,4.7vw,76px);display:flex;flex-direction:column;justify-content:flex-end}.story-number{font:700 14px Manrope,Arial,sans-serif;letter-spacing:.15em;margin-bottom:auto}.story-number i{font-style:normal;color:#9fb8bd;margin:0 7px}.story-copy .eyebrow{margin-bottom:18px;color:#b3d0d5}.story-copy h2{font-size:clamp(2.5rem,4.2vw,5.4rem);line-height:1.09;letter-spacing:-.065em}.story-copy>p:last-child{font-size:clamp(15px,1.3vw,18px);line-height:1.67;color:#cfdee1;margin:23px 0 0;max-width:450px}.story-controls{display:flex;align-items:center;gap:22px;margin:21px 0 38px}.story-meter{flex:1;height:2px;background:#cbd9dc}.story-meter span{height:100%;width:12.5%;display:block;background:#153743;transition:transform .75s cubic-bezier(.18,.76,.18,1)}.story-counter{min-width:63px;font:800 12px Manrope,Arial,sans-serif;letter-spacing:.15em}.story-buttons{display:flex;gap:9px}.story-buttons button{width:52px;height:52px;border:1px solid #a7bfc4;border-radius:50%;background:transparent;color:#153743;font-size:23px;transition:background .25s,color .25s,transform .25s}.story-buttons button:hover,.story-buttons button:focus-visible{background:#153743;color:white;transform:translateY(-2px)}.stage-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:0 26px;border-top:1px solid #cbd7d9}.stage-link{text-align:left;border:0;border-bottom:1px solid #cbd7d9;background:none;color:#617780;padding:17px 0;display:flex;align-items:center;gap:14px;transition:color .3s}.stage-link.current,.stage-link:hover{color:#153743}.stage-link span{font:800 12px Manrope,Arial,sans-serif}.stage-link b{font:600 13px Manrope,Arial,sans-serif}.stage-link.current b{text-decoration:underline;text-underline-offset:6px}.story-note{font-size:13px;line-height:1.6;color:#6a7e83;margin:30px 0 0;max-width:720px}.page-cta{background:#112b35;color:white;padding:100px 0}.page-cta h2{margin:0 0 35px}.page-cta h2 em{color:#a9cfd5}.service-jump{display:flex;gap:12px;padding-top:28px;padding-bottom:28px}.service-jump a{flex:1;text-decoration:none;border:1px solid #b5c9cf;padding:17px 19px;font:700 13px Manrope,Arial,sans-serif;transition:background .3s}.service-jump a:hover{background:#dce9eb}.service-detail{padding:105px 0;scroll-margin-top:30px}.service-detail.alt{background:#eaf0f1}.service-row{display:grid;grid-template-columns:.85fr 1fr;gap:11%;align-items:center}.service-detail.alt .service-row{grid-template-columns:1fr .85fr}.service-text h2{font-size:clamp(2.8rem,5vw,5.5rem)}.service-text>p:not(.eyebrow){font-size:17px;color:#526b73;line-height:1.75;max-width:570px}.service-text>p:not(.eyebrow):first-of-type{margin-top:30px}.service-detail figure{height:570px;margin:0;position:relative;overflow:hidden;background:#bdcfd3}.service-detail figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.service-detail figure:hover img{transform:scale(1.035)}.service-detail figcaption{position:absolute;bottom:17px;left:20px;color:#fff;font:800 10px Manrope,Arial,sans-serif;letter-spacing:.15em;text-shadow:0 1px 6px #000}.service-abstract{min-height:550px;background:#264a55;color:#d9e8e9;display:flex;flex-direction:column;justify-content:space-between;padding:44px;overflow:hidden}.service-abstract span{font:500 clamp(5rem,10vw,10rem)/.95 Manrope,Arial,sans-serif;letter-spacing:-.075em;margin:auto 0}.service-abstract small{font:800 11px Manrope,Arial,sans-serif;letter-spacing:.19em;color:#a8c7cd}
@media(max-width:1050px){.story-slide{grid-template-columns:1.1fr .9fr}.stage-rail{grid-template-columns:repeat(2,1fr)}.story-copy{padding:36px}.service-row,.service-detail.alt .service-row{gap:6%}}
@media(max-width:760px){.preview-heading{display:block}.preview-heading p{margin-top:28px;font-size:17px}.preview-grid{grid-template-columns:1fr;margin-top:40px}.preview-grid a{min-height:190px}.preview-grid h3{margin-top:20px}.page-intro{padding:90px 0 42px}.page-intro h1{font-size:clamp(3.3rem,11vw,6rem)}.intro-foot{display:block;margin-top:40px}.intro-foot p{font-size:17px}.intro-foot span{display:block;margin-top:19px;white-space:normal}.story-section{padding:22px 0 78px}.story-stage{height:740px;min-height:0}.story-slide{display:flex;flex-direction:column;transform:translateX(15%)}.story-slide.is-past{transform:translateX(-15%)}.story-photo{height:52%;flex:none}.story-copy{height:48%;padding:26px}.story-copy h2{font-size:clamp(2.55rem,9vw,4.4rem)}.story-copy>p:last-child{font-size:15px;margin-top:11px}.story-number{font-size:12px}.story-copy .eyebrow{margin-bottom:8px}.story-controls{gap:12px}.story-buttons button{width:45px;height:45px}.stage-rail{grid-template-columns:1fr 1fr;gap:0 12px}.stage-link{gap:8px;padding:13px 0}.stage-link b{font-size:11px}.page-cta{padding:78px 0}.service-jump{flex-wrap:wrap}.service-jump a{min-width:100%;padding:14px}.service-detail{padding:77px 0}.service-row,.service-detail.alt .service-row{display:flex;flex-direction:column;gap:38px;align-items:stretch}.service-detail figure{height:370px}.service-abstract{min-height:300px}.service-abstract span{font-size:7rem}}
@media(max-width:420px){.story-stage{height:780px}.story-photo{height:43%}.story-copy{height:57%}.story-copy h2{font-size:2.55rem}.story-copy>p:last-child{font-size:14px}.stage-link b{font-size:10px}}
@media(prefers-reduced-motion:reduce){.story-slide,.story-photo img,.story-meter span,.preview-grid a,.service-detail figure img{transition:none!important}}
/* Immersive, image-led homepage */
.home-page .header{position:absolute;top:0;left:0;right:0;background:linear-gradient(#0c252e92,transparent);border-color:#ffffff35;color:white;z-index:20}.home-page .brand img{filter:brightness(0) invert(1)}.home-page .header nav a:hover{color:#c5e0e5}.home-page .nav-contact{border-color:#fff}.home-page .menu-button{color:white}
.home-page .hero{min-height:min(920px,100svh);background:#16333e;justify-content:flex-end}.home-page .hero-image{inset:0;height:100%}.home-page .hero-image img{object-fit:cover;object-position:center 50%}.home-page .hero:before{background:linear-gradient(90deg,#092632ad 0%,#0926326b 37%,transparent 80%),linear-gradient(0deg,#092632d9 0%,transparent 54%)}.home-page .hero-content{padding:220px 0 75px}.home-page .hero h1{max-width:1100px;font-size:clamp(4.1rem,7.3vw,9rem);letter-spacing:-.075em}.home-page .hero-content>p:not(.eyebrow){max-width:600px;color:#f1f5f5}
.portfolio{overflow:hidden}.portfolio-head a{text-underline-offset:4px}.portfolio .gallery{width:100vw;margin-left:calc(50% - 50vw)}.portfolio .gallery-track{gap:0;transition:transform 1s cubic-bezier(.18,.78,.16,1)}.portfolio .gallery-slide{flex:0 0 100%;height:clamp(560px,58vw,790px);aspect-ratio:auto;background:#25434c}.portfolio .gallery-slide img{transform:scale(1.07) translateX(2%);filter:saturate(.97) contrast(1.02);transition:transform 1.35s cubic-bezier(.18,.78,.16,1),filter .6s}.portfolio .gallery-slide.is-current img{transform:scale(1) translateX(0)}.portfolio .gallery-slide:after{inset:40% 0 0;background:linear-gradient(transparent,#071f2aa8)}.portfolio .gallery-slide figcaption{left:max(44px,calc((100vw - 1390px)/2));bottom:clamp(42px,5vw,70px);opacity:0;transform:translateY(20px);transition:opacity .65s ease .18s,transform .85s cubic-bezier(.2,.8,.2,1) .18s}.portfolio .gallery-slide.is-current figcaption{opacity:1;transform:none}.portfolio .gallery-slide figcaption strong{font-weight:400;font-size:clamp(3.2rem,6vw,7rem);letter-spacing:-.07em}.portfolio .gallery-slide figcaption span{margin-bottom:20px}.portfolio .gallery-footer{width:min(1390px,calc(100% - 88px));margin:auto;padding-top:25px}.portfolio .gallery-progress{max-width:none}.portfolio .gallery-slide:nth-child(1) img{object-position:center 42%}.portfolio .gallery-slide:nth-child(4) img{object-position:center 53%}
@media(max-width:760px){.home-page .header nav{background:#112b35;color:white}.home-page .hero{min-height:min(790px,100svh)}.home-page .hero-image{height:100%}.home-page .hero-image img{object-fit:cover;object-position:52% center}.home-page .hero:before{background:linear-gradient(0deg,#092632ef 0%,#0926327c 45%,#09263240 100%)}.home-page .hero-content{padding:170px 0 48px}.home-page .hero h1{font-size:clamp(3.25rem,11.5vw,6rem)}.home-page .hero-bottom{display:none}.portfolio .gallery-slide{height:min(690px,82svh);min-height:530px}.portfolio .gallery-slide figcaption{left:22px;right:20px;bottom:32px}.portfolio .gallery-slide figcaption strong{font-size:clamp(2.8rem,11vw,5rem)}.portfolio .gallery-footer{width:min(100% - 38px,620px)}.portfolio .gallery-slide:nth-child(3) img{object-position:55% center}}
@media(max-width:420px){.home-page .hero{min-height:730px}.home-page .hero-content{padding-top:175px}.home-page .hero h1{font-size:clamp(3.1rem,11.5vw,4.1rem)}.portfolio .gallery-slide{min-height:560px}}
@media(prefers-reduced-motion:reduce){.portfolio .gallery-track,.portfolio .gallery-slide img,.portfolio .gallery-slide figcaption{transition:none!important}}
/* Keep the four-photo edit quiet across screen sizes. */
.conditional-field[hidden]{display:none!important}.portfolio .gallery-slide:nth-child(1) img{object-position:center 47%}.portfolio .gallery-slide:nth-child(2) img{object-position:center 48%}.portfolio .gallery-slide:nth-child(3) img{object-position:center 51%}.portfolio .gallery-slide:nth-child(4) img{object-position:center 50%}
@media(max-width:760px){.home-page .hero-image img{object-position:57% center}.portfolio .gallery-slide:nth-child(1) img{object-position:57% center}.portfolio .gallery-slide:nth-child(2) img{object-position:53% center}.portfolio .gallery-slide:nth-child(3) img{object-position:50% center}.portfolio .gallery-slide:nth-child(4) img{object-position:60% center}}
/* Warm, restrained blue-hour treatment for the authentic hero photo. */
.home-page .hero-image img{filter:brightness(.94) contrast(1.055) saturate(.9)}
.home-page .hero-image:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 135px #061d2930}
.home-page .hero:before{background:radial-gradient(circle at 76% 68%,#bb7f3e12,transparent 35%),linear-gradient(90deg,#061d29d0 0%,#061d297e 37%,#061d2900 78%),linear-gradient(0deg,#061d29dc 0%,transparent 53%),linear-gradient(180deg,#061d296b,transparent 26%)}
.home-page .hero h1{text-shadow:0 8px 35px #061d2977}.home-page .hero h1 em{color:#f1e3cb}
.home-page .hero-content .eyebrow{color:#ecd7ba}.home-page .hero-content .eyebrow:before{content:'';display:inline-block;width:27px;height:1px;background:currentColor;vertical-align:middle;margin-right:15px}
.home-page .hero-actions .button-light{background:#f3e7d5}.home-page .hero-actions .button-light:hover{background:#fff7ec}.home-page .hero-bottom{color:#e1d0bb;border-top-color:#ffffff52}
@media(max-width:760px){.home-page .hero:before{background:linear-gradient(0deg,#061d29f0 0%,#061d2998 43%,#061d2933 100%)}.home-page .hero-image:after{box-shadow:inset 0 0 80px #061d2926}.home-page .hero h1{line-height:1.07}.home-page .hero-content>p:not(.eyebrow){max-width:440px}}

/* Focused homepage: quieter introduction and service stories. */
.home-page .hero-content{padding-bottom:clamp(90px,10vw,155px)}
.home-page .hero-content>p:not(.eyebrow){margin-bottom:0}
.statement .statement-copy p{margin:0;max-width:520px}
.portfolio-head{margin-bottom:48px}
.portfolio-head>div:last-child{max-width:360px}
.portfolio .gallery-slide figcaption{pointer-events:auto;max-width:min(860px,calc(100% - 70px))}
.portfolio .gallery-slide figcaption strong{font-size:clamp(2.9rem,5.8vw,6rem);line-height:1.1}
.portfolio .gallery-slide figcaption small{font-size:clamp(16px,1.3vw,19px);line-height:1.45;margin-top:15px}
.portfolio .gallery-slide .slide-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;margin-top:30px;padding:13px 17px;min-width:145px;min-height:50px;background:#f1e9dc;color:#173744;text-decoration:none;font:700 14px Manrope,Arial,sans-serif;transition:background .25s,transform .25s}
.portfolio .gallery-slide .slide-link:hover,.portfolio .gallery-slide .slide-link:focus-visible{background:white;transform:translateY(-3px)}
.portfolio .gallery-slide:nth-child(2) img{object-position:center 54%}
.portfolio .gallery-slide:nth-child(3) img{object-position:center 50%}
@media(max-width:760px){.home-page .hero-content{padding-bottom:72px}.portfolio .gallery-slide figcaption{max-width:calc(100% - 40px)}.portfolio .gallery-slide figcaption strong{font-size:clamp(2.6rem,10vw,4.4rem)}.portfolio .gallery-slide figcaption small{font-size:16px;max-width:340px}.portfolio .gallery-slide .slide-link{margin-top:20px}.portfolio .gallery-slide:nth-child(3) img{object-position:53% center}}
@media(prefers-reduced-motion:reduce){.portfolio .gallery-slide .slide-link{transition:none}}

/* Individual service stories */
.service-hero{height:min(780px,85svh);min-height:610px;background:#1c353c;position:relative;display:flex;align-items:end;color:white;overflow:hidden}.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071e29e8 0%,#0b263b5e 55%,transparent 90%)}.service-hero-content{position:relative;z-index:1;padding:90px 0 75px}.service-hero h1{font:500 clamp(3.7rem,7.4vw,8.5rem)/1.05 Manrope,Arial,sans-serif;letter-spacing:-.075em;margin:0;max-width:1100px}.service-hero h1 em{color:#e6d9bf;font-style:normal}.service-hero-content>p:last-child{font-size:clamp(17px,1.5vw,21px);line-height:1.65;max-width:640px;color:#e9eff0;margin:26px 0 0}.service-story{padding:clamp(80px,9vw,145px) 0;background:white}.service-story.soft{background:#eaf0f1}.service-story-grid{display:grid;grid-template-columns:.77fr 1.23fr;align-items:center;gap:9%}.service-story.soft .service-story-copy{order:2}.service-story-copy h2{font-size:clamp(2.7rem,4.4vw,5.4rem)}.service-story-copy>p:last-child{font-size:18px;line-height:1.75;color:#536a72;margin:29px 0 0;max-width:500px}.service-story figure{margin:0;position:relative;height:clamp(430px,46vw,660px);overflow:hidden;background:#d4dedf}.service-story img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.76,.18,1)}.service-story figure:hover img{transform:scale(1.035)}.service-story figcaption{position:absolute;bottom:17px;left:19px;color:white;font:800 11px Manrope,Arial,sans-serif;letter-spacing:.12em;text-shadow:0 1px 8px #000}.service-summary{background:#f5f6f5}.service-summary-grid{display:grid;grid-template-columns:.3fr 1fr;gap:9%}.service-summary h2{font-size:clamp(2.9rem,5.2vw,6rem)}.service-summary-grid p:not(.eyebrow){max-width:650px;font-size:18px;color:#536a72;line-height:1.75;margin:30px 0}.service-directory{padding-top:50px;padding-bottom:90px}.service-directory a{display:flex;align-items:center;gap:28px;text-decoration:none;border-bottom:1px solid #c5d3d6;padding:23px 0;font:500 clamp(1.4rem,3vw,3rem)/1.15 Manrope,Arial,sans-serif;letter-spacing:-.045em}.service-directory a span{font:800 13px Manrope,Arial,sans-serif;letter-spacing:0;color:var(--accent)}.service-directory a b{font-weight:400;margin-left:auto}.service-directory a:hover{color:var(--accent)}
@media(max-width:760px){.service-hero{min-height:630px;height:78svh}.service-hero-content{padding:90px 0 52px}.service-hero h1{font-size:clamp(3rem,11vw,5rem)}.service-hero-content>p:last-child{font-size:16px}.service-story-grid{display:flex;flex-direction:column;align-items:stretch;gap:32px}.service-story.soft .service-story-copy{order:0}.service-story figure{height:440px}.service-story-copy>p:last-child{font-size:17px}.service-summary-grid{display:block}.service-summary h2{margin-top:22px}.service-directory a{gap:15px}}
@media(max-width:420px){.service-hero{min-height:650px}.service-story figure{height:330px}}
@media(prefers-reduced-motion:reduce){.service-story img{transition:none}}

/* Authentic portrait reinforcement photograph in landscape frames. */
.portfolio .gallery-slide:nth-child(3){background:#142d38}
.portfolio .gallery-slide:nth-child(3) img{width:61%;height:100%;margin-left:auto;object-fit:contain;object-position:right center;filter:brightness(.94) contrast(1.04) saturate(.88)}
.portfolio .gallery-slide:nth-child(3).is-current img{transform:none}
.portfolio .gallery-slide:nth-child(3):after{inset:0;background:linear-gradient(90deg,#102b36 0%,#102b36 33%,#102b3680 58%,transparent 83%),linear-gradient(0deg,#071d29ad,transparent 45%)}
.rebar-hero{background:#142d38}.rebar-hero>img{left:auto;width:61%;object-fit:contain;object-position:right center;filter:brightness(.94) contrast(1.04) saturate(.88)}
.rebar-hero:after{background:linear-gradient(90deg,#102b36 0%,#102b36 29%,#102b3680 58%,transparent 88%),linear-gradient(0deg,#071d29b0,transparent 50%)}
@media(max-width:760px){.portfolio .gallery-slide:nth-child(3) img,.rebar-hero>img{width:100%;object-fit:cover;object-position:center 48%}.portfolio .gallery-slide:nth-child(3):after,.rebar-hero:after{background:linear-gradient(0deg,#071d29ee 0%,#071d297a 43%,transparent 75%)}}

/* Generálkivitelezés: a tervtől az alapig */
.build-step .service-story-copy>p:not(.eyebrow){font-size:17px;line-height:1.72;color:#526b73;max-width:550px;margin:18px 0 0}
.build-step .service-story-copy h2{font-size:clamp(2.7rem,4.8vw,5.5rem)}
.build-step .service-story-copy .underlined-link{display:inline-block;margin-top:28px}
.ground-intro{display:grid;grid-template-columns:1.1fr .7fr;gap:10%;align-items:end;margin-bottom:45px}
.ground-intro h2{max-width:760px}.ground-intro>p{font-size:18px;color:#526b73;line-height:1.72;margin:0 0 4px;max-width:540px}
.ground-gallery{display:grid;grid-template-columns:1.12fr .75fr 1.12fr;gap:14px}
.ground-gallery figure{margin:0;position:relative;overflow:hidden;height:clamp(350px,39vw,565px);background:#b6c6c9}
.ground-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.ground-gallery figure:hover img{transform:scale(1.035)}
.ground-gallery figure:nth-child(1) img{object-position:54% center}.ground-gallery figure:nth-child(2) img{object-position:center 42%}.ground-gallery figure:nth-child(3) img{object-position:49% center}
.ground-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:48px 20px 18px;background:linear-gradient(transparent,#071f2aa6);color:white;font:700 15px Manrope,Arial,sans-serif}
.ground-gallery figcaption span{font-size:12px;letter-spacing:.12em;margin-right:14px;color:#d5e7e9}
@media(max-width:760px){.ground-intro{display:block}.ground-intro>p{font-size:17px;margin-top:25px}.ground-gallery{grid-template-columns:1fr 1fr;gap:10px}.ground-gallery figure{height:260px}.ground-gallery figure:first-child{grid-column:1/-1;height:360px}.ground-gallery figcaption{font-size:14px;padding-left:14px}.ground-gallery figcaption span{margin-right:8px}}
@media(max-width:420px){.ground-gallery figure:first-child{height:310px}.ground-gallery figure{height:220px}}
@media(prefers-reduced-motion:reduce){.ground-gallery img{transition:none}}

/* The rising brick structure: real project photos, quiet editorial mosaic. */
.structure-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(245px,23vw,350px));gap:14px}
.structure-gallery figure{margin:0;position:relative;overflow:hidden;background:#b5c7cb;height:auto}
.structure-wall{grid-column:1/6;grid-row:1/3}.structure-overview{grid-column:6/13;grid-row:1}.structure-rebar{grid-column:6/10;grid-row:2}.structure-detail{grid-column:10/13;grid-row:2}
.structure-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.structure-gallery figure:hover img{transform:scale(1.035)}
.structure-wall img{object-position:0 center;transform:scale(1.05);transform-origin:left center}.structure-gallery .structure-wall:hover img{transform:scale(1.08)}
.structure-overview img{object-position:center 27%}.structure-rebar img{object-position:center 40%}.structure-detail img{object-position:center 43%}
.structure-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:50px 18px 18px;background:linear-gradient(transparent,#071f2aa6);color:white;font:700 15px Manrope,Arial,sans-serif;letter-spacing:.02em}
@media(max-width:760px){.structure-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:380px 265px 255px;gap:10px}.structure-wall{grid-column:1/3;grid-row:1}.structure-overview{grid-column:1/3;grid-row:2}.structure-rebar{grid-column:1;grid-row:3}.structure-detail{grid-column:2;grid-row:3}.structure-wall img{object-position:center 34%;transform:none}.structure-gallery .structure-wall:hover img{transform:none}}
@media(max-width:420px){.structure-gallery{grid-template-rows:320px 220px 215px}.structure-gallery figcaption{font-size:14px;padding-left:14px}}
@media(prefers-reduced-motion:reduce){.structure-gallery img{transition:none}}

/* Roof stage: built work, from framing to finished tile. */
.roof-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(240px,24vw,350px));gap:14px}
.roof-gallery figure{margin:0;position:relative;overflow:hidden;background:#bdcdd0;height:auto}
.roof-finished{grid-column:1/8;grid-row:1/3}.roof-truss{grid-column:8/10;grid-row:1}.roof-progress{grid-column:10/13;grid-row:1}.roof-battens{grid-column:8/13;grid-row:2}
.roof-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.roof-gallery figure:hover img{transform:scale(1.035)}.roof-finished img{object-position:50% 50%}.roof-truss img{object-position:50% 35%}.roof-progress img{object-position:50% 50%}.roof-battens img{object-position:50% 48%}
.roof-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:50px 18px 18px;background:linear-gradient(transparent,#071f2aba);color:white;font:700 15px Manrope,Arial,sans-serif;letter-spacing:.02em}
@media(max-width:760px){.roof-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:380px 235px 245px;gap:10px}.roof-finished{grid-column:1/3;grid-row:1}.roof-truss{grid-column:1;grid-row:2}.roof-progress{grid-column:2;grid-row:2}.roof-battens{grid-column:1/3;grid-row:3}.roof-gallery figcaption{font-size:13px;padding:40px 12px 13px}.roof-finished img{object-position:50% 45%}}
@media(max-width:420px){.roof-gallery{grid-template-rows:310px 205px 220px}.roof-gallery figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.roof-gallery img{transition:none}}

/* Partition walls and insulation: close details from the same build. */
.envelope-gallery{display:grid;grid-template-columns:1.12fr .84fr 1.12fr;gap:14px}
.envelope-gallery figure{height:clamp(380px,43vw,620px);margin:0;position:relative;overflow:hidden;background:#b8c7ca}
.envelope-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.envelope-gallery figure:hover img{transform:scale(1.035)}
.envelope-primary img{object-position:50% 39%}.envelope-secondary img{object-position:50% 43%}.envelope-roof img{object-position:50% 50%}
.envelope-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 18px 18px;background:linear-gradient(transparent,#071f2ab5);color:white;font:700 15px Manrope,Arial,sans-serif}
@media(max-width:760px){.envelope-gallery{grid-template-columns:1fr 1fr;gap:10px}.envelope-gallery figure{height:260px}.envelope-primary{grid-column:1/-1}.envelope-gallery figure.envelope-primary{height:365px}.envelope-gallery figcaption{font-size:13px;padding:45px 12px 13px}}
@media(max-width:420px){.envelope-gallery figure.envelope-primary{height:310px}.envelope-gallery figure{height:220px}}
@media(prefers-reduced-motion:reduce){.envelope-gallery img{transition:none}}

/* Windows and facade: one generous exterior with two process views. */
.facade-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(240px,25vw,365px));gap:14px}
.facade-gallery figure{margin:0;position:relative;overflow:hidden;background:#b9cbd0;height:auto}
.facade-feature{grid-column:1/9;grid-row:1/3}.facade-shell{grid-column:9/13;grid-row:1}.facade-detail{grid-column:9/13;grid-row:2}
.facade-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.facade-gallery figure:hover img{transform:scale(1.035)}.facade-feature img{object-position:53% 51%}.facade-shell img{object-position:50% 50%}.facade-detail img{object-position:50% 53%}
.facade-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 18px 18px;background:linear-gradient(transparent,#071f2aab);color:#fff;font:700 15px Manrope,Arial,sans-serif}
@media(max-width:760px){.facade-gallery{grid-template-columns:1fr 1fr;grid-template-rows:380px 240px;gap:10px}.facade-feature{grid-column:1/3;grid-row:1}.facade-shell{grid-column:1;grid-row:2}.facade-detail{grid-column:2;grid-row:2}.facade-gallery figcaption{font-size:13px;padding:44px 12px 13px}.facade-feature img{object-position:50% 50%}}
@media(max-width:420px){.facade-gallery{grid-template-rows:300px 215px}.facade-gallery figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.facade-gallery img{transition:none}}

/* Added facade progress view without crowding the gallery. */
.facade-feature{grid-column:1/7}.facade-shell{grid-column:7/10;grid-row:1}.facade-garage{grid-column:10/13;grid-row:1}.facade-detail{grid-column:7/13;grid-row:2}
.facade-garage img{object-position:50% 50%}
@media(max-width:760px){.facade-feature{grid-column:1/3;grid-row:1}.facade-shell{grid-column:1;grid-row:2}.facade-garage{grid-column:2;grid-row:2}.facade-detail{grid-column:1/3;grid-row:3}.facade-gallery{grid-template-rows:380px 240px 275px}}
@media(max-width:420px){.facade-gallery{grid-template-rows:300px 215px 230px}}

/* Services inside the structure, shown with an authentic underfloor-heating photo. */
.installations-step .service-story-grid{grid-template-columns:.86fr 1.14fr}
.installations-step .service-story-copy{align-self:center}
.installations-step .service-story-copy h2{font-size:clamp(2.7rem,4.4vw,5.35rem)}
.installations-step .service-story-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#526b73;max-width:560px;margin:22px 0 0}
.installations-step figure{height:clamp(480px,52vw,730px)}
.installations-step figure img{object-position:50% 57%}
.installations-step figcaption{bottom:0;left:0;right:0;padding:75px 22px 22px;background:linear-gradient(transparent,#071f2aa6);letter-spacing:.1em}
@media(max-width:760px){.installations-step .service-story-grid{display:flex;flex-direction:column;align-items:stretch}.installations-step figure{height:510px}.installations-step .service-story-copy>p:not(.eyebrow){font-size:17px}}
@media(max-width:420px){.installations-step figure{height:430px}}

/* Mechanical work and interior surface preparation, using only actual build photographs. */
.installations-gallery,.finishes-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(235px,25vw,360px));gap:14px}
.installations-gallery figure,.finishes-gallery figure{margin:0;position:relative;overflow:hidden;background:#b9c8ca;height:auto}
.installations-feature{grid-column:1/8;grid-row:1/3}.installations-floor{grid-column:8/13;grid-row:1}.installations-plant{grid-column:8/13;grid-row:2}
.finishes-room{grid-column:1/6;grid-row:1/3}.finishes-framing{grid-column:6/13;grid-row:1}.finishes-ceiling{grid-column:6/13;grid-row:2}
.installations-gallery img,.finishes-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.installations-gallery figure:hover img,.finishes-gallery figure:hover img{transform:scale(1.035)}
.installations-feature img{object-position:50% 57%}.installations-floor img{object-position:50% 66%}.installations-plant img{object-position:50% 52%}.finishes-room img{object-position:50% 52%}.finishes-framing img{object-position:50% 39%}.finishes-ceiling img{object-position:50% 29%}
.installations-gallery figcaption,.finishes-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 18px 18px;background:linear-gradient(transparent,#071f2ab5);color:#fff;font:700 15px Manrope,Arial,sans-serif}
@media(max-width:760px){.installations-gallery,.finishes-gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px 250px;gap:10px}.installations-feature,.finishes-room{grid-column:1/3;grid-row:1}.installations-floor,.finishes-framing{grid-column:1;grid-row:2}.installations-plant,.finishes-ceiling{grid-column:2;grid-row:2}.installations-gallery figcaption,.finishes-gallery figcaption{font-size:13px;padding:45px 12px 13px}.finishes-room img{object-position:50% 59%}}
@media(max-width:420px){.installations-gallery,.finishes-gallery{grid-template-rows:310px 215px}.installations-gallery figcaption,.finishes-gallery figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.installations-gallery img,.finishes-gallery img{transition:none}}

/* Finished living spaces: a small editorial gallery, no repeated homepage hero. */
.living-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(260px,26vw,370px));gap:14px}
.living-gallery figure{height:auto;margin:0;position:relative;overflow:hidden;background:#c9ced0}
.living-room{grid-column:1/6;grid-row:1/3}.living-fireplace{grid-column:6/13;grid-row:1}.living-tile{grid-column:6/9;grid-row:2}.living-floor{grid-column:9/13;grid-row:2}
.living-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.living-gallery figure:hover img{transform:scale(1.035)}.living-room img{object-position:50% 53%}.living-fireplace img{object-position:50% 56%}.living-tile img{object-position:50% 44%}.living-floor img{object-position:50% 55%}
.living-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 18px 18px;background:linear-gradient(transparent,#071f2ab0);color:#fff;font:700 15px Manrope,Arial,sans-serif}
@media(max-width:760px){.living-gallery{grid-template-columns:1fr 1fr;grid-template-rows:390px 275px 240px;gap:10px}.living-room{grid-column:1/3;grid-row:1}.living-fireplace{grid-column:1/3;grid-row:2}.living-tile{grid-column:1;grid-row:3}.living-floor{grid-column:2;grid-row:3}.living-gallery figcaption{font-size:13px;padding:45px 12px 13px}.living-room img{object-position:50% 42%}}
@media(max-width:420px){.living-gallery{grid-template-rows:325px 220px 210px}.living-gallery figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.living-gallery img{transition:none}}

/* Completed exterior and quiet handover chapter. */
.exterior-gallery{display:grid;grid-template-columns:1.4fr .9fr .9fr;gap:14px}
.exterior-gallery figure{margin:0;position:relative;overflow:hidden;background:#b7c8c8;height:clamp(370px,41vw,590px)}
.exterior-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.exterior-gallery figure:hover img{transform:scale(1.035)}.exterior-paving img{object-position:50% 50%}.exterior-garden img{object-position:52% 50%}.exterior-night img{object-position:50% 52%}
.exterior-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 18px 18px;background:linear-gradient(transparent,#071f2ab0);color:white;font:700 15px Manrope,Arial,sans-serif}
.handover-step .service-story-grid{grid-template-columns:.92fr 1.08fr}.handover-step .service-story-copy{align-self:center}.handover-step .service-story-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#526b73;max-width:560px;margin:20px 0 0}.handover-step figure{height:clamp(420px,42vw,580px)}.handover-step figure img{object-position:50% 50%}.handover-step figcaption{bottom:0;left:0;right:0;padding:65px 20px 20px;background:linear-gradient(transparent,#071f2a90)}
@media(max-width:760px){.exterior-gallery{grid-template-columns:1fr 1fr;gap:10px}.exterior-gallery figure{height:245px}.exterior-paving{grid-column:1/3}.exterior-gallery figure.exterior-paving{height:350px}.exterior-gallery figcaption{font-size:13px;padding:45px 12px 13px}.handover-step .service-story-grid{display:flex;flex-direction:column;align-items:stretch}.handover-step figure{height:340px}}
@media(max-width:420px){.exterior-gallery figure.exterior-paving{height:300px}.exterior-gallery figure{height:210px}.exterior-gallery figcaption{font-size:12px}.handover-step figure{height:290px}}
@media(prefers-reduced-motion:reduce){.exterior-gallery img{transition:none}}

.exterior-gallery figure{height:clamp(340px,34vw,520px)}
@media(max-width:760px){.exterior-paving{grid-column:auto}.exterior-night{grid-column:1/3}.exterior-gallery figure{height:245px}.exterior-gallery figure.exterior-night{height:350px}.exterior-gallery figure.exterior-paving{height:245px}}
@media(max-width:420px){.exterior-gallery figure{height:210px}.exterior-gallery figure.exterior-night{height:300px}.exterior-gallery figure.exterior-paving{height:210px}}

/* Felújítás: quiet editorial rhythm around authentic project photographs. */
.renovation .reno-hero{height:min(840px,91svh);min-height:620px}
.renovation .reno-hero>img{object-position:center 54%}
.renovation .reno-hero:after{background:linear-gradient(0deg,#071e29e8 0%,#0b263b71 45%,#071e291a 90%)}
.renovation .reno-hero h1{max-width:1100px}
.renovation .reno-hero h1 em{color:#f4dfb6}
.reno-intro{background:#f5f6f5}
.reno-intro-grid{display:grid;grid-template-columns:.36fr 1fr;gap:7%}
.reno-intro-grid h2,.reno-chapter h2,.reno-finish h2{font:500 clamp(2.65rem,5.2vw,6.1rem)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.065em;margin:0}
.reno-intro-grid h2 em,.reno-chapter h2 em,.reno-finish h2 em{font-style:normal;color:#547b84}
.reno-intro-grid>div>p{font-size:18px;line-height:1.75;max-width:730px;color:#526b73;margin:34px 0 0}
.reno-chapter{background:#fff}
.reno-chapter-head{display:grid;grid-template-columns:1.05fr .75fr;align-items:end;gap:8%;margin-bottom:clamp(36px,5vw,70px)}
.reno-chapter-head>p,.reno-finish-head>p{font-size:18px;line-height:1.75;color:#526b73;margin:0 0 6px;max-width:530px}
.reno-chapter-head .eyebrow,.reno-finish-head .eyebrow{margin:0 0 27px}
.reno-image-pair{display:grid;grid-template-columns:1.28fr .72fr;gap:18px;align-items:stretch}
.reno-image-pair figure{margin:0;overflow:hidden;background:#dae2e3;height:clamp(420px,52vw,690px)}
.reno-image-pair img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.reno-image-pair figure:hover img{transform:scale(1.025)}
.reno-image-pair .reno-image-side{height:85%;align-self:end}
.reno-image-pair-reverse{grid-template-columns:.72fr 1.28fr}
.reno-image-pair-reverse .reno-image-main{grid-column:2;grid-row:1}
.reno-image-pair-reverse .reno-image-side{grid-column:1;grid-row:1;align-self:start}
.reno-chapter-dark{background:#142d38;color:#fff}
.reno-chapter-dark .reno-chapter-head>p{color:#c5d7d9}
.reno-chapter-dark h2 em{color:#adc7ca}
.reno-chapter-dark .reno-image-pair figure{background:#304852}
.reno-comparison{background:#f5f6f5}
.reno-comparison-head{display:grid;grid-template-columns:1fr .82fr;gap:8%;align-items:end;margin-bottom:clamp(34px,5vw,68px)}
.reno-comparison-head .eyebrow{margin:0 0 27px}
.reno-comparison-head h2{font:500 clamp(2.65rem,5.2vw,6.1rem)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.065em;margin:0}
.reno-comparison-head h2 em{font-style:normal;color:#547b84}
.reno-comparison-head>p{font-size:18px;line-height:1.75;color:#526b73;margin:0 0 6px;max-width:550px}
.reno-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.reno-comparison-grid figure{height:clamp(400px,46vw,670px);margin:0;position:relative;overflow:hidden;background:#142d38}
.reno-comparison-grid img{width:100%;height:100%;object-fit:contain;display:block}
.reno-comparison-grid figcaption{position:absolute;left:20px;bottom:20px;padding:9px 14px;background:#f5f6f5;color:#183641;font:700 13px Manrope,Arial,sans-serif;letter-spacing:.06em}
.reno-finish{background:#eaf0f1;overflow:hidden}
.reno-finish-head{display:grid;grid-template-columns:1fr .78fr;gap:8%;align-items:end;margin-bottom:clamp(42px,5vw,74px)}
.reno-stair-photo{height:clamp(380px,55vw,720px);margin:0 0 clamp(28px,4vw,58px);overflow:hidden;background:#172d37}
.reno-stair-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.reno-stair-photo:hover img{transform:scale(1.02)}
.reno-gallery{outline:none}
.reno-gallery:focus-visible{outline:2px solid #547b84;outline-offset:-4px}
.reno-rail{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:max(24px,calc((100vw - 1390px)/2));padding:0 max(24px,calc((100vw - 1390px)/2)) 12px;scrollbar-width:none}
.reno-rail::-webkit-scrollbar{display:none}
.reno-card{flex:0 0 clamp(290px,38vw,515px);height:clamp(410px,53vw,650px);margin:0;scroll-snap-align:start;overflow:hidden;background:#b8cacd}
.reno-card-wide{flex-basis:clamp(515px,66vw,900px)}
.reno-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.reno-card:hover img{transform:scale(1.03)}
.reno-gallery-controls{display:flex;align-items:center;justify-content:space-between;padding-top:25px}
.reno-counter{font:700 13px Manrope,Arial,sans-serif;letter-spacing:.18em;color:#315460}
.reno-gallery-controls>div{display:flex;gap:9px}
.reno-gallery-controls button{width:56px;height:56px;border:1px solid #a6b8bc;border-radius:50%;background:transparent;color:#173845;font:400 27px Manrope,Arial,sans-serif;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.reno-gallery-controls button:hover{background:#173845;color:#fff;transform:translateY(-2px)}
.reno-gallery-controls button:focus-visible{outline:2px solid #173845;outline-offset:3px}
@media(max-width:760px){
  .renovation .reno-hero{min-height:600px;height:78svh}.renovation .reno-hero>img{object-position:48% center}
  .reno-intro-grid,.reno-chapter-head,.reno-finish-head{display:block}
  .reno-comparison-head{display:block}.reno-comparison-head>p{font-size:17px;line-height:1.7;margin-top:24px}
  .reno-comparison-grid{grid-template-columns:1fr;gap:12px}.reno-comparison-grid figure{height:clamp(340px,105vw,530px)}.reno-comparison-grid figure:last-child{height:clamp(300px,77vw,450px)}
  .reno-intro-grid>div{margin-top:26px}.reno-intro-grid>div>p,.reno-chapter-head>p,.reno-finish-head>p{font-size:17px;line-height:1.7}
  .reno-chapter-head>p,.reno-finish-head>p{margin-top:24px}
  .reno-stair-photo{height:clamp(270px,65vw,460px)}
  .reno-image-pair,.reno-image-pair-reverse{grid-template-columns:1fr 1fr;gap:10px}
  .reno-image-pair figure{height:340px}.reno-image-pair .reno-image-main,.reno-image-pair-reverse .reno-image-main{grid-column:1/3;grid-row:1;height:420px}
  .reno-image-pair .reno-image-side,.reno-image-pair-reverse .reno-image-side{grid-column:1/3;grid-row:2;width:68%;height:300px;justify-self:end;align-self:auto}
  .reno-image-pair-reverse .reno-image-side{justify-self:start}
  .reno-rail{gap:12px;scroll-padding-inline:20px;padding-inline:20px}
  .reno-card{flex-basis:min(82vw,440px);height:clamp(425px,125vw,570px)}
  .reno-card-wide{flex-basis:min(82vw,440px)}
  .reno-gallery-controls{padding-top:18px}
}
@media(max-width:420px){.reno-image-pair .reno-image-main,.reno-image-pair-reverse .reno-image-main{height:300px}.reno-image-pair .reno-image-side,.reno-image-pair-reverse .reno-image-side{height:230px;width:75%}.reno-gallery-controls button{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.reno-image-pair img,.reno-card img,.reno-gallery-controls button{transition:none}}

/* Structure page: restrained chapters and authentic construction photography. */
.structure-intro{background:#f5f6f5}.structure-intro-grid{display:grid;grid-template-columns:.3fr 1fr;gap:9%}.structure-intro h2{font-size:clamp(2.7rem,5.2vw,6rem)}.structure-intro h2 em{font-style:normal;color:#547b84}.structure-intro-grid>div>p{font-size:18px;line-height:1.75;color:#526b73;max-width:760px;margin:30px 0 0}.structure-work{padding:clamp(75px,8vw,120px) 0}.structure-work figure{height:clamp(420px,43vw,600px)}.structure-work:nth-of-type(2) img{object-position:center 57%}.structure-work:nth-of-type(3) img{object-position:center 51%}.structure-work figcaption{font-size:12px;letter-spacing:.1em}.structure-work .service-story-copy>p:last-child{max-width:540px}
@media(max-width:760px){.structure-intro-grid{display:block}.structure-intro h2{margin-top:22px}.structure-intro-grid>div>p{font-size:17px}.structure-work figure{height:410px}}
@media(max-width:420px){.structure-work figure{height:330px}}

/* Finishing touches: navigation, motion, questions and technical options. */
.header nav{gap:clamp(13px,1.6vw,25px)}
.back-top{position:fixed;z-index:19;right:24px;bottom:24px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;gap:3px;background:#12313d;color:#fff;text-decoration:none;border:1px solid #c6d8d8a8;box-shadow:0 12px 38px #08232d45;opacity:0;visibility:hidden;transform:translateY(14px);pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1),visibility .3s,background .25s;font:700 21px Manrope,Arial,sans-serif}
.back-top span{font-size:11px}.back-top.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}.back-top:hover,.back-top:focus-visible{background:#386676}
.faq{background:#fff}.faq-layout{display:grid;grid-template-columns:.82fr 1fr;gap:10%}.faq h2 em{color:#547b84}.faq-list{border-top:1px solid #c9d6d9}.faq-list details{border-bottom:1px solid #c9d6d9}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;color:#153743;font:600 clamp(17px,1.7vw,22px)/1.35 Manrope,Arial,sans-serif;letter-spacing:-.03em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font:400 26px/1 Manrope,Arial,sans-serif;color:#507988;transition:transform .35s}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{color:#526b73;margin:0 0 24px;max-width:620px;font-size:17px;line-height:1.7}.faq-list details a{text-underline-offset:4px;font-weight:700}
.possibilities-hero{min-height:650px;height:min(750px,82svh)}.possibilities-hero>img{object-position:center 47%}.possibilities-hero:after{background:linear-gradient(0deg,#071e29eb 0%,#0b263b77 55%,#071e2910 100%)}.possibilities-intro{background:#f5f6f5}.possibilities-intro-grid{display:grid;grid-template-columns:.3fr 1fr;gap:9%}.possibilities-intro h2 em{color:#547b84}.possibilities-intro-grid>div>p{font-size:18px;line-height:1.75;color:#526b73;max-width:810px;margin:30px 0 0}.possibilities-list{background:#eaf0f1;padding-top:10px}.possibility{display:grid;grid-template-columns:72px minmax(0,1fr) 210px;gap:5%;align-items:start;border-top:1px solid #b6cbd0;padding:42px 0 46px}.possibility-number,.possibility-note{font:700 12px Manrope,Arial,sans-serif;letter-spacing:.12em;color:#547985}.possibility-note{text-align:right;letter-spacing:.04em}.possibility h2{font-size:clamp(1.8rem,3vw,3.2rem);letter-spacing:-.055em}.possibility p{max-width:750px;font-size:17px;line-height:1.7;color:#536a72;margin:14px 0 0}
@media(max-width:760px){.header nav{gap:0}.back-top{right:15px;bottom:15px;width:48px;height:48px}.faq-layout,.possibilities-intro-grid{display:block}.faq-list{margin-top:42px}.faq-list summary{padding:22px 0}.possibilities-hero{min-height:600px;height:78svh}.possibilities-intro-grid>div{margin-top:24px}.possibilities-intro-grid>div>p{font-size:17px}.possibility{grid-template-columns:42px 1fr;gap:14px;padding:30px 0}.possibility-note{grid-column:2;text-align:left}.possibility p{font-size:16px}.motion-ready .reveal.reveal-left,.motion-ready .reveal.reveal-right{transform:translateY(22px)}}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .2s ease both}::view-transition-new(root){animation:page-in .45s cubic-bezier(.2,.8,.2,1) both}.service-hero-content>*{animation:hero-in .8s cubic-bezier(.2,.8,.2,1) both}.service-hero-content>*:nth-child(2){animation-delay:.08s}.service-hero-content>*:nth-child(3){animation-delay:.16s}@keyframes page-out{to{opacity:0}}@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.back-top{transition:none}}
@media(max-width:420px){.possibilities-list .possibility h2{font-size:clamp(1.65rem,7vw,2.2rem)}}

/* Photography refinements for renovation and the wider construction offer. */
@media(min-width:761px){.renovation .reno-image-pair figure,.renovation .reno-image-pair .reno-image-side{height:clamp(440px,45vw,620px);align-self:stretch}.renovation .reno-image-pair-reverse .reno-image-side{align-self:stretch}.reno-comparison-grid img{object-fit:cover}.reno-comparison-grid figure:first-child img{object-position:center 46%}.reno-comparison-grid figure:last-child img{object-position:center 52%}}
.structure-hero-media{position:absolute;inset:0;display:grid;grid-template-columns:1.15fr .85fr;gap:4px;background:#142d38}.structure-hero-media img{display:block;width:100%;height:100%;min-width:0;object-fit:cover}.structure-hero-media img:first-child{object-position:52% center}.structure-hero-media img:last-child{object-position:50% 44%}.rebar-hero:after{background:linear-gradient(0deg,#091e29ef 0%,#0e2b38a8 40%,#091e2926 90%),linear-gradient(90deg,#102b36a8,transparent 63%)}
.other-work{background:#eaf0f1}.other-work-intro{display:grid;grid-template-columns:1fr .75fr;align-items:end;gap:9%;margin-bottom:46px}.other-work-intro h2 em{color:#547b84}.other-work-intro>p{font-size:18px;line-height:1.7;color:#526b73;max-width:530px;margin:0 0 5px}.other-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.other-work-card{background:#fff;min-width:0}.other-work-card img{display:block;width:100%;height:clamp(260px,29vw,410px);object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.other-work-card{overflow:hidden}.other-work-card:hover img{transform:scale(1.025)}.other-work-card>div{padding:27px 26px 35px}.other-work-card span{font:800 11px Manrope,Arial,sans-serif;letter-spacing:.16em;color:#547b84}.other-work-card h3{font:500 clamp(1.6rem,2.4vw,2.5rem)/1.13 Manrope,Arial,sans-serif;letter-spacing:-.05em;margin:16px 0}.other-work-card p{font-size:16px;line-height:1.6;color:#526b73;margin:0}
@media(max-width:760px){.structure-hero-media{display:block}.structure-hero-media img:first-child{display:none}.structure-hero-media img:last-child{height:100%;object-position:center 45%}.rebar-hero:after{background:linear-gradient(0deg,#071d29ee 0%,#071d297a 43%,transparent 75%)}.other-work-intro{display:block}.other-work-intro>p{font-size:17px;margin:27px 0 0}.other-work-grid{grid-template-columns:1fr;gap:12px}.other-work-card img{height:clamp(250px,68vw,430px)}}
@media(prefers-reduced-motion:reduce){.other-work-card img{transition:none}}

/* Dedicated FAQ: editorial index with native keyboard-friendly disclosures. */
.faq-page-hero{background:#dae5e8;padding-top:clamp(100px,11vw,165px);padding-bottom:clamp(80px,9vw,140px)}.faq-page-hero-grid{display:grid;grid-template-columns:1.1fr .6fr;gap:10%;align-items:end}.faq-page-hero h1{font:500 clamp(3.7rem,7.6vw,8rem)/1.03 Manrope,Arial,sans-serif;letter-spacing:-.075em;margin:0}.faq-page-hero h1 em{color:#547b84;font-style:normal}.faq-page-hero-grid>p{font-size:18px;line-height:1.75;max-width:480px;color:#526b73;margin:0 0 9px}.faq-page-body{background:#fff}.faq-page-layout{max-width:1180px}.faq-group+.faq-group{margin-top:clamp(86px,10vw,155px)}.faq-group-heading{display:grid;grid-template-columns:.6fr 1fr;gap:10%;align-items:end;margin-bottom:38px}.faq-group-heading span{font:800 11px Manrope,Arial,sans-serif;letter-spacing:.18em;color:#547b84;align-self:start}.faq-group-heading h2{font-size:clamp(2.7rem,4.8vw,5.5rem)}.faq-group-heading h2 em{color:#547b84}.faq-page .faq-list{max-width:890px;margin-left:auto}.faq-page .faq-list details p{max-width:740px}.faq-page .faq-list summary{font-size:clamp(18px,1.7vw,22px)}
@media(max-width:760px){.faq-page-hero-grid,.faq-group-heading{display:block}.faq-page-hero{padding-top:96px}.faq-page-hero h1{font-size:clamp(3.3rem,12vw,5.7rem)}.faq-page-hero-grid>p{margin-top:34px;font-size:17px}.faq-group-heading h2{margin-top:25px}.faq-page .faq-list{margin-left:0}.faq-group+.faq-group{margin-top:90px}}
/* Two authentic construction views in the home service slide */
.portfolio .structure-slide .structure-slide-media{position:absolute;inset:0;display:grid;grid-template-columns:1.2fr .8fr;gap:5px;background:#142d38}
.portfolio .structure-slide .structure-slide-media img{width:100%;height:100%;min-width:0;margin:0;display:block;object-fit:cover;filter:saturate(.92) contrast(1.04)}
.portfolio .structure-slide .structure-slide-media img:first-child{object-position:53% center}
.portfolio .structure-slide .structure-slide-media img:last-child{object-position:50% 44%}
.portfolio .structure-slide.is-current .structure-slide-media img{transform:scale(1)}
.portfolio .structure-slide:after{inset:0;background:linear-gradient(90deg,#0b2635bb 0%,#0b263570 42%,transparent 80%),linear-gradient(0deg,#071d29d9,transparent 64%)}
@media(max-width:760px){
 .portfolio .structure-slide .structure-slide-media{display:block}
 .portfolio .structure-slide .structure-slide-media img:first-child{display:none}
 .portfolio .structure-slide .structure-slide-media img:last-child{object-position:50% 45%}
 .portfolio .structure-slide:after{background:linear-gradient(0deg,#071d29ee 0%,#071d297a 43%,transparent 75%)}
}
/* Technical options: image-free, readable catalogue */
.options-header{background:#12323d;color:white;padding:clamp(130px,12vw,180px) 0 clamp(75px,8vw,112px)}
.options-header h1{font:500 clamp(3rem,7.2vw,8rem)/1.04 Manrope,Arial,sans-serif;letter-spacing:-.07em;margin:20px 0 33px}
.options-header h1 em{font-style:normal;color:#a9c7ca}
.options-header>div>p:last-child{font-size:clamp(17px,1.65vw,22px);line-height:1.6;max-width:760px;margin:0;color:#d8e6e7}
.options-content{background:#f7f8f7}
.options-lead{display:grid;grid-template-columns:.33fr 1fr;gap:8%;padding-bottom:65px}
.options-lead>p:last-child{font-size:19px;line-height:1.7;margin:0;max-width:870px;color:#536a72}
.options-group{border-top:1px solid #b6cbd0;padding:35px 0 58px}
.options-group-heading{display:grid;grid-template-columns:150px 1fr;align-items:baseline;gap:22px;margin-bottom:25px}
.options-group-heading span{font:700 12px Manrope,Arial,sans-serif;letter-spacing:.16em;color:#557983}
.options-group h2{font:500 clamp(1.9rem,3.3vw,3.5rem)/1.17 Manrope,Arial,sans-serif;letter-spacing:-.05em;margin:0}
.options-table-wrap table{border-collapse:collapse;width:100%;table-layout:fixed}
.options-table-wrap th,.options-table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #d5e1e2;padding:18px 22px 20px 0}
.options-table-wrap thead th{font:700 12px Manrope,Arial,sans-serif;letter-spacing:.09em;color:#6b8790;text-transform:uppercase;padding-top:12px;padding-bottom:13px}
.options-table-wrap thead th:first-child{width:22%}.options-table-wrap thead th:nth-child(2){width:51%}
.options-table-wrap tbody th{font:700 16px/1.5 Manrope,Arial,sans-serif;color:#16343e}
.options-table-wrap td{font-size:16px;line-height:1.65;color:#435d66}
.options-table-wrap td:last-child{color:#66818a}
.options-sources{padding:32px 0 0;border-top:1px solid #b6cbd0}
.options-sources h2{font:600 22px Manrope,Arial,sans-serif;letter-spacing:-.03em;margin:0 0 9px}
.options-sources p{font-size:15px;color:#59717a;line-height:1.6;margin:0 0 23px}
.options-sources>div{display:flex;gap:13px 23px;flex-wrap:wrap}
.options-sources a{font-size:14px;color:#163b48;text-underline-offset:4px}
@media(max-width:760px){
 .options-header{padding:116px 0 74px}
 .options-header h1{font-size:clamp(2.7rem,10vw,5rem)}
 .options-lead{display:block;padding-bottom:48px}
 .options-lead>p:last-child{margin-top:20px;font-size:17px}
 .options-group{padding:27px 0 42px}
 .options-group-heading{display:block;margin-bottom:18px}
 .options-group-heading h2{margin-top:11px}
 .options-table-wrap thead{display:none}
 .options-table-wrap table,.options-table-wrap tbody,.options-table-wrap tr,.options-table-wrap th,.options-table-wrap td{display:block;width:100%}
 .options-table-wrap tr{padding:18px 0;border-bottom:1px solid #d5e1e2}
 .options-table-wrap th,.options-table-wrap td{border:0;padding:0}
 .options-table-wrap tbody th{font-size:17px;margin-bottom:8px}
 .options-table-wrap td{font-size:16px}
 .options-table-wrap td:last-child{font-size:14px;margin-top:7px}
 .options-table-wrap td:last-child:before{content:"Szempont: ";font-weight:700}
}
/* Sitewide service navigation */
.nav-dropdown{position:relative;align-self:stretch;display:flex;align-items:center}
.header nav .nav-services-button{border:0;padding:12px 0;background:none;color:inherit;font:inherit;font-weight:700;white-space:nowrap}
.nav-services-button span{font-size:18px;line-height:0;margin-left:5px;display:inline-block;transition:transform .25s}
.nav-dropdown.is-open .nav-services-button span,.nav-dropdown:hover .nav-services-button span,.nav-dropdown:focus-within .nav-services-button span{transform:rotate(180deg)}
.header nav .nav-services-button:hover{color:var(--accent)}
.nav-submenu{position:absolute;z-index:20;top:calc(100% - 3px);left:-22px;width:295px;background:#f5f6f5;color:#153743;border:1px solid #d6e0e2;box-shadow:0 22px 45px #102e3930;padding:12px 21px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility .22s;white-space:normal}
.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu,.nav-dropdown.is-open .nav-submenu{opacity:1;visibility:visible;transform:none}
.header nav .nav-submenu a{display:block;padding:12px 2px;border-bottom:1px solid #dde7e8;line-height:1.4}
.header nav .nav-submenu a:last-child{border-bottom:0}
@media(max-width:760px){
 .nav-dropdown{display:block;align-self:stretch}
 .header nav .nav-services-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 0;text-align:left}
 .nav-submenu{display:none;position:static;width:auto;box-shadow:none;border:0;border-left:1px solid #9bbbc3;background:transparent;color:inherit;padding:0 0 4px 16px;opacity:1;visibility:visible;transform:none;transition:none}
 .nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{display:none}
 .nav-dropdown.is-open .nav-submenu{display:block}
 .header nav .nav-submenu a{border-color:#b9c9cc55}
}
@media(prefers-reduced-motion:reduce){.nav-submenu,.nav-services-button span{transition:none}}
/* Compact topic jump for the technical options page */
.options-index{border-top:1px solid #b6cbd0;padding:25px 0 45px}
.options-index>p{font:700 12px Manrope,Arial,sans-serif;letter-spacing:.14em;color:#597c86;margin:0 0 20px}
.options-index>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 22px}
.options-index a{display:flex;gap:12px;align-items:baseline;min-height:68px;padding:14px 4px;border-top:1px solid #d5e1e2;text-decoration:none;font:600 15px/1.45 Manrope,Arial,sans-serif;transition:color .2s,border-color .2s}
.options-index a:hover,.options-index a:focus-visible{color:#507988;border-color:#507988}
.options-index a span{font-size:11px;letter-spacing:.06em;color:#66848d;flex:none}
.options-group h2[id]{scroll-margin-top:28px}
@media(max-width:1050px){.options-index>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.options-index{padding:23px 0 34px}.options-index>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.options-index a{font-size:14px;min-height:72px;gap:8px}}

/* Contact page */
.contact-page-intro{background:#eaf0f1}
.contact-page-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:clamp(35px,7vw,120px);padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(85px,11vw,160px)}
.contact-page-primary{min-width:0}
.contact-page-link{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 22px;padding:27px 0;border-bottom:1px solid #cdd8da;text-decoration:none;color:var(--ink)}
.contact-page-link span{grid-column:1 / -1;color:#617982;font:700 12px Manrope,Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.contact-page-link strong{font:500 clamp(1.25rem,2.2vw,2.5rem)/1.25 Manrope,Arial,sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere}
.contact-page-link b{font-size:27px;font-weight:400;color:var(--accent)}
.contact-page-link:hover strong{color:var(--accent)}
.contact-page-note{max-width:540px;margin:35px 0 27px;color:#536a72;line-height:1.75}
.contact-page-button{display:inline-flex}
.contact-page-details{background:#102f3c;color:#e7eff0;padding:clamp(30px,4vw,60px);align-self:start}
.contact-page-details .eyebrow{color:#9ec6ce}
.contact-page-details h2{font:500 clamp(2rem,3vw,3.3rem)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.05em;margin:20px 0 40px}
.contact-page-details dl{margin:0}
.contact-page-details dl div{padding:17px 0;border-top:1px solid #ffffff35}
.contact-page-details dt{font-size:13px;color:#a9c3c8;margin-bottom:8px}
.contact-page-details dd{margin:0;font-size:17px;line-height:1.5}
.contact-page-details>p:last-child{color:#b4c9cd;line-height:1.7;margin:35px 0 0}
@media(max-width:760px){.contact-page-body{display:block}.contact-page-details{margin-top:65px}.contact-page-link strong{font-size:clamp(1.2rem,5vw,1.9rem)}}

.contact-heading-dot{color:var(--accent)}
.contact-people-heading{font:500 clamp(1.6rem,2.4vw,2.5rem)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin:24px 0 18px}
.contact-person{padding:24px 0;border-bottom:1px solid #cdd8da}
.contact-person h3{font:600 clamp(1.2rem,1.7vw,1.6rem)/1.3 Manrope,Arial,sans-serif;margin:0 0 11px}
.contact-person a{font-size:18px;color:#356779;text-decoration:none}
.contact-person a span{margin-left:8px}
.contact-person a:hover{text-decoration:underline}

.privacy-content{max-width:950px;padding-top:clamp(60px,8vw,110px);padding-bottom:clamp(80px,9vw,130px)}
.privacy-content section{padding:30px 0;border-bottom:1px solid #cdd8da}
.privacy-content h2{font:500 clamp(1.4rem,2vw,2rem)/1.25 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 18px;color:#153340}
.privacy-content p{font-size:16px;line-height:1.8;max-width:75ch;color:#344e58}
.privacy-content a{color:#174b5c;text-underline-offset:3px}
.privacy-updated{margin-top:34px;font-size:13px!important}
