@font-face{font-family:Display;src:url('assets/display.otf') format('opentype');font-display:swap;font-weight:900;font-style:italic}@font-face{font-family:Work;src:url('assets/work-sans.ttf') format('truetype');font-display:swap;font-weight:100 900}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#25342f;font-family:Work,Arial,sans-serif;font-size:16px;line-height:1.55;background:#faf8f8}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f3bc46;outline-offset:5px}.container{width:72.6%;max-width:1394px;margin-inline:auto}h1,h2,h3,p{margin:0}h2,h3,.button,header nav{font-family:Display,'Arial Narrow',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase}header{background:#fff}.header-inner{height:clamp(80px,5vw,96px);display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:clamp(160px,12.35vw,237px)}header nav{display:flex;align-items:center;gap:clamp(18px,1.8vw,36px);font-size:clamp(18px,1.25vw,24px);white-space:nowrap}header nav a:first-child,header nav a:hover{color:#268790}.menu-toggle{display:none}.hero{height:clamp(510px,36.25vw,696px);background:#fff url('assets/hero.webp') center / cover no-repeat}.hero-inner{height:100%;padding-top:clamp(45px,4.1vw,79px)}.hero-copy{margin-left:3.9%;width:38%}.hero h1 img{width:100%;max-width:493px}.hero-copy>p{max-width:375px;margin-top:26px;font-size:clamp(16px,1.04vw,20px);font-weight:500;line-height:1.8}.hero-actions{display:flex;gap:10px;margin-top:clamp(28px,3.5vw,67px)}.button{border:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;gap:16px;background:#b71c41;color:white;padding:13px 24px;font-size:23px;line-height:1.4;cursor:pointer;transform:skew(-8deg);white-space:nowrap}.button span{font-family:Arial;font-style:normal;font-size:25px}.button:hover{background:#8c1734}.button-light{background:white;color:#b71c41;border:1px solid #b71c41}.button-light:hover{background:#fff1f4}.stats{position:relative;background:#b71c41;color:#fff;padding:76px 0 100px}.stats:after{content:'';position:absolute;bottom:-21px;left:0;width:100%;height:40px;background:url('assets/edge-red.png') center bottom / 100% 180px no-repeat;pointer-events:none}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stats article{text-align:center;padding:0 28px;border-right:1px solid #c13b5b}.stats article:last-child{border:0}.stats article>img{height:85px;width:109px;object-fit:contain;margin:0 auto 28px}.stats h2{font-size:32px;line-height:1.2;white-space:nowrap}.stats p{font-size:16px;margin:32px 0 20px}.stats a{font-size:14px;text-decoration:underline;text-underline-offset:3px}.main-content{padding:100px 0 130px}.section-title{font-size:44px;text-align:center;color:#b71c41;margin-bottom:44px;line-height:1.2}.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}.product{display:flex;align-items:center;gap:36px;padding:42px 52px;background:#fff;min-height:168px}.product-icon{width:77px;height:77px;flex:none;display:grid;place-items:center;background:#bd1945}.product-icon img{width:54px;max-height:52px;object-fit:contain}.product h3{font-size:32px;color:#b71c41;line-height:1.2;margin-bottom:8px}.product p{font-size:14px}.product:nth-child(2),.product:hover{background:#bd1945;color:#fff}.product:nth-child(2) h3,.product:hover h3{color:#fff}.product:nth-child(2) .product-icon,.product:hover .product-icon{background:white}.product:nth-child(2) .product-icon img,.product:hover .product-icon img{filter:brightness(0) saturate(100%) invert(19%) sepia(77%) saturate(2545%) hue-rotate(328deg) brightness(81%)}.news{padding-top:100px}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px 22px}.news-card{position:relative;background:white;padding:47px 40px 48px;min-height:602px}.news-photo{width:100%;aspect-ratio:596/292;object-fit:cover}.date{position:absolute;top:0;left:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:77px;height:77px;background:#bd1945;color:#fff;line-height:1}.date strong{font-family:Display,sans-serif;font-style:italic;font-size:36px}.date span{font-size:16px;margin-top:5px}.news h3{font-size:32px;line-height:1.25;color:#b71c41;margin:27px 0 23px}.news p{font-size:16px;line-height:1.55}.contact{background:#278790;color:white;position:relative;display:grid;grid-template-columns:1fr 1fr}.contact:before{content:'';position:absolute;top:-27px;left:0;right:0;height:36px;background:url('assets/edge-teal.png') center top / 100% 180px no-repeat}.contact-form-wrap{padding:75px 13.5% 52px 29.5%}.contact form h2{font-family:Work,sans-serif;text-transform:none;font-style:normal;font-size:16px;font-weight:500;margin-bottom:62px}.contact label{display:block}.contact input:not([type=checkbox]),.contact textarea{width:100%;border:1px solid #94c1c5;color:white;background:transparent;padding:14px 24px;border-radius:0;font-size:16px;margin-bottom:20px}.contact input::placeholder,.contact textarea::placeholder{color:#d0e6e7;opacity:1}.contact textarea{height:194px;resize:vertical;min-height:140px}.contact .consent{display:flex;align-items:flex-start;gap:14px;font-size:14px;margin:0 0 26px}.consent input{width:21px;height:21px;margin:0;flex:none;accent-color:#195b63}.contact .button{background:#195b63}.map{overflow:hidden;min-height:700px}.map img{width:100%;height:100%;object-fit:cover;object-position:left center}.map:hover img{opacity:.93}#form-status{font-size:14px;margin-top:20px;padding:14px;background:#195b63}footer{background:#1c5b62;color:#d9e8e9;padding:72px 0 32px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:70px}footer h2{font-size:32px;color:#73c6ce;line-height:1.25}footer p{font-size:14px;line-height:2;margin:10px 0 25px}footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:14px;margin-top:12px}footer a:hover{text-decoration:underline}.legal{text-align:center;font-size:13px;color:#b4d0d3;margin-top:66px}.legal p{font-size:13px;margin-bottom:0}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:absolute;z-index:10;background:#fff;padding:16px}
@media(max-width:1600px){.container{width:80%}header nav{gap:19px}.hero-copy{margin-left:0}.stats{padding:65px 0 85px}.stats article{padding:0 16px}.stats h2{font-size:29px}.product{padding:32px;gap:24px;min-height:140px}.product h3{font-size:29px}.product-icon{width:64px;height:64px}.news-card{padding:38px 32px;min-height:490px}.news h3{font-size:29px}.news p{font-size:16px}.contact-form-wrap{padding-left:20%;padding-right:13%}.main-content{padding-top:90px}.date{left:55px}}
@media(max-width:1100px){.container{width:90%}header nav{gap:15px;font-size:18px}.logo{width:150px}.hero-copy{width:43%}.hero{background-position:55% center}.stats h2{font-size:26px}.stats p{font-size:14px}.product{gap:18px;padding:25px}.product h3{font-size:26px}.product-icon{width:54px;height:54px;padding:8px}.news-card{padding:32px 25px;min-height:0}.contact-form-wrap{padding:55px 10%}.map{min-height:670px}.footer-grid{gap:35px}.hero-actions{gap:8px}.button{padding:12px 18px;font-size:21px}}
@media(max-width:760px){.header-inner{height:76px}.logo{width:158px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:12px}.menu-toggle span{width:25px;height:2px;background:#25342f}header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;z-index:5;padding:24px 6%;font-size:25px;box-shadow:0 12px 18px #0001}header nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.hero{height:740px;background-size:auto 400px;background-position:66% bottom;background-repeat:no-repeat}.hero-inner{padding-top:30px}.hero-copy{width:100%}.hero h1 img{width:285px}.hero-copy>p{max-width:320px;line-height:1.65;margin-top:20px}.hero-actions{margin-top:23px}.hero-actions .button{font-size:21px;padding:11px 17px}.stats{padding:48px 0 60px}.stats-grid{grid-template-columns:1fr 1fr;gap:38px 0}.stats article{padding:0 13px}.stats article:nth-child(2){border:0}.stats article>img{height:60px;margin-bottom:19px}.stats h2{font-size:25px;white-space:normal}.stats p{font-size:14px;margin:18px 0 13px}.main-content{padding:65px 0 80px}.section-title{font-size:38px;margin-bottom:30px}.products-grid,.news-grid{grid-template-columns:1fr;gap:20px}.product{min-height:117px;padding:25px 22px;gap:22px}.product h3{font-size:28px}.product p{font-size:14px}.news{padding-top:60px}.news-card{padding:35px 24px}.news h3{font-size:30px;margin:23px 0 18px}.date{left:45px;width:62px;height:65px}.date strong{font-size:30px}.date span{font-size:14px}.contact{grid-template-columns:1fr}.contact-form-wrap{padding:48px 6%}.contact form h2{margin-bottom:30px}.map{min-height:0;height:360px}.map img{object-position:center}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}footer{padding:45px 0 25px}.footer-grid>div:last-child{grid-column:1/-1}footer h2{font-size:29px}footer p,footer nav{font-size:14px}.legal{margin-top:30px}.legal p{padding:0 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-actions .button img{width:29px;height:29px;object-fit:contain}.hero{margin-bottom:-1px}.stats{z-index:1}
@media(max-width:760px){.hero{background-position:right bottom}}
/* Refinements from the original layered artwork. */
.button-light:hover,.button-light:focus-visible{background:#b71c41;color:#fff;border-color:#b71c41}
.button-light:hover img,.button-light:focus-visible img{filter:brightness(0) invert(1)}
.contact:before{top:-60px;height:61px;background:url('assets/tear-teal.png') center bottom / 100% 100% no-repeat;z-index:1;pointer-events:none}
.map{position:relative;display:block;background:#e6e9e5}
.map iframe{display:block;width:100%;height:100%;min-height:700px;border:0}
.map-link{position:absolute;bottom:16px;left:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);padding:10px 16px;background:#fff;color:#195b63;font-size:14px;box-shadow:0 2px 12px #0002}
.hero h1{animation:claim-arrive 950ms cubic-bezier(.16,1,.3,1) both;animation-delay:100ms}
@keyframes claim-arrive{from{opacity:0;transform:translateX(-85px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.contact:before{top:-29px;height:30px;background-size:auto 100%;background-position:center bottom}.map iframe{height:360px;min-height:360px}}
@media(prefers-reduced-motion:reduce){.hero h1{animation:none}}
/* Motion and pointer states. */
.hero-actions .button{transition:background-color .22s,color .22s,border-color .22s;border:1px solid #b71c41}
.hero-actions .button:not(.button-light):hover,.hero-actions .button:not(.button-light):focus-visible{background:#fff;color:#b71c41}
.hero-actions .button:not(.button-light):hover img,.hero-actions .button:not(.button-light):focus-visible img{filter:brightness(0) saturate(100%) invert(19%) sepia(77%) saturate(2545%) hue-rotate(328deg) brightness(81%)}
.stats article{position:relative;padding-top:22px;padding-bottom:22px;transition:background-color .25s}
.stats article:hover,.stats article:focus-within{background:#8c1734}
.stats article a:after{content:'';position:absolute;inset:0}
.stats article img{pointer-events:none}
.stats:after{height:42px;bottom:-28px;background:url('assets/tear-red.png') center bottom / 100% 100% no-repeat}
.news h3 span{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;transition:background-size .4s cubic-bezier(.2,.7,.2,1);padding-bottom:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.news-card:hover h3 span{background-size:100% 2px}
.reveal-ready{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
.stats article>img.reveal-ready{transform:translateX(-38px)}
.stats article>img.reveal-ready.is-visible{transform:translateX(0)}
.main-content{padding-bottom:420px}
.contact{isolation:isolate}
.character-window{position:absolute;bottom:calc(100% - 24px);left:50%;width:min(600px,84vw);aspect-ratio:5952/3213;transform:translateX(-50%);overflow:hidden;z-index:2;pointer-events:none}
.footer-character{transform:translateY(105%);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.character-window.is-visible .footer-character{transform:translateY(0)}
.footer-character img{width:100%;height:auto}
@media(max-width:760px){.stats article{padding-top:18px;padding-bottom:18px}.stats:after{height:26px;bottom:-18px;background-size:auto 100%}.main-content{padding-bottom:calc(84vw * .498 + 80px)}.character-window{bottom:calc(100% - 13px)}}
@media(prefers-reduced-motion:reduce){.reveal-ready,.stats article>img.reveal-ready{opacity:1;transform:none;transition:none}.footer-character{transform:none;transition:none}.news h3 span,.hero-actions .button,.stats article{transition:none}}
.character-window{bottom:calc(100% + 6px)}
@media(max-width:760px){.character-window{bottom:100%}}
/* Layered footer: artwork behind the paper, only the fingers in front. */
.main-content{padding-bottom:340px}
.footer-scene{position:absolute;left:0;right:0;bottom:100%;height:300px;pointer-events:none}
.character-window{left:auto;right:6%;bottom:-24px;width:min(580px,48vw);transform:none;z-index:0}
.fingers-window{z-index:3}
.contact:before{z-index:2}
.contact-form-wrap,.map{position:relative;z-index:4}
.footer-scene .footer-character{transform:translateY(105%)}
.footer-scene.is-visible .footer-character{transform:translateY(0)}
.colosseum-window{position:absolute;left:3%;bottom:0;width:60%;max-width:1050px;overflow:hidden;z-index:0;mix-blend-mode:multiply}
.colosseum-window img{width:100%;height:auto;transform:translateY(105%);transition:transform 1.3s cubic-bezier(.16,1,.3,1) .08s}
.footer-scene.is-visible .colosseum-window img{transform:translateY(0)}
.map{min-height:700px;align-self:stretch}
.map iframe{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.hero h1 img{animation:claim-drift 6s ease-in-out 1.1s infinite;transform-origin:center}
@keyframes claim-drift{0%,100%{transform:translate(0,0) rotate(0deg)}35%{transform:translate(1px,-2px) rotate(-.18deg)}70%{transform:translate(-1px,1px) rotate(.15deg)}}
@media(max-width:760px){.main-content{padding-bottom:calc(60vw * .54 + 38px)}.footer-scene{height:calc(60vw * .54)}.character-window{right:2%;width:60vw;bottom:-12px}.colosseum-window{left:0;width:68%;bottom:0}.map{height:380px;min-height:380px}.map iframe{height:100%;min-height:0}}
@media(prefers-reduced-motion:reduce){.hero h1 img{animation:none}.footer-scene .footer-character,.colosseum-window img{transform:none;transition:none}}
.colosseum-window{mix-blend-mode:normal;background:#faf8f8}
.colosseum-window img{mix-blend-mode:multiply}
.character-window{bottom:-9px}
.fingers-window{z-index:6}
@media(max-width:760px){.character-window{bottom:-4px}}
/* Shared compact navigation and full-bleed video. */
header{position:sticky;top:0;z-index:100;box-shadow:0 1px 8px #00000009}
.header-inner{height:76px}.logo{display:flex;align-items:center;width:190px;flex:none}.logo-word{width:71.5%}.logo-head{width:28.5%;animation:logo-pulse 5s ease-in-out infinite}
header nav{font-size:21px;gap:25px}html{scroll-padding-top:100px}
.hero{position:relative;isolation:isolate;background:none;overflow:hidden;height:clamp(520px,36.25vw,696px)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffffffba 0%,#ffffff35 36%,transparent 65%)}
.hero-inner{position:relative}.hero h1 img{animation:claim-drift 5s ease-in-out infinite}
@keyframes claim-drift{0%,100%{transform:translate(0,0) rotate(-.18deg)}35%{transform:translate(2px,-3px) rotate(.25deg)}70%{transform:translate(-2px,1px) rotate(-.2deg)}}
@keyframes logo-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.hero-actions .button-light img{animation:phone-ring 5s ease-in-out infinite}
@keyframes phone-ring{0%,76%,100%{transform:rotate(0)}80%,88%{transform:rotate(-8deg)}84%,92%{transform:rotate(8deg)}96%{transform:rotate(-3deg)}}
.stats article:hover>img,.stats article:focus-within>img{filter:brightness(0) invert(1)}
.stats p{max-width:245px;margin-inline:auto;min-height:3.1em}.stats article{padding-bottom:12px}
.product:nth-child(2){background:#fff;color:#25342f}.product:nth-child(2) h3{color:#b71c41}.product:nth-child(2) .product-icon{background:#bd1945}.product:nth-child(2) .product-icon img{filter:none}
.product:hover,.product:focus-visible{background:#bd1945;color:#fff}.product:hover h3,.product:focus-visible h3{color:#fff}.product:hover .product-icon{background:#fff}.product:hover .product-icon img{filter:brightness(0) saturate(100%) invert(19%) sepia(77%) saturate(2545%) hue-rotate(328deg) brightness(81%)}
.news-card{transition:opacity .75s,transform .4s,box-shadow .4s}.news-card.is-visible:hover,.news-card:not(.reveal-ready):hover{transform:scale(1.018);box-shadow:0 12px 28px #25342f0a;z-index:2}
.contact input:not([type=checkbox]):focus,.contact textarea:focus{outline:none;border-color:#fff;box-shadow:inset 0 0 0 1px #fff;background:#ffffff08}
.contact .button:hover,.contact .button:focus-visible{background:#b71c41}
.colosseum-window{width:46%;left:4%;max-width:750px}
.fingers-window .footer-character img{transform:translateY(-18px)}
.footer-scene.is-visible .footer-character img{animation:roman-breathe 6s ease-in-out infinite}
.footer-scene.is-visible .fingers-window .footer-character img{animation:fingers-breathe 6s ease-in-out infinite}
@keyframes roman-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes fingers-breathe{0%,100%{transform:translateY(-18px)}50%{transform:translateY(-20px)}}
/* Contact page. */
.contact-intro{padding:75px 0 55px}.eyebrow,.person-role{font-size:14px;font-weight:600;color:#278790;text-transform:uppercase;letter-spacing:.06em}.contact-intro h1{font-family:Display,sans-serif;font-style:italic;text-transform:uppercase;font-size:clamp(54px,5vw,88px);line-height:1.03;margin:18px 0 24px}.contact-intro h1 span{color:#b71c41}.contact-intro>p:last-child{max-width:540px;line-height:1.8}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.person-card{display:flex;align-items:center;gap:28px;background:#fff;padding:34px}.person-portrait{width:115px;flex:none;aspect-ratio:1;overflow:hidden;background:#f5eeee;border-radius:50%}.person-portrait img{width:100%;height:100%;object-fit:cover;object-position:top}.person-detail{min-width:0}.person-detail h2{font-size:34px;color:#b71c41;margin:8px 0 15px}.person-detail a{display:block;font-size:16px;overflow-wrap:anywhere;margin-top:5px}.person-detail a:hover{color:#b71c41;text-decoration:underline}.person-detail small{display:block;font-size:12px;margin-top:12px;color:#68736e}.locations{padding:80px 0 110px}.location-card{display:grid;grid-template-columns:1fr 1fr;background:#fff;margin-top:24px}.location-copy{padding:45px}.location-copy h2{font-size:46px;color:#b71c41;margin:10px 0 15px}.location-copy p{margin-bottom:20px}.location-card iframe{width:100%;height:100%;min-height:360px;border:0}.location-copy .button{font-size:21px}.contact-page-form .contact-form-wrap{padding:55px 20% 55px 8%}.contact-invitation{padding:75px 8% 50px 20%}.contact-invitation h2{font-size:54px;line-height:1.1}.contact-invitation p{margin:25px 0}.contact-invitation>a{font-size:24px}.contact-page header nav a:first-child{color:inherit}.contact-page header nav a[href="kontakt.html"]{color:#278790}
@media(max-width:1100px){header nav{font-size:18px;gap:17px}.logo{width:165px}.person-card{gap:18px;padding:25px}.person-portrait{width:85px}}
@media(max-width:760px){.header-inner{height:68px}.logo{width:150px}header nav{top:68px;font-size:24px}.hero{height:610px;min-height:610px}.hero-video{object-position:66% center}.hero-shade{background:linear-gradient(90deg,#ffffffd9,#ffffff70 65%,#ffffff10)}.hero-inner{padding-top:50px}.hero-copy>p{max-width:300px}.hero-actions{flex-wrap:wrap;max-width:330px}.hero h1 img{max-width:285px}.colosseum-window{width:50%;left:1%}.fingers-window .footer-character img{transform:translateY(-9px)}.footer-scene.is-visible .fingers-window .footer-character img{animation:none}.people-grid{grid-template-columns:1fr}.contact-intro{padding:45px 0 35px}.person-detail h2{font-size:30px}.locations{padding:55px 0 70px}.location-card{grid-template-columns:1fr}.location-copy{padding:28px}.location-card iframe{height:280px;min-height:280px}.contact-invitation{padding:45px 6% 10px}.contact-invitation h2{font-size:42px}.contact-page-form .contact-form-wrap{padding:30px 6% 45px}}
@media(prefers-reduced-motion:reduce){.hero h1 img,.logo-head,.hero-actions .button-light img,.footer-scene.is-visible .footer-character img{animation:none}.news-card{transition:none}}
/* Current review corrections. */
.stats:before{content:'';position:absolute;left:0;right:0;top:-28px;height:30px;background:#b71c41;mask:url('assets/tear-red.png') center top / 100% 100%;-webkit-mask:url('assets/tear-red.png') center top / 100% 100%;transform:rotate(180deg);pointer-events:none}
.product:nth-child(2):not(:hover) .product-icon img{filter:brightness(0) invert(1)}
.fingers-window .footer-character img{transform:translateY(-29px)}
@keyframes fingers-breathe{0%,100%{transform:translateY(-29px)}50%{transform:translateY(-31px)}}
.person-card{transition:opacity .75s,transform .4s,box-shadow .4s}.person-card.is-visible:hover,.person-card:not(.reveal-ready):hover{transform:scale(1.018);box-shadow:0 12px 28px #25342f0a;z-index:2}
.person-portrait{display:grid;place-items:center}.person-portrait img{width:76%;height:86%;object-fit:contain;object-position:center}
.contact-page header nav a:first-child:hover,.contact-page header nav a:first-child:focus-visible{color:#278790}
.logo-head{animation:logo-pulse 3.6s ease-in-out infinite;transform-origin:50% 55%}
@keyframes logo-pulse{0%,100%{transform:scale(.98)}50%{transform:scale(1.07)}}
.contact-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;overflow:hidden}.intro-copy>p:last-child{max-width:540px;line-height:1.8}
.contact-formwork{max-width:450px;justify-self:end;animation:formwork-arrive 1s cubic-bezier(.16,1,.3,1) both}.contact-formwork img{width:100%;max-height:330px;object-fit:contain;animation:formwork-pulse 5s ease-in-out 1s infinite}
@keyframes formwork-arrive{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}
@keyframes formwork-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
.thinking-avatar{width:min(290px,100%);height:340px;margin-top:35px;overflow:hidden}.thinking-avatar img{width:100%;height:auto}
.map-embed{position:relative;min-height:360px;height:100%;width:100%;background:#e6e9e5}
.map>.map-embed{position:absolute;inset:0;min-height:0}.map-embed iframe,.location-card .map-embed iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;border:0}
.map-reload{position:absolute;right:12px;bottom:12px;z-index:2;border:0;background:#fff;color:#195b63;font-size:12px;padding:8px 12px;cursor:pointer;box-shadow:0 2px 8px #0002}.map-reload:hover{color:#b71c41}.map-link{bottom:48px}
@media(max-width:760px){.contact-intro{grid-template-columns:1fr;gap:24px}.contact-formwork{max-width:260px;justify-self:center}.contact-formwork img{max-height:210px}.thinking-avatar{height:270px;width:215px}.map-embed{height:300px;min-height:300px}.fingers-window .footer-character img{transform:translateY(-15px)}.stats:before{height:22px;top:-20px}}
@media(prefers-reduced-motion:reduce){.logo-head,.contact-formwork,.contact-formwork img{animation:none}.person-card{transition:none}}
.location-card.reveal-ready.is-visible{transform:none}
.tile-map,.map-tiles{position:absolute;inset:0;overflow:hidden}.map-tiles img{position:absolute;width:256px!important;height:256px!important;max-width:none;object-fit:fill}.map-zoom{position:absolute;right:14px;top:14px;display:grid;gap:2px}.map-zoom button{border:0;background:#fff;color:#195b63;font-size:26px;width:38px;height:38px;cursor:pointer;box-shadow:0 1px 5px #0002}.map-address{position:absolute;left:14px;top:14px;background:#fff;color:#25342f;max-width:70%;padding:10px 14px;font-size:14px;box-shadow:0 1px 5px #0002}.map-credit{position:absolute;bottom:0;right:0;background:#fffd;color:#25342f;font-size:11px;padding:2px 5px}.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:38px;color:#b71c41;text-shadow:0 0 3px #fff}
/* Anchor the contact illustration to the footer while preserving its head height. */
.contact-invitation{position:relative;padding-bottom:0;display:flex;flex-direction:column;align-items:flex-start}
.thinking-avatar{width:min(390px,100%);height:auto;min-height:340px;flex:1;align-self:center;position:relative;margin-top:35px;overflow:hidden}
.thinking-avatar img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:none;object-fit:contain}
@media(max-width:760px){.contact-invitation{padding-bottom:0}.thinking-avatar{flex:none;width:100%;height:390px;min-height:0;margin-top:30px}.thinking-avatar img{max-width:100%;object-fit:contain}}
/* Portfolio and company pages */
.thinking-avatar{align-self:flex-start;width:100%;overflow:visible;min-height:440px}.thinking-avatar img{left:0;transform:none;width:100%;height:100%;object-fit:contain;object-position:left bottom}
.inner-page header nav a:first-child{color:inherit}header nav a[aria-current=page]{color:#278790}.inner-page header nav a:hover{color:#b71c41}
.portfolio-intro{display:flex;justify-content:space-between;align-items:center;padding:75px 0 55px;gap:40px}.portfolio-intro h1,.about-story h1{font-size:clamp(52px,5.6vw,86px);line-height:1.02;margin:18px 0 25px}.portfolio-intro h1 span,.about-story h1 span{color:#b71c41}.portfolio-intro p{max-width:580px}.portfolio-number{color:#b71c41;text-align:center;flex:none;transform:rotate(-5deg)}.portfolio-number strong{display:block;font:160px/1 Display,sans-serif;font-style:italic;font-weight:900;letter-spacing:-10px}.portfolio-number span{font-size:13px;text-transform:uppercase;letter-spacing:2px}.portfolio{padding-bottom:80px}.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dfd7d7;padding:25px 0}.project-filters{display:flex;gap:8px;flex-wrap:wrap}.project-filters button{border:1px solid #ddd;background:transparent;border-radius:30px;padding:10px 20px;cursor:pointer;font:inherit;font-size:14px}.project-filters button[aria-pressed=true],.project-filters button:hover{background:#b71c41;color:white;border-color:#b71c41}#project-count{font-size:13px;white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project-card{display:block;text-align:left;border:0;padding:0;background:white;cursor:pointer;color:inherit;font:inherit;transition:transform .3s,box-shadow .3s;overflow:hidden}.project-card[hidden]{display:none}.project-card:hover{transform:translateY(-6px);box-shadow:0 16px 35px #40101c12}.project-photo{position:relative;aspect-ratio:4/3;overflow:hidden}.project-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover .project-photo>img{transform:scale(1.045)}.project-status{position:absolute;left:16px;top:16px;padding:8px 12px;border-radius:20px;background:#fff;color:#183c30;font-size:12px;display:flex;align-items:center;gap:8px}.project-status i{height:7px;width:7px;border-radius:50%;background:#22a969;animation:status-pulse 2.8s ease-in-out infinite}.completed{color:#b71c41}.photo-count{position:absolute;bottom:14px;right:14px;padding:6px 10px;background:#143a3dda;color:white;font-size:12px;border-radius:3px}.project-copy{padding:24px;display:flex;flex-direction:column;min-height:245px}.project-copy .eyebrow{font-size:11px}.project-copy h2{font-size:32px;line-height:1.12;color:#b71c41;margin:12px 0 15px}.project-location,.project-period{font-size:13px;line-height:1.5;margin:0 0 8px}.project-period{color:#6d7775}.gallery-link{display:flex;justify-content:space-between;margin-top:auto;padding-top:24px;font-size:13px;font-weight:600}.gallery-link b{color:#b71c41}.source-note{font-size:12px;color:#6b7470;margin-top:28px;max-width:780px}.project-cta{position:relative;background:#278790;color:white;padding:70px 0 80px}.project-cta:before,.about-values:before{content:'';position:absolute;left:0;right:0;top:-25px;height:27px;background:inherit;mask:url('assets/tear-red.png') center/100% 100%;transform:rotate(180deg)}.project-cta h2{font-size:58px;line-height:1.05;margin:15px 0 30px}.project-cta .eyebrow{color:white}.project-dialog{border:0;padding:0;width:min(1100px,94vw);max-height:94dvh;background:#faf8f8;color:#122a29;overflow:auto}.project-dialog::backdrop{background:#0a2325ed}.gallery-stage{height:min(65vh,650px);position:relative;background:#0e2425}.gallery-stage img{width:100%;height:100%;object-fit:cover}.gallery-close,.gallery-prev,.gallery-next{border:0;background:white;color:#b71c41;width:44px;height:44px;cursor:pointer;font-size:23px;z-index:2}.gallery-close{position:absolute;top:12px;right:12px}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%)}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 30px}.gallery-caption h2{font-size:32px;margin:0 0 8px}.gallery-caption p,.gallery-caption>span{font-size:13px}.about-video{height:clamp(280px,40vw,620px);position:relative;overflow:hidden}.about-video video{position:static;width:100%;height:100%;object-fit:cover}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:85px 0 100px}.story-copy p{margin-bottom:22px;line-height:1.8}.story-copy .lead{font-size:23px;line-height:1.5;font-weight:600}.about-values{position:relative;background:#b71c41;color:white;padding:55px 0 70px}.about-values .eyebrow{color:white}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:35px}.values-grid article>span{font-size:12px;opacity:.75}.values-grid h2{font-size:43px;margin:15px 0}.values-grid p{font-size:15px;line-height:1.7}.about-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;padding:90px 0;align-items:center}.about-feature>img{width:100%;height:420px;object-fit:cover}.about-feature h2{font-size:56px;line-height:1.06;margin:20px 0}.about-feature p{margin-bottom:25px}@keyframes status-pulse{50%{box-shadow:0 0 0 5px #22a96920;opacity:.6}}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-number strong{font-size:110px}.about-story{gap:35px}}
@media(max-width:760px){.thinking-avatar{height:430px;min-height:0}.portfolio-intro{padding:45px 0 30px}.portfolio-number{display:none}.project-grid{grid-template-columns:1fr}.project-toolbar{align-items:flex-start;flex-direction:column}.project-copy{min-height:220px}.portfolio-intro h1,.about-story h1{font-size:52px}.about-story,.about-feature{grid-template-columns:1fr;gap:25px;padding:45px 0 65px}.values-grid{grid-template-columns:1fr;gap:30px}.about-feature>img{height:280px}.about-feature h2,.project-cta h2{font-size:46px}.gallery-stage{height:52vh}.gallery-caption{padding:20px;align-items:flex-start}.gallery-caption h2{font-size:25px}.gallery-caption>span{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.project-status i{animation:none}.project-card,.project-photo>img{transition:none}}
.portfolio-intro h1,.about-story h1{font-family:Display,'Arial Narrow',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase}
/* Refinements: uncropped illustrations and aligned project cards. */
.contact-intro{overflow:visible}.contact-formwork{padding:14px;max-width:478px}.contact-formwork img{transform-origin:center}
.thinking-avatar{min-height:520px;width:calc(100% + 45px)}.thinking-avatar img{max-width:none}
.portfolio-number{transform:none}.portfolio-number strong{font-family:Display,sans-serif;letter-spacing:0}
.project-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;appearance:none}.project-photo{width:100%;flex:none}.project-copy{flex:1;width:100%}
.story-copy .lead{font:inherit;line-height:1.8}
.about-values:after{content:'';position:absolute;left:0;right:0;bottom:-25px;height:27px;background:inherit;mask:url('assets/tear-red.png') center/100% 100%;pointer-events:none}
.value-icon{width:60px;height:65px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:24px}
.has-chariot>.container{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px}.has-chariot{padding:50px 0 35px;margin-top:50px}.cta-copy{position:relative;z-index:2}.cta-chariot{position:relative;margin-top:-100px;pointer-events:none}.cta-chariot img{width:100%;max-width:none;animation:chariot-rumble 5s ease-in-out infinite}.cta-chariot.chariot-ready{opacity:0;transform:translateX(90px);transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity .8s}.cta-chariot.chariot-ready.is-visible{opacity:1;transform:translateX(0)}
@keyframes chariot-rumble{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(-2px,1px) rotate(-.25deg)}65%{transform:translate(2px,-1px) rotate(.25deg)}}
.map-external{position:absolute;bottom:12px;left:12px;padding:10px 15px;background:white;color:#195b63;font-size:13px;z-index:2;box-shadow:0 2px 10px #0002}.map-external:hover{color:#b71c41}
@media(max-width:760px){.thinking-avatar{width:100%;height:470px;min-height:0}.has-chariot>.container{grid-template-columns:1fr}.cta-chariot{margin:5px auto -10px;max-width:420px}.has-chariot{margin-top:0}.contact-formwork{padding:12px}.cta-chariot.chariot-ready{transform:translateX(25px)}}
@media(prefers-reduced-motion:reduce){.cta-chariot img{animation:none}.cta-chariot.chariot-ready{opacity:1;transform:none;transition:none}}
.story-copy .lead{font-weight:700}.value-icon{width:150px;height:115px;filter:none;margin-bottom:25px}
.has-builder{padding:65px 0 0}.has-builder>.container{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end}.has-builder .cta-copy{padding-bottom:65px}.builder-window{align-self:stretch;position:relative;overflow:hidden;margin-top:-110px;min-height:440px}.builder-window .cta-chariot{margin:0;position:absolute;bottom:-16px;left:0;width:100%;transform-origin:50% 100%}.builder-window img{animation:builder-drift 5s ease-in-out infinite;transform-origin:50% 100%}@keyframes builder-drift{0%,100%{transform:translate(0,0) rotate(0)}35%{transform:translate(-2px,2px) rotate(-.25deg)}70%{transform:translate(2px,1px) rotate(.25deg)}}
.career-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:65px 0 0;overflow:hidden}.career-hero h1{font:italic 900 clamp(55px,5.5vw,82px)/1.03 Display,sans-serif;text-transform:uppercase;margin:20px 0 26px}.career-hero h1 span{color:#b71c41}.career-hero>div:first-child{padding-bottom:65px}.career-hero p:not(.eyebrow){max-width:510px;line-height:1.8}.career-hero .button{margin-top:30px}.career-art{align-self:end}.career-art img{width:100%;animation:formwork-arrive 1s ease both}.career-band{position:relative;background:#b71c41;color:white;padding:35px 0}.career-band:after{content:'';position:absolute;left:0;right:0;bottom:-20px;height:22px;background:inherit;mask:url('assets/tear-red.png') center/100% 100%}.career-band>.container{display:flex;justify-content:space-between;gap:20px;font:italic 900 32px Display,sans-serif;text-transform:uppercase}.jobs{padding:90px 0 65px;scroll-margin-top:85px}.jobs-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.jobs-heading h2,.career-next h2{font-size:52px;line-height:1.1;margin-top:15px}.jobs-heading>p{font-size:14px;max-width:390px}.job{background:white;border-bottom:1px solid #eee0e3;margin-bottom:12px}.job summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:30px;padding:28px 32px}.job summary::-webkit-details-marker{display:none}.job-number{font:italic 900 34px Display,sans-serif;color:#d9b0ba}.job small{font-size:12px;color:#278790}.job h3{font-size:34px;line-height:1.15;margin-top:8px;color:#b71c41}.job-plus{margin-left:auto;font-size:32px;color:#b71c41;transition:transform .3s}.job[open] .job-plus{transform:rotate(45deg)}.job summary:hover{background:#fcf5f6}.job-body{padding:5px 32px 32px 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.job-body h4{font-size:15px;margin:0 0 10px}.job-body p{font-size:14px;line-height:1.75}.job-actions{grid-column:1/-1;display:flex;align-items:center;gap:25px;flex-wrap:wrap;padding-top:15px}.job-source{margin-left:auto;font-size:12px;text-decoration:underline}.career-next{padding:15px 0 100px}.career-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.career-steps b{color:#278790;font:italic 900 50px Display,sans-serif}.career-steps h3{font-size:31px;margin:12px 0}.career-steps p{font-size:14px}.career-next+.project-cta p:not(.eyebrow){margin-bottom:25px}
@media(max-width:760px){.has-builder>.container{grid-template-columns:1fr;gap:10px}.has-builder .cta-copy{padding-bottom:20px}.builder-window{margin-top:0;min-height:0;height:360px;width:100%;max-width:440px;justify-self:center}.builder-window .cta-chariot{bottom:-16px;max-width:none}.career-hero{grid-template-columns:1fr;gap:0;padding-top:40px}.career-hero>div:first-child{padding-bottom:25px}.career-art{max-width:310px;justify-self:center}.career-band>.container{flex-direction:column;gap:10px;font-size:27px}.jobs{padding-top:65px}.jobs-heading{display:block}.jobs-heading>p{margin-top:20px}.jobs-heading h2,.career-next h2{font-size:43px}.job summary{padding:22px 18px;gap:15px}.job h3{font-size:28px}.job-body{grid-template-columns:1fr;padding:0 22px 25px}.job-actions{gap:18px}.job-source{margin-left:0}.career-steps{grid-template-columns:1fr;gap:25px}.value-icon{width:130px;height:100px}}
@media(prefers-reduced-motion:reduce){.builder-window img,.career-art img{animation:none}}
.builder-window{min-height:0;height:clamp(440px,42vw,680px)}.builder-window .cta-chariot{height:calc(100% - 8px)}.builder-window img{height:100%;object-fit:contain;object-position:center bottom}
@media(max-width:760px){.builder-window{height:360px}}
/* Local map previews do not depend on third-party frames or tile requests. */
.local-map{overflow:hidden;min-height:360px}.map-preview{position:absolute;inset:0;display:block}.map-preview>img{width:100%;height:100%;object-fit:cover;max-width:none}.map-open-label{position:absolute;left:15px;bottom:35px;background:#fff;color:#195b63;padding:12px 16px;box-shadow:0 2px 12px #0002;font-size:14px}.map-preview:hover .map-open-label{background:#b71c41;color:white}.map-attribution{position:absolute;right:0;bottom:0;padding:4px 8px;font-size:10px;background:#fffe;color:#344c47;z-index:2}
.person-portrait img[src*="avatar-woman-head"]{width:92%;height:104%;max-width:none;transform:translateY(-3%)}
.thinking-avatar{width:calc(100% + 90px);min-height:640px}.thinking-avatar img{width:100%;height:100%;object-fit:contain;object-position:left bottom}
@media(max-width:760px){.thinking-avatar{width:calc(100% + 22px);height:510px;min-height:0;margin-left:-11px}.local-map{height:320px;min-height:320px}.map>.local-map{height:100%}.map-open-label{font-size:12px}}
/* Compact calls to action: the illustration can rise above the teal panel. */
.has-builder{padding-top:42px}.has-builder>.container{position:relative;min-height:285px;align-items:center}.has-builder .cta-copy{padding-bottom:42px}.builder-window{position:absolute;right:0;bottom:0;width:48%;height:440px;margin:0;overflow:hidden;pointer-events:none}.builder-window .cta-chariot{height:calc(100% - 8px)}
.person-portrait img[src*="avatar-woman-head"]{width:85%;height:97%;transform:translateY(-1%)}
.contact-page-form .thinking-avatar{flex:none;height:clamp(350px,33vw,490px);min-height:0;margin-top:20px;overflow:hidden}.contact-page-form .thinking-avatar img{height:auto;top:0;bottom:auto}.contact-page-form .contact-form-wrap{padding-bottom:30px}.contact-page-form form h2{margin-bottom:30px}
.career-hero{grid-template-columns:1fr 1.08fr;gap:42px;padding-inline:8px}.career-hero .button{margin-left:7px}.career-art{animation:career-rise 1.3s cubic-bezier(.16,1,.3,1) both;transform-origin:bottom center}.career-art img{animation:builder-drift 5s ease-in-out 1.3s infinite;width:100%}.career-band{z-index:2}.career-band:before{content:'';position:absolute;left:0;right:0;top:-20px;height:22px;background:inherit;mask:url('assets/tear-red.png') center/100% 100%;transform:rotate(180deg);pointer-events:none}@keyframes career-rise{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.rental-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:70px 8px 65px}.rental-hero h1{font:italic 900 clamp(60px,5.8vw,90px)/1.02 Display,sans-serif;text-transform:uppercase;margin:20px 0 28px}.rental-hero h1 span{color:#b71c41}.rental-hero p:not(.eyebrow){max-width:510px;line-height:1.8}.rental-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}.rental-call{font-size:16px;font-weight:600}.rental-art{padding:20px;animation:formwork-arrive 1s ease both}.rental-art img{width:100%;animation:formwork-pulse 5s ease-in-out 1s infinite}.rental-offer{padding:95px 0 65px;scroll-margin-top:85px}.rental-offer h2,.rental-help h2,.rental-how h2{font-size:56px;line-height:1.08;margin:15px 0 35px}.rental-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.rental-product{background:white;transition:transform .3s,box-shadow .3s}.rental-product:hover{transform:translateY(-5px);box-shadow:0 16px 35px #40101c12}.rental-product-art{height:290px;position:relative;background:#eee6e5;padding:30px 40px 50px;overflow:hidden}.rental-product-art img{height:100%;width:100%;object-fit:contain}.rental-product-art>span{position:absolute;bottom:18px;left:30px;font-size:12px;text-transform:uppercase;letter-spacing:1px}.rental-ceiling{background:#eee6e5;color:inherit}.rental-product-copy{padding:30px}.rental-product h3{font-size:48px;color:#b71c41;margin:8px 0 15px}.rental-product-copy>p:not(.eyebrow){min-height:85px}.rental-product-copy>a{display:flex;justify-content:space-between;border-top:1px solid #e8dddd;padding-top:20px;margin-top:25px;font-weight:600;color:#b71c41}.rental-help{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:40px 0 70px}.rental-help>div>p{max-width:440px}.rental-services article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #dfd7d7}.rental-services article>span{font:italic 900 40px Display;color:#278790}.rental-services h3{font-size:30px;margin-bottom:8px}.rental-services p{font-size:14px}.rental-how{padding:30px 0 100px}.rental-contact>.container{display:grid;grid-template-columns:1fr 1fr;gap:60px}.rental-directions{display:inline-block;text-decoration:underline;margin-top:20px}.rental-contacts{display:grid;gap:25px}.rental-contacts article{border-bottom:1px solid #ffffff40;padding-bottom:25px}.rental-contacts h3{font-size:34px;margin:8px 0 15px}.rental-contacts a{display:block;overflow-wrap:anywhere;margin-top:6px}.rental-contacts a:hover{text-decoration:underline}
@media(max-width:760px){.has-builder>.container{display:grid;min-height:0}.builder-window{position:relative;width:100%;height:350px}.has-builder .cta-copy{padding-bottom:20px}.career-hero{grid-template-columns:1fr;gap:0;padding-inline:8px}.career-art{max-width:350px;width:100%}.contact-page-form .thinking-avatar{height:350px;margin-top:18px}.rental-hero{grid-template-columns:1fr;gap:15px;padding:45px 8px}.rental-hero h1{font-size:58px}.rental-art{max-width:340px;justify-self:center}.rental-grid,.rental-help,.rental-contact>.container{grid-template-columns:1fr;gap:30px}.rental-offer h2,.rental-help h2,.rental-how h2{font-size:44px}.rental-offer{padding-top:70px}.rental-product-art{height:260px}.rental-product-copy{padding:25px}.rental-product-copy>p:not(.eyebrow){min-height:0}.rental-help{padding:15px 0 45px}.rental-how{padding-bottom:80px}}
@media(prefers-reduced-motion:reduce){.career-art,.career-art img,.rental-art,.rental-art img{animation:none}.rental-product{transition:none}}
.rental-advisor{width:min(100%,400px);margin:28px 0 0;transform-origin:center bottom}.rental-advisor img{width:100%;height:auto;animation:builder-drift 6s ease-in-out infinite;transform-origin:center bottom}.rental-advisor.advisor-ready{opacity:0;transform:translateY(55px);transition:opacity .7s ease,transform 1s cubic-bezier(.16,1,.3,1)}.rental-advisor.advisor-ready.is-visible{opacity:1;transform:translateY(0)}.rental-services{align-self:center}.rental-services article{padding:32px 0}
@media(max-width:760px){.rental-advisor{max-width:320px;margin:25px auto 0}.rental-services article{padding:24px 0}}
@media(prefers-reduced-motion:reduce){.rental-advisor.advisor-ready{opacity:1;transform:none;transition:none}.rental-advisor img{animation:none}}
.contact-page-form .thinking-avatar{width:calc(100% + 40px);height:auto;aspect-ratio:.96;min-height:0;margin-top:12px;overflow:hidden}.contact-page-form .thinking-avatar img{width:100%;height:auto;top:-3%;left:0;animation:builder-drift 6s ease-in-out infinite;transform-origin:center bottom}.rental-process{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.rental-process .career-steps{grid-template-columns:1fr;gap:25px;margin-top:0}.rental-process .career-steps article{position:relative;padding-left:70px}.rental-process .career-steps b{position:absolute;left:0;top:0}.rental-process .career-steps h3{margin-top:0}.concrete-advisor{width:100%;max-width:520px;margin:0;align-self:end}
@media(max-width:760px){.contact-page-form .thinking-avatar{width:100%;height:auto;aspect-ratio:.96;margin-left:0;margin-top:12px}.rental-process{grid-template-columns:1fr;gap:30px}.concrete-advisor{max-width:370px;margin:0 auto}}
@media(prefers-reduced-motion:reduce){.contact-page-form .thinking-avatar img{animation:none}}
.rental-process .career-steps{gap:0}.rental-process .career-steps article{padding-top:25px;padding-bottom:25px;border-bottom:1px solid #dfd7d7}.rental-process .career-steps b{top:25px}.rental-process .career-steps article:first-child{padding-top:0}.rental-process .career-steps article:first-child b{top:0}.concrete-advisor{align-self:center;position:relative;top:-32px}
.career-welcome{padding:45px 0 0}.career-welcome>.container{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.welcome-copy{padding-bottom:45px}.welcome-copy>p:not(.eyebrow){margin-bottom:25px}.welcome-window{height:390px;position:relative;align-self:end;overflow:hidden;margin-top:-65px}.welcome-avatar{position:absolute;bottom:-20px;left:0;width:100%;max-width:450px;margin:0}.welcome-avatar img{width:100%;transform-origin:center bottom}
@media(max-width:760px){.concrete-advisor{top:-10px}.career-welcome>.container{grid-template-columns:1fr;gap:0}.welcome-copy{padding-bottom:25px}.welcome-window{height:340px;width:100%;max-width:370px;justify-self:center;margin-top:0}.welcome-avatar{max-width:370px}.rental-process .career-steps article{padding-right:0}}
.welcome-avatar img{height:400px;object-fit:contain;object-position:center bottom}@media(max-width:760px){.welcome-avatar img{height:350px}}
/* Welcome mascot rises above the panel; its lower edge stays behind the footer. */
.career-welcome>.container{position:relative;min-height:345px}.welcome-window{position:absolute;right:0;bottom:0;width:48%;height:475px;margin:0;overflow:hidden}.welcome-avatar{max-width:none;bottom:-22px}.welcome-avatar img{height:490px;width:100%;object-fit:contain;object-position:center bottom}
@media(max-width:760px){.career-welcome>.container{min-height:0}.welcome-window{position:relative;width:100%;height:370px;max-width:400px;margin-top:0}.welcome-avatar img{height:390px}}
.career-welcome .welcome-copy{position:relative;z-index:2}.welcome-colosseum{position:absolute;bottom:0;left:28%;width:65%;height:255px;overflow:hidden;pointer-events:none;z-index:0}.welcome-colosseum img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:grayscale(1) brightness(0) invert(1);opacity:.14}.career-welcome .welcome-window{z-index:1}
@media(max-width:760px){.welcome-colosseum{left:0;width:100%;height:190px}}
.welcome-colosseum{mix-blend-mode:multiply}.welcome-colosseum img{filter:grayscale(1);opacity:.3}
.welcome-colosseum{left:20%;width:72%;height:285px}.contact-page-form .phone-avatar{aspect-ratio:1.06}.contact-page-form .phone-avatar img{top:0}
@media(max-width:760px){.welcome-colosseum{left:0;width:100%;height:210px}.contact-page-form .phone-avatar{aspect-ratio:1.06}}
/* Keep desktop composition compact on large and 5K displays. */
.container{max-width:1120px}
@media(min-width:1400px){
 header nav{gap:21px;font-size:21px}
 .contact-page-form{grid-template-columns:560px 560px;justify-content:center}
 .contact-page-form .contact-invitation{padding-left:0;padding-right:45px}
 .contact-page-form .contact-form-wrap{padding-left:45px;padding-right:0}
 .contact:not(.contact-page-form)>.contact-form-wrap{padding-left:45px;padding-right:max(45px,calc((100vw - 1120px)/2))}
 .hero-copy{margin-left:0}
}
.home-content{padding:95px 0 160px}.home-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:40px}.home-heading h2,.home-proof h2,.home-rental h2{font-size:58px;line-height:1.05;margin-top:16px}.home-heading>p{max-width:390px;line-height:1.8}.home-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.home-service{padding:30px;background:#fff;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.home-service:hover{transform:translateY(-6px);box-shadow:0 15px 35px #48132912}.home-index{font-size:12px;color:#78817d;text-transform:uppercase;letter-spacing:1px}.home-service>img{width:140px;height:105px;object-fit:contain;margin:25px 0}.home-service h3{font-size:38px;line-height:1.1;color:#b71c41;margin-bottom:20px}.home-service>p{font-size:14px;line-height:1.8;margin-bottom:28px}.home-more{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:20px;border-top:1px solid #e7dede;font-size:13px;font-weight:600}.home-more b{color:#b71c41}.home-proof{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;margin-top:95px;margin-bottom:95px}.home-proof-photo{position:relative;display:block;overflow:hidden}.home-proof-photo img{width:100%;height:440px;object-fit:cover;transition:transform .6s}.home-proof-photo:hover img{transform:scale(1.035)}.home-proof-photo>span{position:absolute;bottom:0;left:0;right:0;padding:24px;color:white;background:linear-gradient(transparent,#142d2cdd);font-size:13px}.home-proof-copy>p:not(.eyebrow){margin:26px 0;line-height:1.8}.home-secondary{display:block;font-size:13px;margin-top:22px;text-decoration:underline;text-underline-offset:5px}.home-rental{position:relative;background:#278790;color:white}.home-rental:before,.home-rental:after{content:'';position:absolute;left:0;right:0;height:22px;background:inherit;mask:url('assets/tear-red.png') center/100% 100%;pointer-events:none}.home-rental:before{top:-20px;transform:rotate(180deg)}.home-rental:after{bottom:-20px}.home-rental>.container{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-top:48px;overflow:hidden}.home-rental .eyebrow{color:#d5edf0}.home-rental>.container>div:first-child{padding-bottom:48px}.home-rental p:not(.eyebrow){max-width:480px;margin:25px 0;line-height:1.8}.home-rental-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center}.home-rental-actions>a:last-child{font-size:15px}.home-rental .rental-advisor{align-self:end;width:100%;max-width:440px;margin:0 0 -12px}.home-stories{padding-top:100px}.home-text-link{font-size:14px;color:#b71c41;font-weight:600;white-space:nowrap}.home-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.home-story{display:flex;flex-direction:column;transition:transform .3s}.home-story:hover{transform:translateY(-5px)}.home-story>div{overflow:hidden}.home-story img{width:100%;height:210px;object-fit:cover;transition:transform .5s}.home-story:hover img{transform:scale(1.04)}.home-story>.eyebrow{font-size:11px;margin-top:23px}.home-story h3{font-size:33px;line-height:1.15;color:#b71c41;margin:12px 0 18px}.home-story:hover h3{text-decoration:underline;text-underline-offset:5px}.home-story>p:not(.eyebrow){font-size:14px;margin-bottom:24px}
@media(max-width:760px){.home-content{padding-top:65px;padding-bottom:110px}.home-heading{display:block}.home-heading>p,.home-heading>.home-text-link{display:block;margin-top:25px}.home-heading h2,.home-proof h2,.home-rental h2{font-size:45px}.home-service-grid,.home-proof,.home-story-grid,.home-rental>.container{grid-template-columns:1fr}.home-service-grid{gap:16px}.home-service{padding:26px}.home-service>img{margin:18px 0}.home-proof{gap:30px;margin-block:65px}.home-proof-photo img{height:300px}.home-rental>.container{gap:0;padding-top:38px}.home-rental>.container>div:first-child{padding-bottom:20px}.home-rental .rental-advisor{max-width:330px;justify-self:center}.home-stories{padding-top:70px}.home-story-grid{gap:38px}}
@media(prefers-reduced-motion:reduce){.home-service,.home-story,.home-story img,.home-proof-photo img{transition:none}}
.home-service>img{width:155px;height:120px}.home-content{padding-bottom:80px}.home-rental>.container{position:relative;overflow:visible;min-height:390px}.home-advisor-window{position:absolute;right:0;bottom:0;width:48%;height:490px;overflow:hidden;pointer-events:none}.home-rental .home-advisor-window .rental-advisor{position:absolute;bottom:-24px;left:0;width:100%;max-width:none;margin:0}.home-advisor-window img{height:500px;width:100%;object-fit:contain;object-position:center bottom}
@media(max-width:760px){.home-content{padding-bottom:65px}.home-rental>.container{min-height:0}.home-advisor-window{position:relative;width:100%;height:365px;max-width:390px;justify-self:center}.home-advisor-window img{height:390px}}
.home-advisor-window{bottom:-15px;height:510px;z-index:1}.home-rental:after{z-index:2}.home-rental .home-advisor-window .rental-advisor{bottom:-30px}@media(max-width:760px){.home-advisor-window{height:365px}}
.rental-help h2.rental-help-title{white-space:nowrap;font-size:clamp(36px,3.3vw,46px)}
@media(max-width:760px){.rental-help h2.rental-help-title{font-size:clamp(28px,8.2vw,44px)}}
.rental-help h2.rental-help-title{font-size:56px}
@media(max-width:760px){.rental-help h2.rental-help-title{font-size:44px}}
@media(max-width:390px){.rental-help h2.rental-help-title,.rental-how h2{font-size:40px}}
/* Clip the illustration at the panel bottom, never below the paper edge. */
.home-rental .home-advisor-window{bottom:0;height:560px;width:52%;right:-2%;overflow:hidden;z-index:1}
.home-rental .home-advisor-window .rental-advisor{bottom:-42px;width:100%;max-width:none}
.home-rental .home-advisor-window img{height:560px;object-fit:cover;object-position:center top;max-width:none}
.home-rental:after{z-index:2}
@media(max-width:760px){.home-rental .home-advisor-window{position:relative;right:auto;bottom:0;width:100%;height:365px;max-width:390px}.home-rental .home-advisor-window img{height:410px;object-fit:contain}.home-rental .home-advisor-window .rental-advisor{bottom:-32px}}
/* Show the complete artwork horizontally and mask its base with the paper edge. */
.home-rental .home-advisor-window{width:58%;right:-5%;height:560px;bottom:0;z-index:1}
.home-rental .home-advisor-window .rental-advisor{bottom:-45px}
.home-rental .home-advisor-window img{height:560px;width:100%;object-fit:contain;object-position:center bottom}
.home-rental:after{bottom:-1px;height:23px;background:#faf8f8;transform:rotate(180deg);z-index:2}
@media(max-width:760px){.home-rental .home-advisor-window{width:100%;right:auto;max-width:390px;height:365px}.home-rental .home-advisor-window img{height:410px}.home-rental .home-advisor-window .rental-advisor{bottom:-35px}}

/* Active projects: foreman rises above the panel, base remains hidden. */
.has-foreman .builder-window{width:49%;height:450px}
.has-foreman .cta-chariot.chariot-ready{transform:translateY(70px)}
.has-foreman .cta-chariot.chariot-ready.is-visible{transform:translateY(0)}
@media(max-width:760px){.has-foreman .builder-window{width:100%;height:350px}}
@media(prefers-reduced-motion:reduce){.has-foreman .cta-chariot.chariot-ready{transform:none}}

.has-foreman .foreman-colosseum{left:25%;width:64%;height:285px;z-index:0}
.has-foreman .builder-window{z-index:1}
@media(max-width:760px){.has-foreman .foreman-colosseum{left:0;width:100%;height:235px}}

/* Shared subtle Colosseum backdrop behind portfolio and company mascots. */
.project-cta .portfolio-colosseum{left:25%;width:64%;height:285px;z-index:0}
.project-cta.has-builder .builder-window,.has-chariot>.container>.cta-chariot{z-index:1}
.has-chariot .portfolio-colosseum{bottom:-35px}
@media(max-width:760px){.project-cta .portfolio-colosseum{left:0;width:100%;height:235px}}

/* Quiet architectural backdrop behind the contact mascot. */
.phone-colosseum{position:absolute;inset:25% -12% 0 -12%;background:url("assets/colosseum-building.webp") center bottom/contain no-repeat;filter:grayscale(1);opacity:.3;mix-blend-mode:multiply;pointer-events:none;z-index:0}
.contact-page-form .phone-avatar>img{z-index:1}

.contact-page-form .phone-avatar{background:#278790}

/* Slightly larger company illustration, lowered within its panel. */
.has-chariot>.container>.cta-chariot{width:108%;max-width:none;margin-left:-4%;top:18px}
@media(max-width:760px){.has-chariot>.container>.cta-chariot{width:100%;max-width:450px;margin-left:auto;margin-right:auto;top:12px}}

/* Keep the architectural backdrop outside the mascot crop. */
.contact-invitation>.phone-colosseum{inset:auto -25px 0 -55px;height:370px;background-position:center bottom;mask-image:linear-gradient(to right,transparent,black 5%,black 94%,transparent)}
.contact-page-form .phone-avatar{background:transparent}
.contact-invitation>h2,.contact-invitation>p,.contact-invitation>a{position:relative;z-index:1}
.has-chariot>.container>.cta-chariot{width:116%;margin-left:-8%}
@media(max-width:760px){.contact-invitation>.phone-colosseum{left:0;right:0;height:300px}.has-chariot>.container>.cta-chariot{width:108%;max-width:480px;margin-left:-4%;margin-right:-4%}}

/* Align the final footer column with the right edge of the header content. */
@media(min-width:761px){.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) max-content}.footer-grid>div:last-child{justify-self:end}}

/* Homepage form and map share the main content width. */
.contact.home-contact{display:block}
.home-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.home-contact-grid>.contact-form-wrap{padding:55px 45px 45px 0}
.home-contact-grid>.map{min-width:0;min-height:0;height:auto;margin:55px 0 45px}
@media(max-width:760px){.home-contact-grid{grid-template-columns:1fr}.home-contact-grid>.contact-form-wrap{padding:40px 0 30px}.home-contact-grid>.map{height:360px;margin:0 0 40px}}

.home-contact-grid .map-preview img{object-position:72% center}

.rental-contact>.container{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center}
.rental-contact{padding-bottom:0}
.rental-contact>.container>div:first-child,.rental-contact .rental-contacts{padding-bottom:55px;position:relative;z-index:2}
.rental-attendant-window{align-self:end;height:520px;overflow:hidden;position:relative}
.rental-attendant{position:absolute;bottom:-30px;width:100%;opacity:0;transform:translateY(65px);transition:transform 1s ease,opacity .7s}
.rental-attendant.is-visible{opacity:1;transform:translateY(0)}
.rental-attendant img{width:100%;animation:builder-drift 6s ease-in-out infinite;transform-origin:center bottom}
.rental-contacts a{overflow-wrap:anywhere}
@media(max-width:900px){.rental-contact>.container{gap:18px}.rental-attendant-window{height:420px}}
@media(max-width:760px){.rental-contact>.container{grid-template-columns:1fr}.rental-contact .rental-contacts{grid-row:2;padding-bottom:15px}.rental-attendant-window{grid-row:3;width:100%;max-width:350px;justify-self:center;height:470px}.rental-contact>.container>div:first-child{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){.rental-attendant{opacity:1;transform:none;transition:none}.rental-attendant img{animation:none}}

/* Compact rental contact band; mascot can rise above its upper edge. */
@media(min-width:761px){
.rental-contact{padding-top:25px}
.rental-contact>.container{min-height:410px}
.rental-contact>.container>div:first-child,.rental-contact .rental-contacts{padding-bottom:25px}
.rental-contact .rental-contacts{grid-column:3;gap:16px}
.rental-contact .rental-contacts article{padding-bottom:16px}
.rental-attendant-window{position:absolute;left:30%;bottom:0;width:37%;height:570px;z-index:1;pointer-events:none}
.rental-attendant{bottom:-32px}
}

/* Room for the moving hand; keep only a small head overlap. */
.rental-attendant-window{overflow:visible;clip-path:inset(-100px -24px 0 -24px)}
@media(min-width:761px){.rental-attendant{bottom:-75px}}

@media(min-width:761px){.rental-attendant{bottom:-100px}}

@media(min-width:761px){.rental-attendant{bottom:-112px}.rental-attendant-window{left:28%}}

@media(min-width:761px){.rental-attendant-window{left:26.5%}}

/* Slightly smaller concrete formwork illustration beside the process steps. */
.rental-process .concrete-advisor{width:90%;justify-self:center}

/* Larger supplied illustrations in the company values band. */
.about-values .value-icon{width:225px;height:173px}
@media(max-width:760px){.about-values .value-icon{width:195px;height:150px}}
/* PERI DUO component catalogue */
.rental-product-linked{position:relative}.duo-catalog-link:after{content:"";position:absolute;inset:0}.rental-product-linked:focus-within{outline:2px solid #278790;outline-offset:5px}
.duo-intro{padding:45px 0 35px}.duo-breadcrumb{font-size:13px;margin-bottom:40px;color:#65736e}.duo-breadcrumb a:hover{text-decoration:underline}.duo-intro h1{font:italic 900 clamp(50px,5.5vw,78px)/1.05 Display,sans-serif;text-transform:uppercase;margin:18px 0 24px}.duo-intro h1 span{color:#b71c41}.duo-intro>p:not(.eyebrow){max-width:670px}.duo-jumps{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.duo-jumps a{border:1px solid #d8cece;padding:12px 16px;font-size:14px;font-weight:600;background:#fff}.duo-jumps a:hover{background:#278790;color:#fff}.duo-jumps span{margin-left:10px;opacity:.6}.duo-section{padding:45px 0;scroll-margin-top:100px}.duo-heading{border-top:1px solid #d8cece;padding-top:28px;margin-bottom:28px}.duo-heading h2{font-size:46px;line-height:1.1;margin-top:10px}.duo-panels{display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:center;background:white;padding:30px}.duo-panels figure{margin:0}.duo-panels figure img{height:320px;width:100%;object-fit:contain}.duo-panels figcaption,.duo-note{font-size:12px;color:#66736e;margin-top:18px}.duo-table-note{font-size:14px;margin-bottom:20px}.duo-table-scroll{overflow-x:auto}.duo-panels table{width:100%;border-collapse:collapse;font-size:14px;text-align:left;white-space:nowrap}.duo-panels th,.duo-panels td{padding:15px 10px;border-bottom:1px solid #e5dddd}.duo-panels thead{color:#278790}.duo-panels td a{color:#b71c41;font-weight:600}.duo-panels a:hover{text-decoration:underline}.duo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.duo-card{background:#fff;display:flex;flex-direction:column;border:1px solid #eee7e7;transition:box-shadow .25s}.duo-card:hover{box-shadow:0 8px 25px #25342f10}.duo-image{height:230px;padding:25px}.duo-image img{width:100%;height:100%;object-fit:contain}.duo-card-copy{padding:22px;display:flex;flex:1;flex-direction:column}.duo-card h3{font-size:28px;line-height:1.2;margin-bottom:18px}.duo-card dl{margin:0 0 22px;font-size:14px}.duo-card dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee7e7;padding:7px 0}.duo-card dd{margin:0;font-weight:600;white-space:nowrap}.duo-card-copy>a{display:flex;justify-content:space-between;color:#b71c41;font-weight:600;font-size:14px;margin-top:auto;padding-top:10px}.duo-card-copy>a:hover{text-decoration:underline}.duo-cta{margin-top:60px}.duo-cta>.container{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}.duo-cta h2{font-size:55px}.duo-cta .button{margin-top:25px}.duo-contact h3{font-size:36px;margin:10px 0 20px}.duo-contact a{display:block;margin-top:10px;overflow-wrap:anywhere}.duo-back{text-decoration:underline;font-size:14px;padding-top:20px}.duo-download{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#b71c41;color:#fff;padding:35px;margin-top:35px}.duo-download h2{font-size:36px}.duo-download a{background:white;color:#b71c41;padding:15px 23px;font-weight:600;white-space:nowrap}.duo-download a:hover{background:#25342f;color:#fff}
@media(max-width:950px){.duo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duo-panels{grid-template-columns:1fr}.duo-panels figure img{height:240px}}
@media(max-width:600px){.duo-intro{padding-top:25px}.duo-breadcrumb{margin-bottom:25px}.duo-jumps{gap:8px}.duo-jumps a{font-size:12px;padding:10px}.duo-grid{grid-template-columns:1fr}.duo-image{height:230px}.duo-section{padding:30px 0}.duo-panels{padding:18px;gap:20px}.duo-panels th,.duo-panels td{padding:12px 8px}.duo-heading h2{font-size:38px}.duo-cta>.container{grid-template-columns:1fr;gap:35px}.duo-cta h2{font-size:44px}.duo-download{flex-direction:column;align-items:flex-start;padding:25px}.duo-download a{white-space:normal}}
.duo-panels>div{min-width:0}.duo-section .duo-grid{min-width:0}

/* Rental attendant shared by both component catalogues. */
.duo-cta{padding-bottom:0}.duo-cta>.container{grid-template-columns:1.1fr 1fr 1fr;gap:24px;position:relative;align-items:center}.duo-cta>.container>div:first-child,.duo-cta .duo-contact{padding-bottom:45px;position:relative;z-index:2}.catalog-avatar{align-self:end;height:360px;position:relative;clip-path:inset(-160px -24px 0);pointer-events:none}.catalog-avatar img{position:absolute;width:calc(100% + 40px);max-width:none;left:-20px;bottom:-25px;animation:builder-drift 6s ease-in-out infinite;transform-origin:center bottom}.duo-cta h2{font-size:48px}.duo-contact h3{font-size:32px}
@media(max-width:900px) and (min-width:761px){.duo-cta>.container{gap:18px;grid-template-columns:1.1fr .9fr 1fr}.duo-cta h2{font-size:42px}.duo-contact a{font-size:14px}}
@media(max-width:760px){.duo-cta>.container{grid-template-columns:1fr;gap:15px}.duo-cta .duo-contact{grid-row:2;padding-bottom:15px}.catalog-avatar{grid-row:3;width:290px;max-width:90%;height:390px;justify-self:center}.catalog-avatar img{width:100%;left:0;bottom:-30px}.duo-cta>.container>div:first-child{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){.catalog-avatar img{animation:none}}

/* Shared hand-drawn icon artwork, tinted to the home service colour. */
.home-service-icon{display:block;flex:none;width:180px;max-width:100%;height:150px;margin:20px 0 25px;background:#b71c41;mask:var(--service-icon) center/contain no-repeat;-webkit-mask:var(--service-icon) center/contain no-repeat}
.home-service-icon--foundation{--service-icon:url('assets/icon-monolith-white.png')}.home-service-icon--formwork{--service-icon:url('assets/icon-formwork-white.png')}.home-service-icon--exposed-concrete{--service-icon:url('assets/icon-exposed-concrete-white.png')}

/* Embedded maps avoid host redirects of standalone SVG files. */
.map-preview>.map-artwork{display:block;width:100%;height:100%;max-width:none}

/* September layout and mobile consistency fixes. */
.ui-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
footer a[href^="tel:"]{color:#fff}footer .ui-icon{width:18px;height:18px;margin-right:6px}
button{-webkit-appearance:none;appearance:none;color:inherit}.project-filters button{color:#25342f}.project-filters button[aria-pressed=true],.project-filters button:hover{color:#fff}
.home-services .home-heading>p{margin-left:auto;max-width:440px;text-align:right}
.about-values .values-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:60px}.about-values .values-grid article:last-child{text-align:right}.about-values .values-grid article:last-child .value-icon{margin-left:auto}
.duo-cta>.container{grid-template-columns:1.1fr .9fr 1fr;gap:48px}.catalog-avatar{height:350px;clip-path:inset(-24px 0 0)}.catalog-avatar img{height:374px;width:100%;object-fit:contain;object-position:center bottom;left:0;bottom:0;animation:none}.duo-cta .duo-contact{padding-left:12px}
.about-video video{object-position:75% center}.welcome-avatar{opacity:1!important;transform:none!important}.welcome-avatar img{opacity:1}
.cookie-content{padding-block:70px;max-width:850px}.cookie-content h1{font:italic 900 60px/1.1 Display,sans-serif;margin-bottom:30px}.cookie-content h2{font-size:30px;margin:30px 0 14px}.cookie-content p{margin-bottom:15px}.cookie-content a{text-decoration:underline}
@media(max-width:760px){.home-services .home-heading>p{text-align:left;margin-left:0}.about-values .values-grid{grid-template-columns:1fr;gap:35px}.about-values .values-grid article:last-child{text-align:left}.about-values .values-grid article:last-child .value-icon{margin-left:0}.duo-cta>.container{grid-template-columns:1fr;gap:28px}.duo-cta .duo-contact{padding-left:0}.catalog-avatar{height:340px;width:260px}.catalog-avatar img{height:355px}.about-video{height:300px}.about-video video{object-fit:contain;object-position:right center;background:#faf8f8}}

@media(max-width:760px){.about-video{height:auto;aspect-ratio:16/9}.about-video video{display:block}}

/* Shared rental mascot scale and balanced left-aligned company columns. */
.about-values .values-grid{grid-template-columns:repeat(3,minmax(0,26%));justify-content:space-between;gap:0}
.about-values .values-grid article:last-child{text-align:left}
.about-values .values-grid article:last-child .value-icon{margin-left:0}
@media(min-width:761px){.duo-cta{padding-top:25px}.duo-cta>.container{min-height:410px;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.duo-cta>.container>div:first-child,.duo-cta .duo-contact{padding-bottom:25px}.duo-cta .duo-contact{grid-column:3;padding-left:12px}}
@media(max-width:760px){.about-values .values-grid{grid-template-columns:1fr;gap:35px}.duo-cta>.container{grid-template-columns:1fr;gap:28px}.duo-cta .duo-contact{padding-left:0}}

.phone-mobile{display:none}.phone-desktop{display:inline}@media(max-width:760px){.phone-mobile{display:inline-block}.phone-desktop{display:none}}

@media(min-width:761px){.duo-cta>.container>div:first-child{max-width:80%}}

@media(min-width:761px){.rental-help .rental-services{position:relative;top:45px}}

/* Original display lettering with subtle breathing room. */
.button{letter-spacing:.035em;word-spacing:.12em}

/* Additional rental systems with availability confirmed individually. */
.rental-request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.rental-on-request{display:flex;flex-direction:column}
.rental-request-status{background:#278790;padding:24px 26px}
.rental-request-status span{display:inline-block;border:1px solid #ffffff66;background:#e5f4f3;color:#195b63;border-radius:24px;padding:7px 12px;font-size:12px;font-weight:600}
.rental-on-request .rental-product-copy{display:flex;flex:1;flex-direction:column;padding:26px}
.rental-on-request .eyebrow{font-size:11px;min-height:34px}
.rental-on-request h3{font-size:40px}
.rental-on-request .rental-product-copy>p:not(.eyebrow){min-height:0;margin-bottom:24px;font-size:14px}
.rental-on-request .rental-product-copy>a{margin-top:auto;font-size:14px;gap:12px;align-items:center}
@media(max-width:760px){.rental-request-grid{grid-template-columns:1fr;gap:20px}.rental-on-request .eyebrow{min-height:0}}

/* About claim enters gently from the left. */
.about-story.reveal-ready{transform:none}
.about-story.reveal-ready h1{opacity:0;transform:translateX(-45px);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.about-story.reveal-ready.is-visible h1{opacity:1;transform:translateX(0)}
@media(prefers-reduced-motion:reduce){.about-story.reveal-ready h1{opacity:1;transform:none;transition:none}}

/* Let the hero grow with its text and keep actions clear of the next section. */
.hero{height:auto;min-height:clamp(520px,36.25vw,696px)}
.hero-inner{height:auto;padding-bottom:55px}
.hero-actions{flex-wrap:nowrap;max-width:none;width:max-content}
@media(max-width:760px){.hero{min-height:610px}.hero-actions{gap:8px}.hero-actions .button{padding-inline:12px;gap:9px}}

/* Legal pages follow the shared content width. */
.cookie-content{max-width:1394px}
.legal-draft{padding:18px 22px;border-left:4px solid #278790;background:#e5f4f3;margin-bottom:30px}

/* Align the company backdrop with the cart wheels. */
.has-chariot .portfolio-colosseum{bottom:65px}
@media(max-width:760px){.has-chariot .portfolio-colosseum{bottom:45px}}


/* Discreet website author credit. */
.legal .site-credit{margin-top:10px;font-size:11px;letter-spacing:.025em}
.site-credit a{text-decoration:none;color:inherit}
.site-credit a:hover,.site-credit a:focus-visible{text-decoration:underline;color:#fff}

/* Larger career illustration, cropped by the hero at the lower edge. */
.career-art img{display:block;width:112%;max-width:none;margin-left:-6%;margin-bottom:-12%}
@media(max-width:760px){.career-art{max-width:390px}.career-art img{width:108%;margin-left:-4%;margin-bottom:-10%}}

/* Let the enlarged career illustration extend into the page gutter; the band covers its bottom. */
.career-hero{overflow:visible;clip-path:inset(-100px -100vw 0)}
.career-page{overflow-x:clip}

/* Original centered footer, Cookies aligned with the author credit. */
.legal{display:grid;grid-template-columns:1fr auto 1fr;gap:10px 18px;text-align:center}
.legal>p:not(.site-credit){grid-column:1/-1;margin:0;padding:0}
.legal .site-credit{grid-column:2;margin:0;padding:0}
.footer-cookies{grid-column:3;justify-self:end;align-self:baseline;font-size:12px}
@media(max-width:760px){.legal{grid-template-columns:1fr auto;gap:10px}.legal .site-credit{grid-column:1;text-align:left}.footer-cookies{grid-column:2}}

/* News archive and readable article pages. */
.home-content{padding-bottom:170px}
.news-index,.news-detail{padding-top:75px;padding-bottom:150px}
.news-title{position:static!important;background:none!important;padding:0!important;margin:0 0 48px!important;box-shadow:none!important}
.news-title h1{font-size:clamp(40px,5.5vw,76px);line-height:1.08;max-width:1050px;margin:18px 0 24px;color:#b71c41}
.news-title>p:not(.eyebrow){max-width:650px;line-height:1.8}
.news-index .home-story-grid{row-gap:65px}
.news-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin-bottom:35px;color:#626c68}
.news-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.news-cover{display:block;width:100%;max-height:650px;height:auto;object-fit:cover;margin-bottom:45px}
.news-article{max-width:820px;margin:0 auto 55px;font-size:17px;line-height:1.9;overflow-wrap:anywhere}
.news-article p{margin:0 0 25px}.news-article img{display:block;width:100%;height:auto;margin:35px 0}
.news-article a{color:#b71c41;text-decoration:underline;text-underline-offset:4px}
.news-article h2,.news-article h3{line-height:1.15;margin:42px 0 20px}
.news-detail{padding-bottom:65px}
.news-detail>.button{display:table;margin-inline:auto}
.heading-reveal.reveal-ready{transform:translateX(-24px);transition:opacity .7s ease,transform .85s cubic-bezier(.16,1,.3,1);transition-delay:0ms}
.heading-reveal.reveal-ready.is-visible{transform:translateX(0)}
@media(max-width:760px){.home-content{padding-bottom:110px}.news-index,.news-detail{padding-top:42px;padding-bottom:105px}.news-detail{padding-bottom:45px}.news-title{margin-bottom:30px!important}.news-article{font-size:16px}.news-index .home-story-grid{row-gap:44px}}
@media(prefers-reduced-motion:reduce){.heading-reveal.reveal-ready{opacity:1;transform:none;transition:none}}
/* Self-contained, free local guide. */
#site-help{position:fixed;right:24px;bottom:36px;z-index:1000;font-family:Arial,sans-serif;font-size:14px;line-height:1.5}
#site-help button{font-family:inherit;cursor:pointer;letter-spacing:normal}
#site-help .help-launcher{display:block;width:76px;height:94px;padding:0;border:0;background:none;filter:drop-shadow(0 4px 6px #152d2c30);transition:transform .25s ease}
#site-help .help-launcher img{display:block;width:100%;height:100%;object-fit:contain;animation:help-head-bob 2.8s ease-in-out infinite}
#site-help .help-teaser{position:absolute;right:88px;bottom:25px;display:flex;align-items:center;background:white;color:#203b3b;box-shadow:0 5px 25px #132e2c24;border-radius:16px 16px 0 16px;padding:12px 10px 12px 16px;width:max-content;max-width:220px}
#site-help [hidden]{display:none!important}
#site-help .help-teaser button{border:0;background:transparent;color:inherit;padding:0;font-size:14px}
#site-help .help-dismiss{margin-left:12px;font-size:21px!important}
#help-dialog{position:fixed;inset:auto 24px 36px auto;margin:0;padding:0;width:380px;max-width:calc(100vw - 32px);height:570px;max-height:calc(100dvh - 60px);border:1px solid #d8e4e2;border-radius:18px;box-shadow:0 14px 70px #0e2f3440;background:#fff;color:#213835;overflow:hidden}
#help-dialog[open]{display:flex;flex-direction:column}
#help-dialog::backdrop{background:#102e3315}
#site-help .help-top{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;background:#278790;color:#fff}
#site-help .help-top strong{display:block;font-size:19px}#site-help .help-top span{font-size:11px}
#site-help .help-close{border:0;background:none;color:white;font-size:30px;padding:0 4px;line-height:1}
#site-help .help-messages{flex:1;min-height:100px;overflow:auto;overscroll-behavior:contain;padding:18px}
#site-help .help-message{background:#f0f5f4;border-radius:12px 12px 12px 2px;padding:12px;margin-bottom:12px;font-size:14px;line-height:1.65}
#site-help .help-message p{margin:0}#site-help .help-message a{display:block;color:#a91538;text-decoration:underline;text-underline-offset:3px;margin-top:8px}
#site-help .help-message.visitor{background:#d6ebed;margin-left:25px;border-radius:12px 12px 2px 12px}
#site-help .help-topics{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 12px}
#site-help .help-topics button{border:1px solid #c6dddd;border-radius:18px;background:white;color:#245b5f;font-size:12px;padding:6px 10px}
#site-help .help-form{display:flex;gap:8px;margin:0 16px 16px;padding:10px 0 0;border-top:1px solid #e0e8e6}
#site-help .help-form input{width:100%;min-width:0;background:#f5f7f6;border:1px solid #dbe4e1;border-radius:8px;padding:10px;font:16px Arial,sans-serif;color:#203b3b}
#site-help .help-form button{display:grid;place-items:center;flex-shrink:0;width:44px;border:0;border-radius:8px;background:#b71c41;color:white}
#site-help .help-form svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}
#site-help button:focus-visible,#site-help a:focus-visible{outline:3px solid #b71c41;outline-offset:3px}
@media(max-width:760px){#site-help{right:14px;bottom:28px}#site-help .help-launcher{width:61px;height:76px}#site-help .help-teaser{right:72px;bottom:15px;max-width:215px}#help-dialog{right:12px;bottom:28px;max-height:calc(100dvh - 52px);width:360px}}

.news-title h1{font-family:Display,"Arial Narrow",sans-serif;font-weight:900;font-style:italic;text-transform:uppercase}

.home-more .ui-icon{color:#b71c41}
@keyframes help-head-bob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.1)}}
@media(hover:hover){#site-help .help-launcher:hover{transform:scale(1.07)}}
#site-help .help-launcher:focus-visible{transform:scale(1.07)}
@media(prefers-reduced-motion:reduce){#site-help .help-launcher img{animation:none}#site-help .help-launcher{transition:none}}

/* Adobe Fonts: Gotham Condensed Black Italic (published weight 700). */
header nav,.button{font-family:"gotham-condensed",Display,"Arial Narrow",sans-serif;font-weight:700;font-style:italic}

/* Leave room for italic glyph overhang during the heading reveal. */
.job summary > span:nth-child(2){flex:1;min-width:0}
.job h3{padding:.08em .35em .08em 0;overflow:visible;overflow-wrap:break-word}
.job-number,.job-plus{flex-shrink:0}

/* Roomier menu with Gotham Condensed Black Italic. */
header nav{font-weight:700;gap:24px}
@media(min-width:1450px){header nav{gap:30px}}
@media(min-width:761px) and (max-width:1100px){header nav{gap:19px}}

footer h2{font-family:"gotham-condensed",Display,"Arial Narrow",sans-serif;font-weight:700;font-style:italic}

.contact-page-form .contact-invitation h2{font-family:"gotham-condensed",Display,"Arial Narrow",sans-serif;font-weight:700;font-style:italic}

.contact-page-form .contact-invitation h2{font-size:72px;line-height:.95}
@media(max-width:760px){.contact-page-form .contact-invitation h2{font-size:56px}}

.contact-intro h1.contact-gotham,h2.contact-gotham{font-family:"gotham-condensed",Display,"Arial Narrow",sans-serif;font-weight:700;font-style:italic}

.contact-intro h1.contact-gotham{line-height:.88}

/* Protect italic overhang while the contact heading animates. */
.contact-intro h1.contact-gotham{font-size:clamp(58px,5.3vw,94px);padding-inline:.12em;margin-left:-.12em;overflow:visible}

/* Current display typography on contact, company, construction and career pages. */
.gotham-headings main h1,.gotham-headings main h2,.gotham-headings main h3,
.career-page .career-band>.container,.career-page .career-steps b,.career-page .job-number,
.gotham-headings .portfolio-number strong,.contact-page .person-detail h2,.contact-page .location-copy h2{
font-family:"gotham-condensed",Display,"Arial Narrow",sans-serif;font-weight:700;font-style:italic}
/* Pointer interaction stays clean; keyboard focus remains visible in the brand colour. */
.project-dialog button:focus:not(:focus-visible){outline:none}
.project-dialog button:focus-visible{outline:2px solid #b71c41;outline-offset:3px}

@media(max-width:760px){.has-chariot{overflow-x:clip}}

/* Match the contact hero rhythm; keep the company claim in two mobile lines. */
.portfolio-intro h1,.about-story h1,.career-hero h1,.rental-hero h1,.duo-intro h1{line-height:.88}
.about-story h1 .about-heading-first{color:inherit}
@media(max-width:760px){.about-story h1{font-size:clamp(32px,12.4vw,60px)}.about-story h1 span{white-space:nowrap}}

.values-grid article{container-type:inline-size}
.values-grid .value-heading-formwork{white-space:nowrap;font-size:min(43px,16cqi)}

/* Text headings: preserve italic overhang and consistent two-line claims. */
.contact-page-form .contact-invitation h2{font-size:68px;line-height:.92;padding-right:.18em;overflow:visible}
@media(max-width:760px){.contact-page-form .contact-invitation h2{font-size:53px}}
.about-story>div:first-child,.career-hero>div:first-child{container-type:inline-size;min-width:0}
.about-story h1{font-size:min(86px,14.2cqi);padding-right:.12em;overflow:visible}
.career-hero h1{font-size:min(82px,13.6cqi);padding-right:.12em;overflow:visible}
.about-story h1 span,.career-hero h1 span{white-space:nowrap}
.career-hero h1 .career-heading-first{color:inherit}
.project-cta h2,.rental-contact h2,.contact-invitation h2{line-height:.92}

.career-next h2{line-height:.88}
.job-body{padding-top:24px}

.has-chariot{padding-top:35px;padding-bottom:20px}

.home-proof-copy h2,.home-heading h2,.home-rental h2{line-height:1}

.gotham-headings .contact form h2{font-family:Work,sans-serif;font-style:normal;font-weight:500;text-transform:none;font-size:16px}

/* Shared proportional heading rhythm; story titles retain their own spacing. */
body .proportional-heading.proportional-heading.proportional-heading{line-height:1}

.about-story h1{font-size:min(96px,18cqi)}

@media(max-width:760px){
 body.mobile-menu-open{overflow:hidden}
 body.mobile-menu-open header{z-index:10000}
 header nav.open{position:fixed;inset:0;width:100%;height:100dvh;box-sizing:border-box;align-items:center;justify-content:center;text-align:center;gap:clamp(14px,3vh,28px);padding:80px 24px;overflow-y:auto;font-size:30px;box-shadow:none;z-index:1001}
 .menu-toggle{position:relative;z-index:1002}
 .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* Mobile crop keeps the builder in view; translucent white supports the headline. */
@media(max-width:760px){
 .hero-video{object-position:100% center}
 .hero-shade{background:linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.72) 38%,rgba(255,255,255,.35) 68%,rgba(255,255,255,0) 100%)}
}

@media(max-width:760px){.reference-page .project-cta .portfolio-colosseum{left:-25%;width:150%;height:360px;bottom:30px}.reference-page .project-cta{overflow-x:clip}}

body .about-story h1.proportional-heading.proportional-heading.proportional-heading{line-height:.92}

.career-hero h1{font-size:clamp(58px,5.3vw,94px)}

/* Compact inner-page hero headings; homepage artwork stays unchanged. */
body.inner-page main h1.proportional-heading.proportional-heading.proportional-heading,body .about-story h1.proportional-heading.proportional-heading.proportional-heading{line-height:.9}

body.contact-page .contact-intro h1.proportional-heading.proportional-heading.proportional-heading{line-height:.9}

/* Planner artwork keeps its full width; only the area below the waist is cropped. */
.home-rental .home-advisor-window{width:50%;right:0;bottom:0;height:auto;aspect-ratio:1.08;max-height:none;overflow:hidden}
.home-rental .home-advisor-window .plan-advisor{position:absolute;inset:0;margin:0;width:100%;height:100%;overflow:hidden}
.home-rental .home-advisor-window .plan-advisor img{position:absolute;top:-5%;left:0;width:100%;height:auto;max-width:100%;object-fit:contain;animation:none}
.rental-help .plan-advisor{position:relative;aspect-ratio:1.05;overflow:hidden}
.rental-help .plan-advisor img{position:absolute;top:-6%;left:0;width:100%;height:auto;max-width:100%;animation:none}
@media(min-width:1001px){
.home-rental>.container{min-height:390px;grid-template-columns:1fr}
.home-rental .home-advisor-window{width:min(56%,510px);right:0}
.home-rental>.container>div:first-child{max-width:48%}
}
@media(max-width:1000px){
.home-rental>.container{grid-template-columns:1fr;min-height:0;gap:0}
.home-rental>.container>div:first-child{padding-bottom:20px}
.home-rental .home-advisor-window{position:relative;width:100%;max-width:480px;height:auto;right:auto;justify-self:center}
}

@media(min-width:1440px){.home-rental .home-advisor-window{right:5%}}

/* A small parchment edge overlaps the foreground; the body stays behind it. */
.home-rental .home-advisor-window{overflow:visible;z-index:3}
.home-rental .home-advisor-window .plan-advisor img{transform:translateY(18px)}
.home-rental .home-advisor-window>img.plan-overlap{position:absolute;top:-5%;left:0;width:100%;height:auto;max-width:100%;transform:translateY(18px);object-fit:contain;animation:none;clip-path:polygon(48% 51%,93% 51%,92% 57%,91% 59%,90% 60.7%,88.3% 62%,85.5% 62.7%,77% 62.25%,68.3% 61.48%,63.6% 61.1%,56.8% 61.0%,49.8% 61.6%,42% 62.2%,35.8% 62.5%,33.2% 62%,31.4% 61.2%,30.1% 60%,30% 58.7%)}
@media(max-width:760px){.home-rental .home-advisor-window .plan-advisor img,.home-rental .home-advisor-window>img.plan-overlap{transform:translateY(12px)}}

.home-rental .home-advisor-window .plan-advisor{clip-path:inset(0 0 12px)}

/* Keep both illustration layers aligned while scrolling into view. */
.home-rental .home-advisor-window .plan-advisor.advisor-ready{opacity:1;transform:none;transition:none}

/* Animate the complete two-layer illustration together. */
.home-rental .home-advisor-window:has(.advisor-ready){opacity:0;translate:0 55px;transition:opacity .7s ease,translate 1s cubic-bezier(.16,1,.3,1)}
.home-rental .home-advisor-window:has(.advisor-ready.is-visible){opacity:1;translate:0 0}
.home-rental .home-advisor-window .plan-advisor{clip-path:inset(0 0 12px)}
@media(prefers-reduced-motion:reduce){.home-rental .home-advisor-window{transition:none;translate:none;opacity:1}}

.home-rental .home-advisor-window:after{content:"";position:absolute;left:24%;width:10%;bottom:0;height:14px;background:#faf8f8;z-index:1}
.home-rental .home-advisor-window>img.plan-overlap{z-index:2}

/* The shared torn edge covers the body; only the parchment sits in front. */
.home-rental .home-advisor-window{z-index:auto}
.home-rental .home-advisor-window:has(.advisor-ready),.home-rental .home-advisor-window:has(.advisor-ready.is-visible){opacity:1;translate:none;transition:none}
.home-rental .home-advisor-window:after{content:none}
.home-rental .home-advisor-window .plan-advisor{clip-path:none;z-index:1}
.home-rental .home-advisor-window>img.plan-overlap{z-index:3}
.home-rental .home-advisor-window:has(.advisor-ready) .plan-advisor,.home-rental .home-advisor-window:has(.advisor-ready)>img.plan-overlap{opacity:0;translate:0 55px;transition:opacity .7s ease,translate 1s cubic-bezier(.16,1,.3,1)}
.home-rental .home-advisor-window:has(.advisor-ready.is-visible) .plan-advisor,.home-rental .home-advisor-window:has(.advisor-ready.is-visible)>img.plan-overlap{opacity:1;translate:0 0}

/* Product documentation downloads. */
.system-downloads{margin-top:26px;padding-top:18px;border-top:1px solid currentColor}
.system-downloads>p{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}
.system-downloads>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;font-size:16px;color:inherit;text-decoration:none}
.system-downloads>a:hover{text-decoration:none}
.system-downloads>a>span{border-bottom:1px solid transparent;padding-bottom:3px}
.system-downloads>a:hover>span{border-bottom-color:currentColor}
.system-downloads small{display:block;font-size:11px;font-weight:400;opacity:.8;margin-top:3px}
.duo-intro>.system-downloads{max-width:440px;color:#b71c41;margin-bottom:28px}

/* Compact document links, aligned in one row. */
.system-downloads{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.system-downloads>p{flex-basis:100%;margin-bottom:0}
.system-downloads>a{display:inline-flex;justify-content:flex-start;gap:8px;padding:6px 0;font-size:14px}

.system-downloads>a small{display:inline;margin:0 0 0 6px}

/* v142: clean gallery controls and chat field, with subtle keyboard feedback. */
.project-dialog button:focus,.project-dialog button:focus-visible{outline:none;box-shadow:none}
.project-dialog button:focus-visible{background:#edf2f2}
#site-help #help-input:focus,#site-help #help-input:focus-visible{outline:none;box-shadow:none;border-color:#8caeb1}
