@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;800&family=Prata&display=swap');

:root{--ink:#172632;--navy:#152532;--gold:#a58a5f;--paper:#f6f6f2;--line:#dedfd9;--muted:#6f7778;--serif:'Prata',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:calc((15px) * var(--type-body-scale, 1));line-height:1.65;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:#c5b18d;color:#12212d}.container{width:calc(100% - 112px);max-width:1392px;margin:auto}.skip-link{position:fixed;z-index:100;top:-80px;left:20px;padding:10px 20px;background:white}.skip-link:focus{top:10px}.eyebrow{font:600 10px/1.5 var(--display);letter-spacing:2.1px;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow::before{content:'';width:23px;height:1px;background:var(--gold)}.section-label{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));font-family:var(--display);font-weight:700;letter-spacing:1.7px;text-transform:uppercase;display:flex;gap:15px;align-items:center}.section-label span{color:var(--gold);font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.arrow{display:inline-block;font:400 23px/1 var(--sans);transition:transform .25s}.link-arrow{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));font-weight:600;padding:14px 0;border-bottom:1px solid var(--gold)}.link-arrow:hover .arrow{transform:translate(3px,-3px)}.btn{min-height:49px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid transparent;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));font-weight:600;transition:background .25s,color .25s}.btn-gold{background:#ab936d;color:white}.btn-gold:hover{background:#957c55}.btn-outline{border-color:#61717c;color:white;background:transparent}.btn-outline:hover{background:rgba(255,255,255,.1)}.btn-dark{background:var(--navy);color:white}.btn-dark:hover{background:#2b4355}.btn:hover .arrow{transform:translate(3px,-3px)}

.site-header{height:88px;background:#fafaf7;position:sticky;top:0;z-index:30;border-bottom:1px solid #e7e7e1}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:36px;height:42px;color:var(--gold)}.brand-name{font-family:var(--display);font-weight:800;font-size:calc((19px) * var(--type-body-scale, 1));letter-spacing:2.8px;line-height:1.25}.brand-sub{font-family:var(--display);font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:3px;font-weight:500;margin-top:4px}.main-nav{display:flex;gap:30px;align-items:center}.main-nav>a{font-size:calc((11px) * var(--type-nav-scale, 1));font-weight:600;color:#535b5f;position:relative;padding:10px 0}.main-nav>a::after{content:'';height:1px;width:0;position:absolute;bottom:3px;left:0;background:var(--gold);transition:width .2s}.main-nav>a:hover::after,.main-nav>a.active::after{width:100%}.main-nav>a.active{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:25px}.header-contact{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));font-weight:600;display:flex;gap:21px;align-items:center}.header-contact .arrow{font-size:calc((20px) * var(--type-body-scale, 1));color:var(--gold)}.language-picker{position:relative}.language-toggle{font-size:calc((10px) * var(--type-nav-scale, 1));font-weight:700;background:none;border:0;padding:9px 0;display:flex;gap:7px;align-items:center}.chevron{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted)}.language-list{display:none;position:absolute;right:0;top:34px;width:135px;background:#fff;border:1px solid var(--line);padding:6px;box-shadow:0 10px 30px #17263212}.language-list.open{display:block}.language-list a{display:block;font-size:calc((12px) * var(--type-nav-scale, 1));padding:9px 12px}.language-list a:hover,.language-list a[aria-current]{background:#f0eee6}.menu-toggle{display:none;background:none;border:0;padding:5px;width:30px;height:30px}.menu-toggle span{height:1px;background:var(--ink);display:block;margin:6px 0}.mobile-menu{display:none}

.hero{position:relative;color:white;background:#152532;min-height:660px;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,25,36,.94) 0%,rgba(12,25,36,.82) 29%,rgba(12,25,36,.36) 62%,rgba(12,25,36,.06) 100%)}.hero-shade::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,25,36,.55),transparent 35%)}.hero-content{position:relative;padding-top:100px;padding-bottom:75px;min-height:660px;display:flex;flex-direction:column;justify-content:space-between}.hero .eyebrow{color:#d3d8dc;letter-spacing:2.3px}.hero h1{font-family:var(--serif);font-weight:400;font-size:calc((clamp(45px,4.8vw,76px)) * var(--type-heading-scale, 1));line-height:1.25;letter-spacing:-1.8px;margin:29px 0 24px;max-width:710px}.hero h1 em{font-weight:400;font-style:normal;color:#ccb897}.hero-description{font-size:calc((14px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#c5cdd2;max-width:415px;margin-bottom:30px}.hero-buttons{display:flex;gap:13px;align-items:center}.hero .btn{padding:14px 21px;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));min-height:50px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:55px}.hero-note{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.8px;font-family:var(--display);color:#b9c2c7;text-transform:uppercase;display:flex;gap:12px;align-items:center}.hero-note .dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}.scroll-link{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.2px;display:flex;align-items:center;gap:18px;text-transform:uppercase;color:#c7ced3}.scroll-link span{display:flex;width:30px;height:30px;border:1px solid #ffffff4d;border-radius:50%;align-items:center;justify-content:center;font-size:calc((15px) * var(--type-body-scale, 1))}.hero-vertical{position:absolute;right:28px;top:50%;writing-mode:vertical-rl;font-family:var(--display);font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:2.6px;color:#d3dadd}.focus-strip{background:#fafaf7;border-bottom:1px solid var(--line)}.focus-strip-inner{display:flex;align-items:center;justify-content:space-between;min-height:105px;gap:20px}.focus-strip-title{font-size:calc((9px) * var(--type-heading-scale, 1));color:var(--muted);letter-spacing:1.6px;text-transform:uppercase;max-width:140px}.focus-item{display:flex;align-items:center;gap:16px}.focus-icon{width:29px;height:29px;color:var(--gold)}.focus-item strong{display:block;font-weight:500;font-size:calc((14px) * var(--type-small-scale, var(--type-body-scale, 1)))}.focus-item small{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted)}.focus-divider{height:37px;width:1px;background:var(--line)}

section[id]{scroll-margin-top:88px}.about{padding:89px 0 83px}.about-top{display:grid;grid-template-columns:1fr 2.12fr;gap:50px}.about-copy h2{font-family:var(--serif);font-size:calc((clamp(30px,3vw,43px)) * var(--type-heading-scale, 1));font-weight:400;line-height:1.45;letter-spacing:-.8px;margin:-10px 0 26px;max-width:850px}.about-copy h2 span{color:var(--gold)}.about-bottom{display:grid;grid-template-columns:1.16fr 1fr;gap:58px;align-items:start}.about-bottom p{color:var(--muted);font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;margin:0}.about-copy .link-arrow{margin-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:25px 0 35px}.section-heading h2{font:400 clamp(30px,3vw,42px)/1.35 var(--serif);letter-spacing:-.7px;margin:0}.section-heading>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted);max-width:330px;line-height:1.85;margin:0}.areas{padding:0 0 90px}.area-list{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.area-card{padding:30px 29px 28px;display:flex;flex-direction:column;min-height:315px;background:#fafaf7;border-right:1px solid var(--line);transition:background .3s}.area-card:last-child{border:0}.area-card:hover{background:#f0efe7}.area-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.area-number{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1px;color:#90958f}.area-symbol{width:53px;height:53px;color:var(--gold)}.area-card h3{font-family:var(--display);font-size:calc((18px) * var(--type-heading-scale, 1));font-weight:500;margin:0 0 13px;line-height:1.4}.area-card p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted);line-height:1.9;margin:0 0 25px;max-width:340px}.area-card .link-arrow{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));border:0;justify-content:space-between;margin-top:auto;padding:0}.area-card .arrow{font-size:calc((21px) * var(--type-body-scale, 1));color:var(--gold)}

.projects{padding:76px 0 90px;background:#eaece7}.project-controls{display:flex;gap:8px;margin-bottom:28px}.filter-btn{background:none;border:1px solid #cdd0c8;padding:8px 17px;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#6a7273;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:var(--navy);border-color:var(--navy);color:white}.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.project-card[hidden]{display:none}.project-image-button{width:100%;border:0;background:#d7dad5;padding:0;position:relative;text-align:left;overflow:hidden;aspect-ratio:1.39}.project-image-button img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project-image-button:hover img{transform:scale(1.04)}.project-status{position:absolute;left:15px;top:15px;background:#f8f8f2ed;padding:5px 10px;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:.3px;color:#253840;display:flex;gap:6px;align-items:center}.project-status::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold)}.project-open{position:absolute;right:14px;bottom:14px;background:#f8f8f2;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--ink)}.project-info{padding-top:18px}.project-location{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted);letter-spacing:1.1px;text-transform:uppercase;margin:0 0 7px}.project-info h3{font-family:var(--display);font-size:calc((18px) * var(--type-heading-scale, 1));font-weight:500;margin:0 0 7px}.project-type{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#737b7c;margin:0}.project-footer{margin-top:31px;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted);display:flex;justify-content:space-between;align-items:center}.project-footer .link-arrow{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.empty-projects{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));padding:25px 0;color:var(--muted)}

.approach{background:var(--navy);color:white;padding:82px 0 88px}.approach .section-label{color:#c8d0d5}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:110px;margin-top:28px}.approach-intro h2{font-family:var(--serif);font-size:calc((43px) * var(--type-heading-scale, 1));line-height:1.4;font-weight:400;letter-spacing:-.5px;margin:0 0 25px}.approach-intro h2 span{color:#c1aa84}.approach-intro>p{color:#aebbc4;font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:390px;line-height:1.9;margin-bottom:28px}.approach-intro .link-arrow{color:#e8e9e7;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));border-color:#776b55}.approach-step{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid #ffffff20}.approach-step:first-child{padding-top:3px}.step-number{color:#b89b71;font-family:var(--display);font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));padding-top:5px}.approach-step h3{font-family:var(--display);font-size:calc((17px) * var(--type-heading-scale, 1));font-weight:500;margin:0 0 9px}.approach-step p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#aebbc4;line-height:1.8;margin:0}.team{padding:80px 0;background:#fafaf7}.team-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.team h2{font-family:var(--serif);font-size:calc((39px) * var(--type-heading-scale, 1));line-height:1.4;font-weight:400;margin:25px 0 20px}.team p{color:var(--muted);font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)))}.team-person{display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:center}.team-person img{width:190px;aspect-ratio:.8;object-fit:cover;filter:grayscale(1)}.team-person h3{font:500 21px var(--display);margin:0 0 9px}.team-person .role{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1px;text-transform:uppercase;color:var(--gold)}.team-person p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));margin:15px 0}.team-note{padding:30px;border:1px solid var(--line);display:flex;align-items:center;gap:25px}.team-note .area-symbol{flex-shrink:0}.team-note h3{font-size:calc((17px) * var(--type-heading-scale, 1));font-weight:500;margin:0 0 10px}.team-note p{margin:0 0 10px;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}

.contact{padding:83px 0 88px;border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:.96fr 1fr;gap:100px}.contact h2{font-family:var(--serif);font-size:calc((44px) * var(--type-heading-scale, 1));font-weight:400;line-height:1.35;margin:26px 0 20px;letter-spacing:-.7px}.contact-intro{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted);max-width:360px;margin:0 0 29px}.contact-links{display:flex;flex-direction:column;gap:5px;margin-bottom:33px}.contact-links a{font-family:var(--display);font-size:calc((21px) * var(--type-body-scale, 1));font-weight:500;line-height:1.6}.contact-links a:last-child{color:var(--gold);font-size:calc((19px) * var(--type-body-scale, 1))}.contact-links a:hover{text-decoration:underline;text-underline-offset:5px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.detail-label{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.contact-details p{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;margin:0}.company-detail{margin-top:26px;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted)}.contact-form{padding-top:8px}.form-title{font-family:var(--display);font-size:calc((20px) * var(--type-heading-scale, 1));font-weight:500;margin:0 0 10px}.form-explanation{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted);margin:0 0 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#4d575e;font-weight:500}.form-field input,.form-field textarea,.form-field select{width:100%;border:0;border-bottom:1px solid #cdd0c8;background:none;border-radius:0;padding:10px 0;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--ink);outline-offset:2px}.form-field input::placeholder,.form-field textarea::placeholder{color:#9da29e}.form-field.full{grid-column:1/-1}.form-field textarea{resize:vertical;min-height:77px}.consent{display:flex;align-items:start;gap:9px;margin:23px 0 22px;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted);line-height:1.8}.consent input{accent-color:var(--gold);width:13px;height:13px;margin-top:3px;flex-shrink:0}.inline-button{padding:0;border:0;border-bottom:1px solid #a3aaa5;background:none;color:inherit;line-height:inherit;font-size:inherit}.form-note{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted);margin:12px 0 0}.form-status{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;margin-top:18px;padding:15px;border:1px solid var(--line);display:none}.form-status.visible{display:block}.form-status a{font-weight:600;color:var(--gold);text-decoration:underline}.honeypot{position:absolute;left:-10000px}.contact-form .btn{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));min-width:200px}

.footer{background:#10212d;color:#cad0d4;padding:46px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-bottom:32px;border-bottom:1px solid #ffffff19}.footer .brand-name{color:#f2f1eb}.footer .brand-sub{color:#b6bfc7}.footer-tagline{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#a5b1b9;max-width:220px;margin-top:15px}.footer-nav{display:flex;gap:28px;padding-top:10px}.footer-nav a{font-size:calc((10px) * var(--type-nav-scale, 1))}.footer-nav a:hover{color:white}.footer-langs{display:flex;gap:13px;padding-top:10px;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer-langs a[aria-current]{color:#c9ad81}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#8a9aa6;padding-top:20px}.footer-bottom button{color:#9ca8af}.back-to-top{display:flex;gap:10px;align-items:center}.back-to-top span{font-size:calc((15px) * var(--type-body-scale, 1));color:var(--gold)}

.modal{border:0;padding:0;width:620px;max-width:calc(100% - 32px);max-height:85dvh;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px #0005}.modal::backdrop{background:#0b1928b8;backdrop-filter:blur(4px)}.modal-close{position:absolute;top:15px;right:15px;z-index:2;border:0;background:#f9f9f4;width:33px;height:33px;font-size:calc((22px) * var(--type-body-scale, 1))}.modal-image{width:100%;aspect-ratio:1.8;object-fit:cover}.modal-content{padding:32px 36px 38px}.modal h2{font-family:var(--serif);font-size:calc((28px) * var(--type-heading-scale, 1));font-weight:400;margin:12px 0 20px;line-height:1.4}.modal p{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));color:var(--muted)}.modal-meta{display:flex;gap:25px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.privacy-modal{padding:35px}.privacy-modal h3{font-size:calc((15px) * var(--type-heading-scale, 1));font-weight:600}.privacy-modal p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.privacy-modal .modal-close{background:none}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.js-motion .reveal.is-visible{opacity:1;transform:none}

@media(min-width:1600px){.hero,.hero-content{min-height:730px}.hero-content{padding-top:115px}.hero h1{font-size:calc((78px) * var(--type-heading-scale, 1))}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.main-nav{gap:20px}.header-actions{gap:20px}.header-contact{display:none}.hero-content{padding-top:85px}.hero h1{font-size:calc((59px) * var(--type-heading-scale, 1))}.approach-layout,.contact-layout{gap:65px}.about-top{gap:35px;grid-template-columns:1fr 2.5fr}.team-layout{gap:55px}.team-person{grid-template-columns:145px 1fr}.team-person img{width:145px}.footer-nav{gap:18px}}
@media(max-width:850px){.container{width:calc(100% - 48px)}.site-header{height:75px}.main-nav{gap:17px}.main-nav>a{font-size:calc((10px) * var(--type-nav-scale, 1))}.brand-name{font-size:calc((16px) * var(--type-body-scale, 1));letter-spacing:2px}.brand-sub{font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:2px}.brand-mark{width:30px;height:36px}.hero,.hero-content{min-height:630px}.hero h1{font-size:calc((53px) * var(--type-heading-scale, 1))}.hero-content{padding-top:85px}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#0c1924ee,#0c1924b0 50%,#0c19242e)}.hero-vertical{right:12px}.focus-strip-title{display:none}.focus-item{gap:10px}.focus-item strong{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.focus-item small{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.focus-strip-inner{min-height:95px}.about{padding:68px 0}.about-top{grid-template-columns:1fr;gap:28px}.about-copy h2{font-size:calc((35px) * var(--type-heading-scale, 1));margin-top:0}.about-bottom{gap:32px}.areas{padding-bottom:65px}.section-heading{gap:30px}.section-heading h2{font-size:calc((33px) * var(--type-heading-scale, 1))}.area-card{padding:25px 20px}.area-card h3{font-size:calc((16px) * var(--type-heading-scale, 1))}.area-card p{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.project-list{gap:16px}.project-info h3{font-size:calc((15px) * var(--type-heading-scale, 1))}.projects{padding:65px 0}.project-location{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.project-type{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}.approach{padding:65px 0}.approach-layout{gap:40px}.approach-intro h2{font-size:calc((33px) * var(--type-heading-scale, 1))}.team{padding:65px 0}.team-layout{grid-template-columns:1fr;gap:30px}.team-person{grid-template-columns:170px 1fr}.team-person img{width:170px}.contact{padding:65px 0}.contact-layout{gap:40px}.contact h2{font-size:calc((35px) * var(--type-heading-scale, 1))}.contact-links a{font-size:calc((18px) * var(--type-body-scale, 1))}.contact-links a:last-child{font-size:calc((17px) * var(--type-body-scale, 1))}.contact-details{grid-template-columns:1fr;gap:18px}.form-grid{gap:20px 14px}.footer-nav{flex-wrap:wrap;gap:12px 20px;max-width:250px}.footer-top{gap:20px}}
@media(max-width:650px){html{scroll-padding-top:74px}.container{width:calc(100% - 40px)}.site-header{height:72px}.brand-name{font-size:calc((17px) * var(--type-body-scale, 1))}.brand-mark{width:31px;height:37px}.main-nav{display:none}.header-actions{gap:22px}.menu-toggle{display:block}.mobile-menu.open{display:flex;position:fixed;top:72px;inset-inline:0;bottom:0;background:var(--paper);padding:32px 26px;flex-direction:column;gap:12px;z-index:29}.mobile-menu>a{font:400 26px/1.7 var(--serif);padding:6px 0;border-bottom:1px solid var(--line)}.mobile-menu .mobile-contact{font:500 14px var(--sans);margin-top:28px;color:var(--gold);border:0}.hero,.hero-content{min-height:645px}.hero-content{padding-top:73px;padding-bottom:35px}.hero h1{font-size:calc((clamp(38px,9.8vw,58px)) * var(--type-heading-scale, 1));line-height:1.3;letter-spacing:-1px;margin-top:25px}.hero .eyebrow{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.65px}.hero-description{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:325px;line-height:1.9;margin-bottom:27px}.hero-shade{background:linear-gradient(90deg,#0c1924ed,#0c1924af 75%,#0c192478)}.hero-image{object-position:68% center}.hero .btn{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));padding:13px 16px;gap:16px;min-height:47px}.hero-buttons{gap:9px}.hero-bottom{margin-top:60px}.hero-note{font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.2px;gap:8px}.scroll-link{font-size:0;gap:0}.scroll-link span{font-size:calc((15px) * var(--type-body-scale, 1))}.hero-vertical{display:none}.focus-strip-inner{flex-wrap:wrap;gap:0;padding:25px 0;min-height:unset;align-items:center}.focus-item{width:33.3%;gap:9px;flex-direction:column;text-align:center}.focus-icon{width:25px;height:25px}.focus-item strong{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.5}.focus-item small{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));display:block;margin-top:3px}.focus-divider{display:none}.about{padding:55px 0}.section-label{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.3px;gap:12px}.about-top{gap:28px}.about-copy h2{font-size:calc((29px) * var(--type-heading-scale, 1));line-height:1.5;letter-spacing:-.7px;margin-bottom:21px}.about-bottom{grid-template-columns:1fr;gap:17px}.about-bottom p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.about-copy .link-arrow{margin-top:18px}.areas{padding-bottom:55px}.section-heading{display:block;margin:21px 0 27px}.section-heading h2{font-size:calc((29px) * var(--type-heading-scale, 1))}.section-heading>p{margin-top:14px;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:350px}.area-list{grid-template-columns:1fr}.area-card{border-right:0;border-bottom:1px solid var(--line);padding:24px;min-height:unset}.area-card-top{margin-bottom:14px}.area-symbol{width:44px;height:44px}.area-card h3{font-size:calc((19px) * var(--type-heading-scale, 1))}.area-card p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:none;margin-bottom:20px}.area-card .link-arrow{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.projects{padding:55px 0}.project-controls{flex-wrap:wrap;gap:7px;margin-bottom:22px}.filter-btn{padding:8px 13px;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.project-list{grid-template-columns:1fr;gap:32px}.project-image-button{aspect-ratio:1.45}.project-info{padding-top:14px}.project-info h3{font-size:calc((19px) * var(--type-heading-scale, 1))}.project-location{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.project-type{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.project-footer{flex-direction:column;align-items:start;gap:8px;margin-top:20px;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.approach{padding:55px 0}.approach-layout{grid-template-columns:1fr;gap:37px;margin-top:24px}.approach-intro h2{font-size:calc((32px) * var(--type-heading-scale, 1))}.approach-intro>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.approach-step h3{font-size:calc((17px) * var(--type-heading-scale, 1))}.team{padding:55px 0}.team h2{font-size:calc((30px) * var(--type-heading-scale, 1))}.team-person{grid-template-columns:115px 1fr;gap:21px}.team-person img{width:115px}.team-person h3{font-size:calc((18px) * var(--type-heading-scale, 1))}.team-person p{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.team-note{padding:24px;gap:18px}.contact{padding:55px 0}.contact-layout{grid-template-columns:1fr;gap:40px}.contact h2{font-size:calc((34px) * var(--type-heading-scale, 1));margin-top:22px}.contact-intro{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact-links a{font-size:calc((20px) * var(--type-body-scale, 1))}.contact-links a:last-child{font-size:calc((19px) * var(--type-body-scale, 1))}.contact-details{grid-template-columns:1fr 1fr;gap:20px}.contact-form{padding-top:0}.form-field input,.form-field textarea,.form-field select{font-size:calc((16px) * var(--type-body-scale, 1))}.form-grid{gap:24px 17px}.form-field label{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact-form .btn{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.form-note,.consent,.form-explanation{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer{padding:35px 0 23px}.footer-top{flex-wrap:wrap;gap:26px}.footer-top>div:first-child{width:100%}.footer-tagline{max-width:300px}.footer-nav{max-width:230px;gap:15px 23px;flex:1}.footer-nav a{font-size:calc((10px) * var(--type-nav-scale, 1))}.footer-langs{gap:11px}.footer-bottom{flex-wrap:wrap;gap:13px;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer-bottom>span{width:100%}.modal-content{padding:25px}.modal h2{font-size:calc((24px) * var(--type-heading-scale, 1))}.modal-meta{flex-wrap:wrap;gap:10px 20px}.privacy-modal{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

.project-name-button{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;line-height:inherit}.project-name-button:hover{color:var(--gold)}.map-link{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));padding:8px 0;gap:20px;margin-top:5px}.map-link .arrow{font-size:calc((16px) * var(--type-body-scale, 1))}.risk-note{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#7f909b;margin:18px 0 0;max-width:850px}.modal-image-note{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))!important;margin-bottom:22px}html[lang=ru]{--sans:'Manrope',Arial,sans-serif}html[lang=ru] .hero h1{font-size:calc((clamp(42px,4.25vw,67px)) * var(--type-heading-scale, 1))}html[lang=ru] .brand-sub{font-family:var(--display)}html[lang=ru] .main-nav{gap:23px}html[lang=ru] .hero-description{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)))}html[lang=ru] .area-card .link-arrow{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}html[lang=ru] .section-heading h2{font-size:calc((clamp(28px,2.6vw,39px)) * var(--type-heading-scale, 1))}
@media(max-width:850px){html[lang=ru] .main-nav{gap:13px}html[lang=ru] .main-nav>a{font-size:calc((9px) * var(--type-nav-scale, 1))}html[lang=ru] .hero h1{font-size:calc((48px) * var(--type-heading-scale, 1))}}
@media(max-width:650px){html[lang=ru] .hero h1{font-size:calc((clamp(32px,8.5vw,49px)) * var(--type-heading-scale, 1))}html[lang=ru] .hero-description{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}html[lang=ru] .area-card .link-arrow{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}.map-link{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.risk-note{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8}.modal-image-note{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))!important}}

.nojs-details{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.nojs-details summary{cursor:pointer;color:var(--gold);font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.nojs-details p{color:var(--muted);line-height:1.8}.nojs-details h3{font-size:calc((13px) * var(--type-heading-scale, 1));font-weight:500}.nojs-navigation{display:none}
@media(max-width:650px){.mobile-menu.open{overflow-y:auto;overscroll-behavior:contain}.nojs-navigation{display:flex;flex-wrap:wrap;padding:12px 20px;gap:10px 20px;background:var(--paper);font-size:calc((10px) * var(--type-nav-scale, 1));border-bottom:1px solid var(--line)}}

/* Original RICHMAN identity: untouched vector artwork from the owner's PDF. */
:root{--brand-red:#e30014}
.brand-original{display:block;line-height:0;flex-shrink:0}
.brand-logo{display:block;width:174px;height:auto;object-fit:contain}
.site-header .brand-original{padding-block:4px}
.site-header{border-bottom-color:#dddad3}
.main-nav>a::after{background:var(--brand-red)}
.mobile-brand{padding:4px 0 24px;border-bottom:1px solid var(--line);margin-bottom:8px}
.mobile-brand .brand-logo{width:182px}
.hero-brand-emblem{position:absolute;right:max(7vw,50px);top:86px;width:clamp(190px,22vw,320px);height:auto;opacity:.26;pointer-events:none;user-select:none}
.about-identity{display:flex;flex-direction:column;align-items:flex-start;gap:39px}
.brand-seal{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 8px;width:205px;max-width:100%}
.brand-seal img{width:100%;height:auto}
.contact-signature{display:flex;align-items:center;gap:21px;margin-top:28px;max-width:275px}
.contact-signature img{width:113px;height:auto;opacity:.92}
.contact-signature::after{content:'';height:1px;flex:1;background:var(--line)}
.footer .brand-original{background:#f7f6f1;border-top:2px solid var(--brand-red);padding:18px 21px;display:inline-block}
.footer .brand-logo{width:184px;height:auto}
.footer-tagline{max-width:255px;line-height:1.9;margin-top:20px}
.modal-brand-signature{width:93px;height:auto;margin:0 0 24px;opacity:.9}
@media(max-width:1150px){.brand-logo{width:160px}.hero-brand-emblem{right:50px;width:210px;top:62px}}
@media(max-width:850px){.site-header .brand-logo{width:143px}.hero-brand-emblem{width:120px;right:35px;top:30px;opacity:.2}.about-identity{flex-direction:row;align-items:center;justify-content:space-between;gap:25px}.brand-seal{width:126px;padding:15px 7px}.footer .brand-logo{width:174px}.header-inner{gap:18px}}
@media(max-width:650px){.site-header .brand-logo{width:155px}.hero-brand-emblem{width:71px;right:20px;top:24px;opacity:.24}.about-identity{gap:17px}.brand-seal{width:100px;flex-shrink:0;padding:13px 6px}.contact-signature{margin-top:24px;max-width:250px}.contact-signature img{width:106px}.footer .brand-original{padding:16px 19px}.footer .brand-logo{width:174px}.mobile-brand{flex-shrink:0}.mobile-menu.open{padding-top:24px}.modal-brand-signature{width:83px;margin-bottom:20px}}

/* Real owner-supplied Prague photograph: full frame, never cropped. */
.hero.hero-local{background:#122330}
.hero-local .hero-image{left:auto;right:0;width:47%;height:100%;object-fit:contain;object-position:right center}
.hero-local .hero-shade{display:none}
.hero-local .hero-copy{width:47%;max-width:620px}
.hero-local h1{font-size:calc((clamp(40px,4.1vw,65px)) * var(--type-heading-scale, 1));max-width:none;letter-spacing:-1.3px}
.hero-local .hero-description{max-width:400px}
.hero-local .hero-brand-emblem{display:none}
.hero-local .hero-bottom{width:47%;gap:20px}
.hero-photo-caption{position:absolute;right:30px;bottom:20px;margin:0;padding:8px 11px;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:.8px;color:#f2f1ed;background:#122330d9;pointer-events:none}
.footer .brand-original.brand-reverse{background:none;border:0;padding:3px 0;display:inline-block}
.footer .brand-reverse .brand-logo{width:200px;height:auto}
html[lang=ru] .hero-local h1{font-size:calc((clamp(38px,3.7vw,61px)) * var(--type-heading-scale, 1))}
@media(max-width:1150px){.hero-local .scroll-link{font-size:0}.hero-local .scroll-link span{font-size:calc((15px) * var(--type-body-scale, 1))}.hero-local .hero-note{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.2px}.hero-photo-caption{right:20px;font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)))}}
@media(max-width:850px){.hero-local h1{font-size:calc((40px) * var(--type-heading-scale, 1))}.hero-local .hero-description{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.hero-local .hero-buttons{flex-wrap:wrap;gap:10px}.hero-local .hero-note{font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1px}.hero-local .hero-buttons .btn{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));padding:12px 16px;gap:18px}html[lang=ru] .hero-local h1{font-size:calc((36px) * var(--type-heading-scale, 1))}}
@media(max-width:650px){.hero.hero-local{display:flex;flex-direction:column;min-height:0}.hero-local .hero-image{position:static;order:2;width:100%;height:auto;max-width:none;object-fit:contain}.hero-local .hero-content{order:1;width:calc(100% - 40px);min-height:0;padding-top:59px;padding-bottom:31px}.hero-local .hero-copy{width:100%;max-width:none}.hero-local h1{font-size:calc((clamp(38px,9.8vw,58px)) * var(--type-heading-scale, 1));letter-spacing:-1px}.hero-local .hero-description{max-width:350px}.hero-local .hero-bottom{width:100%;margin-top:38px}.hero-local .hero-note{font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.2px}.hero-photo-caption{position:static;order:3;padding:12px 20px;margin:0;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:.5px;background:#122330}.footer .brand-reverse .brand-logo{width:186px}html[lang=ru] .hero-local h1{font-size:calc((clamp(32px,8.5vw,49px)) * var(--type-heading-scale, 1))}}

/* Owner's latest red-only wordmark variant on a dark footer. */
.footer .brand-original.brand-red-on-dark{background:none;border:0;padding:3px 0;display:inline-block}
.footer .brand-red-on-dark .brand-logo{width:200px;height:auto}
@media(max-width:650px){.footer .brand-red-on-dark .brand-logo{width:186px}}

/* Full-height original photograph integrated into the hero background.
   The ambient layer fills wide screens; the sharp subject is never cropped. */
.hero.hero-background{background:#122330;isolation:isolate}
.hero-background .hero-ambient{position:absolute;inset:0;background-size:cover;background-position:center bottom;filter:blur(24px);transform:scale(1.035);opacity:.3;z-index:-3;pointer-events:none}
.hero-background .hero-image{position:absolute;inset:0 0 0 auto;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:right center;z-index:-2;mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 100%)}
.hero-background .hero-shade{display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,23,34,.95) 0%,rgba(10,23,34,.87) 27%,rgba(10,23,34,.68) 45%,rgba(10,23,34,.15) 67%,rgba(10,23,34,.035) 100%);pointer-events:none}
.hero-background .hero-shade::after{background:linear-gradient(0deg,rgba(10,23,34,.57),transparent 21%)}
.hero-background .hero-copy{width:56%;max-width:640px}
.hero-background .hero-description{max-width:405px}
.hero-background .hero-brand-emblem{display:none}
.hero-background .hero-content{min-height:690px;padding-top:97px;padding-bottom:65px}
.hero-background .hero-bottom{width:100%;gap:20px}
.hero-background .hero-photo-caption{position:absolute;right:25px;bottom:14px;margin:0;padding:6px 9px;font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:.6px;background:#122330ba;z-index:1}
@media(min-width:1600px){.hero-background .hero-content{min-height:750px;padding-top:110px}}
@media(max-width:1150px){.hero-background .hero-content{min-height:660px;padding-top:85px}.hero-background .hero-copy{width:55%;max-width:580px}.hero-background h1{font-size:calc((55px) * var(--type-heading-scale, 1))}.hero-background .hero-buttons{gap:10px}.hero-background .hero-buttons .btn{padding:13px 17px;gap:18px}}
@media(max-width:850px){.hero-background .hero-content{min-height:660px;padding-top:76px}.hero-background .hero-copy{width:55%}.hero-background h1{font-size:calc((43px) * var(--type-heading-scale, 1))}.hero-background .hero-description{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.hero-background .hero-buttons{flex-wrap:wrap}.hero-background .hero-shade{background:linear-gradient(90deg,#0a1722f5 0%,#0a1722d6 35%,#0a17226b 63%,#0a172215 100%)}html[lang=ru] .hero-background h1{font-size:calc((38px) * var(--type-heading-scale, 1))}}
@media(max-width:650px){.hero.hero-background{display:block;min-height:0}.hero-background .hero-content{width:calc(100% - 40px);min-height:calc(430px + 124vw);padding-top:54px;padding-bottom:60px}.hero-background .hero-copy{width:100%;max-width:none}.hero-background h1{font-size:calc((clamp(38px,9.8vw,58px)) * var(--type-heading-scale, 1))}.hero-background .hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center bottom;mask-image:none;-webkit-mask-image:none}.hero-background .hero-ambient{background-position:center bottom;opacity:.44}.hero-background .hero-shade{background:linear-gradient(180deg,#0a1722f5 0%,#0a1722e8 27%,#0a172278 46%,#0a172222 64%,#0a17220a 100%)}.hero-background .hero-shade::after{background:linear-gradient(0deg,#0a1722b8,transparent 14%)}.hero-background .hero-description{max-width:350px}.hero-background .hero-bottom{width:100%;margin-top:40px}.hero-background .hero-photo-caption{right:14px;bottom:12px;max-width:calc(100% - 28px);font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)))}html[lang=ru] .hero-background h1{font-size:calc((clamp(32px,8.5vw,49px)) * var(--type-heading-scale, 1))}}

/* Wide outpainted original: one seamless photographic hero background.
   The hero is never shorter than the image's width-fit height, protecting the spire and base. */
.hero.hero-expanded{background:#122330}
.hero-expanded .hero-ambient{display:none}
.hero-expanded .hero-picture{position:absolute;inset:0;display:block;z-index:-2;pointer-events:none}
.hero-expanded .hero-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:68% bottom;mask-image:none;-webkit-mask-image:none;z-index:auto}
.hero-expanded .hero-content{min-height:max(690px,calc(100vw * var(--hero-source-height) / var(--hero-source-width)))}
.hero-expanded .hero-shade{background:linear-gradient(90deg,#0a1722ed 0%,#0a1722cc 27%,#0a172291 46%,#0a172229 66%,#0a172207 100%)}
.hero-expanded .hero-shade::after{background:linear-gradient(0deg,#0a172285,transparent 19%)}
@media(min-width:1600px){.hero-expanded .hero-content{min-height:max(750px,calc(100vw * var(--hero-source-height) / var(--hero-source-width)))}}
@media(max-width:1150px){.hero-expanded .hero-content{min-height:max(660px,calc(100vw * var(--hero-source-height) / var(--hero-source-width)))}}
@media(max-width:650px){.hero-expanded .hero-content{min-height:calc(430px + 124vw)}.hero-expanded .hero-image{max-width:100%;object-fit:contain;object-position:center bottom}.hero-expanded .hero-shade{background:linear-gradient(180deg,#0a1722f5 0%,#0a1722e8 27%,#0a172278 46%,#0a172222 64%,#0a17220a 100%)}.hero-expanded .hero-shade::after{background:linear-gradient(0deg,#0a1722b8,transparent 14%)}}

.hero-expanded .caption-original{display:none}
@media(max-width:650px){.hero-expanded .caption-wide{display:none}.hero-expanded .caption-original{display:inline}}

/* The monument interlude: real photograph with live, accessible typography. */
.legacy-quote{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:690px;padding:105px 0 86px;background:#152733;color:#f6f5ef;overflow:hidden}
.legacy-quote-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 30%;z-index:-2;filter:saturate(.6)}
.legacy-quote::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10222fcc,#10222fb5),linear-gradient(0deg,#0d202fb3,transparent 70%)}
.legacy-quote-content{text-align:center;max-width:1120px;position:relative}
.legacy-quote .eyebrow{justify-content:center;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:3px;color:#d8dce0;margin-bottom:38px}
.legacy-quote .eyebrow::before{background:#e30014}
.legacy-quote blockquote{margin:0}
.legacy-quote-text{font:400 clamp(39px,4.7vw,72px)/1.4 var(--serif);letter-spacing:-1.2px;max-width:1050px;margin:0 auto 29px;text-wrap:balance}
.legacy-quote-text em{color:#ffffff;font-weight:400;display:block}
.legacy-quote-translation{font:400 21px/1.6 var(--serif);color:#d2c2a4;margin:0 auto 8px;max-width:760px}
.legacy-quote-translation-label{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.3px;text-transform:uppercase;color:#afbec7;margin:0 0 22px}
.legacy-quote-description{font-size:calc((17px) * var(--type-body-scale, 1));line-height:1.9;color:#d2d9dd;max-width:860px;margin:0 auto 26px;text-wrap:pretty}
.legacy-quote cite{font-style:normal;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;letter-spacing:.4px;color:#a8b8c2}
.legacy-quote cite a{border-bottom:1px solid #e30014;padding-bottom:4px}
.legacy-quote-credit{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#a7b5be;margin:30px auto 0;max-width:700px}
.legacy-quote-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1150px){.legacy-quote{min-height:620px;padding:85px 0 70px}.legacy-quote-text{font-size:calc((58px) * var(--type-body-scale, 1))}.legacy-quote-description{font-size:calc((15px) * var(--type-body-scale, 1));max-width:760px}}
@media(max-width:850px){.legacy-quote{min-height:600px;padding:75px 0 60px}.legacy-quote-text{font-size:calc((48px) * var(--type-body-scale, 1));letter-spacing:-.8px}.legacy-quote .eyebrow{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:2.2px;margin-bottom:28px}.legacy-quote-description{font-size:calc((14px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:640px}.legacy-quote-translation{font-size:calc((19px) * var(--type-body-scale, 1))}}
@media(max-width:650px){.legacy-quote{min-height:560px;padding:65px 0 51px}.legacy-quote-image{object-position:67% 25%}.legacy-quote::before{background:linear-gradient(90deg,#10222fd4,#10222fc7)}.legacy-quote .eyebrow{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.5px;line-height:1.7;margin-bottom:27px}.legacy-quote-text{font-size:calc((clamp(30px,8vw,40px)) * var(--type-body-scale, 1));line-height:1.5;letter-spacing:-.7px;margin-bottom:24px}.legacy-quote-text em{margin-top:5px}.legacy-quote-description{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.95;margin-bottom:21px}.legacy-quote-translation{font-size:calc((17px) * var(--type-body-scale, 1));line-height:1.6}.legacy-quote-translation-label{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));margin-bottom:20px}.legacy-quote cite{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.legacy-quote-credit{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;margin-top:25px}}

.legacy-quote cite{display:block;margin-bottom:24px}

@media(min-width:651px){.legacy-quote-image{object-position:65% 12%}}

/* Home only: one introduction rail, aligned to the heading rather than its label. */
@media (min-width:651px) {
  .page-home .structured-heading.home-section-heading {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    column-gap:60px;
    row-gap:22px;
    align-items:start;
  }
  .page-home .home-section-heading>.structured-heading-title { display:contents; }
  .page-home .home-section-heading .section-label { grid-column:1;grid-row:1; }
  .page-home .structured-heading.home-section-heading h2 { grid-column:1;grid-row:2;margin:0; }
  .page-home .home-section-heading>p,
  .page-home .home-section-heading>.projects-heading-copy {
    grid-column:2;
    grid-row:2;
    align-self:start;
    min-width:0;
    max-width:none;
    margin:0;
  }

  /* Equal, content-sized rows: caption growth is accounted for by the grid,
     while the photo regions stretch instead of making the right stack taller. */
  .page-home .projects.structured-section .project-list.project-gallery {
    grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
    grid-auto-rows:1fr;
    align-items:stretch;
  }
  .page-home .project-gallery>.gallery-project { display:flex;flex-direction:column; }
  .page-home .project-gallery .gallery-visual { flex:1;min-height:180px; }
  .page-home .project-gallery .gallery-featured .gallery-visual { min-height:auto;aspect-ratio:1.12; }
  .page-home .project-gallery .gallery-visual .project-image-button {
    position:absolute;
    inset:0;
    height:100%;
    aspect-ratio:auto;
  }
  .page-home .project-gallery .gallery-caption { flex:none; }
}

/* Keep the original photos fully in frame, including on hover and on mobile. */
.page-home .project-gallery>.gallery-project { cursor:pointer; }
.page-home .project-gallery .gallery-project:not(.gallery-featured) .project-image-button img {
  object-fit:contain;
  transform:none;
}
.page-home .project-gallery .project-image-button:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:-4px;
}

/* Structured dark continuation: approved hero and monument quote remain untouched. */
body{background:#0d1c28}
.structured-section{padding:76px 0;color:#f3f6fa;background:#0d1c28;border-top:1px solid #ffffff0d}
.structured-section .section-label{color:#a1b0bc;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.7px}
.structured-section .section-label>span{color:#e9434b}
.structured-section h2{font:400 clamp(31px,3.1vw,46px)/1.36 var(--serif);letter-spacing:-.9px;margin:22px 0;color:#f5f7fa;text-wrap:balance}
.structured-section h2 span{color:#aabcc9}
.structured-section .link-arrow{color:#f2f6f9;border-color:#d3303e;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));gap:26px;padding:12px 0;background:none}
.structured-section .link-arrow:hover{color:#ff6571}
.structured-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:35px}
.structured-heading>div{flex:1;min-width:0}
.structured-heading h2{margin-bottom:0;max-width:700px}
.structured-heading>p{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#a8b7c2;flex:0 1 355px;margin:0 0 5px}

.about.structured-section{background:#112330;padding:74px 0}
.about-structured{display:flex;align-items:center;gap:9%}
.about-story{flex:1;min-width:0}
.about-story h2{max-width:660px;font-size:calc((clamp(32px,3.2vw,49px)) * var(--type-heading-scale, 1))}
.about-lead{font-size:calc((15px) * var(--type-body-scale, 1));line-height:1.9;color:#c0ccd5;max-width:610px;margin:0 0 16px}
.about-note{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#94a9b8;max-width:535px;margin:0 0 16px}
.brand-chamber{flex:0 0 32%;min-width:0;background:#172d3b;border:1px solid #ffffff0c;min-height:310px;padding:45px 38px 25px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden}
.brand-chamber::after{content:'';position:absolute;left:32px;right:32px;top:0;height:2px;background:#df293b}
.chamber-horse{width:158px;height:auto;opacity:.9;margin-bottom:27px}
.chamber-wordmark{width:210px;height:auto;max-width:100%;margin-bottom:29px}
.brand-chamber>span{font:500 8px/1.7 var(--display);letter-spacing:2px;color:#6f8798;text-align:center}

.areas.structured-section{background:#0d1c28}
.service-chapters{border-top:1px solid #304451}
.service-chapter{border-bottom:1px solid #304451;background:#112330}
.service-chapter:nth-child(2){background:#142735}
.service-chapter summary{list-style:none;display:flex;align-items:center;gap:26px;padding:29px 27px;cursor:pointer}
.service-chapter summary::-webkit-details-marker{display:none}
.chapter-number{color:#e9434b;font:500 11px var(--display);flex:0 0 30px}
.chapter-title{font:400 clamp(21px,2vw,28px)/1.4 var(--serif);flex:0 0 37%;letter-spacing:-.4px;color:#f4f6f8}
.chapter-summary{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#a9bac7;flex:1}
.chapter-toggle{width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:#dce5ec;border:1px solid #ffffff30;font-size:calc((20px) * var(--type-body-scale, 1));font-weight:400;flex-shrink:0;transition:transform .25s}
.service-chapter[open] .chapter-toggle{transform:rotate(45deg);color:#ff6671;border-color:#de4e5a}
.service-chapter summary:hover{background:#ffffff03}
.service-chapter summary:focus-visible{outline:2px solid #e9434b;outline-offset:-4px}
.chapter-body{padding:0 84px 28px;max-width:1040px;margin-left:auto}
.chapter-body p{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#aebfcb;margin:0 0 15px}
.chapter-body .chapter-scope{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.3px;text-transform:uppercase;color:#ef707b}

.projects.structured-section{background:#122633}
.projects.structured-section .project-controls{gap:8px;margin:0 0 26px;flex-wrap:wrap}
.projects.structured-section .filter-btn{padding:8px 16px;border:1px solid #425361;color:#acbdc9;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));background:none}
.projects.structured-section .filter-btn.active{background:#253c4c;color:#fff;border-color:#70828e}
.projects.structured-section .filter-btn:hover{background:#253c4c;color:#fff;border-color:#e9434b}
.projects.structured-section .project-list.project-gallery{display:grid;grid-template-columns:1.45fr 1fr;gap:24px 26px;align-items:start}
.gallery-featured{grid-row:span 2}
.gallery-project{min-width:0;background:#0d1d29;border:1px solid #ffffff0c}
.gallery-project[hidden]{display:none!important}
.gallery-visual{position:relative;overflow:hidden}
.gallery-visual .project-image-button{display:block;aspect-ratio:2.2;background:#1c303e;width:100%}
.gallery-featured .project-image-button{aspect-ratio:1.12}
.gallery-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .6s,filter .6s}
.gallery-visual .project-image-button::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#06152232 0%,transparent 30%,#061522d1 100%);pointer-events:none}
.gallery-visual .project-image-button:hover img{transform:scale(1.025);filter:saturate(.95)}
.gallery-open{position:absolute;z-index:3;right:20px;top:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff6b;background:#1024315c;color:white;font-size:calc((20px) * var(--type-body-scale, 1))}
.gallery-status{position:absolute;left:22px;top:24px;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.2px;text-transform:uppercase;color:#f4f6fa;pointer-events:none;z-index:2;background:#112b38a1;padding:4px 7px}
.gallery-overlay{position:absolute;inset:auto 24px 22px;pointer-events:none;color:white}
.gallery-overlay .project-location{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.4px;color:#c6d3dc;margin-bottom:7px}
.gallery-overlay h3{font:400 clamp(22px,2.1vw,32px)/1.35 var(--serif);margin:0 0 7px;letter-spacing:-.5px}
.gallery-featured .gallery-overlay h3{font-size:calc((clamp(28px,2.7vw,42px)) * var(--type-heading-scale, 1))}
.gallery-overlay>p:last-child{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#c3ced6;margin:0}
.gallery-caption{padding:17px 22px 11px}
.gallery-caption>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#b7c7d2;margin:0 0 10px}
.gallery-caption>span{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#6f899c;display:block}
.gallery-details{margin:0 22px 17px;border-top:1px solid #ffffff12;padding-top:9px}
.gallery-details summary{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#9eb7c9;cursor:pointer}
.gallery-details>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#b1c2ce;margin:14px 0 6px}
.gallery-details .link-arrow{border:0;border-bottom:1px solid #d3303e;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));cursor:pointer}
.projects.structured-section .project-footer{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#8199aa;gap:25px;margin-top:25px;align-items:center}
.projects.structured-section .project-footer>span{max-width:500px}
.projects.structured-section .empty-projects{color:#adbfca}

.approach.structured-section{background:#0d1c28}
.process-sequence{display:flex;border-top:1px solid #405363;padding-top:0;margin-top:36px;gap:0}
.process-item{flex:1;min-width:0;padding:32px 25px 22px;border-right:1px solid #ffffff13;position:relative;background:#112330}
.process-item:first-child{padding-left:0;background:none}
.process-item:last-child{border-right:0}
.process-item::before{content:'';position:absolute;left:25px;top:-2px;height:3px;width:38px;background:#dd3444}
.process-item:first-child::before{left:0}
.process-number{font:500 12px/1.5 var(--display);letter-spacing:1px;color:#df5262;display:block;margin-bottom:20px}
.process-item h3{font:500 16px/1.6 var(--display);letter-spacing:-.25px;color:#f0f4f7;margin:0 0 13px}
.process-item>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#9fb3c2;margin:0 0 18px}
.process-details summary{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#738fa3;line-height:1.9;cursor:pointer}
.process-details p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#b5c4cf;margin:14px 0 0}
.structured-action{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:23px}
.structured-action>span{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#708b9e;text-transform:uppercase;letter-spacing:1.4px}

.team.structured-section{background:#132735}
.expertise-band{display:flex;align-items:flex-start;gap:10%}
.expertise-heading{flex:0 0 43%;min-width:0}
.expertise-heading h2{margin-top:23px;font-size:calc((clamp(30px,3vw,43px)) * var(--type-heading-scale, 1))}
.expertise-heading>p{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#a9bdcb;max-width:490px;margin:0 0 17px}
.principles-compact{flex:1;border-top:1px solid #334b5a}
.principle-compact{display:flex;gap:23px;padding:23px 0;border-bottom:1px solid #334b5a}
.principle-compact>span{font:500 10px/1.7 var(--display);color:#ed6472;padding-top:3px;flex:0 0 22px}
.principle-compact h3{font:500 16px/1.5 var(--display);color:#eff4f8;margin:0 0 8px}
.principle-compact p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#9ab0c0;margin:0}

.contact.structured-section{background:#0d1c28;padding:77px 0}
.contact.structured-section .contact-layout{display:flex;gap:7%;align-items:flex-start}
.contact-editorial{flex:1;min-width:0;padding-top:3px}
.contact.structured-section h2{font-size:calc((clamp(32px,3.3vw,48px)) * var(--type-heading-scale, 1));margin:23px 0;line-height:1.35}
.contact.structured-section .contact-intro{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#9eb4c3;max-width:455px;margin-bottom:28px}
.contact.structured-section .contact-links{gap:9px;margin-bottom:27px}
.contact.structured-section .contact-links a{font:400 clamp(23px,2.4vw,35px)/1.5 var(--serif);color:#f1f6fa;letter-spacing:-.4px}
.contact.structured-section .contact-links a:last-child{font:400 clamp(20px,2.1vw,30px)/1.5 var(--serif);color:#afc4d3}
.contact.structured-section .contact-details{gap:28px;margin-top:31px;grid-template-columns:1fr 1fr}
.contact.structured-section .detail-label{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.5px;color:#69889e}
.contact.structured-section .contact-details p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#b3c6d3}
.contact.structured-section .map-link{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#91b3ca;border-color:#e04755}
.contact.structured-section .company-detail{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#6c889c;margin-top:24px}
.contact.structured-section .contact-signature::after{background:#ffffff17}
.contact.structured-section .contact-form{flex:0 0 48%;min-width:0;background:#172b38;border:1px solid #324553;padding:30px 32px}
.contact.structured-section .form-title{font:400 27px/1.5 var(--serif);letter-spacing:-.4px;color:#f6f8fa;margin:0 0 11px}
.contact.structured-section .form-explanation{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#8fa9bc;margin-bottom:27px}
.contact.structured-section .form-grid{gap:22px 20px}
.contact.structured-section .form-field label{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#bad0df;line-height:1.7}
.contact.structured-section .form-field input,.contact.structured-section .form-field textarea,.contact.structured-section .form-field select{border-bottom-color:#516575;color:#edf4f9;min-height:43px;font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));background:none;padding:10px 0}
.contact.structured-section .form-field input::placeholder,.contact.structured-section .form-field textarea::placeholder{color:#6d889d}
.contact.structured-section .form-field select{color-scheme:dark}
.contact.structured-section .form-field select option{background:#172b38;color:#edf4f9}
.contact.structured-section .form-field textarea{min-height:100px}
.contact.structured-section .consent{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#8fa9bc;margin:24px 0}
.contact.structured-section .consent input{accent-color:#d53645}
.contact.structured-section .inline-button{border-color:#6f899d;color:#bed0de}
.contact.structured-section .btn-dark{background:#d02c3e;border:1px solid #d02c3e;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));min-width:190px;min-height:48px}
.contact.structured-section .btn-dark:hover{background:#e33648}
.contact.structured-section .form-note{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#7894a8;line-height:1.8}
.contact.structured-section .form-status{border-color:#52697b;color:#b6ccdc;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}
.contact.structured-section .form-status a{color:#d2e4f1}
.contact.structured-section .nojs-details{color:#b3c6d3;border-color:#3b5466}
.contact.structured-section .nojs-details p{color:#a2bacb}

.footer.footer-structured{background:#091722;border-top:1px solid #203542;padding:38px 0 26px}
.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:42px;padding-bottom:26px;border-bottom:1px solid #ffffff14}
.footer-identity{flex:1;max-width:390px}
.footer.footer-structured .brand-red-on-dark .brand-logo{width:215px;height:auto}
.footer.footer-structured .footer-tagline{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#708da2;max-width:330px;margin:17px 0 0}
.footer.footer-structured .footer-nav{flex-wrap:wrap;gap:13px 24px;padding-top:5px;max-width:430px}
.footer.footer-structured .footer-nav a{font-size:calc((10px) * var(--type-nav-scale, 1));color:#9ab5c8}
.footer.footer-structured .footer-langs{padding-top:5px;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));gap:13px}
.footer.footer-structured .footer-langs a[aria-current]{color:#fff}
.footer.footer-structured .footer-bottom{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#638198;gap:24px;padding-top:21px}
.footer.footer-structured .footer-bottom .inline-button{color:#7594aa;border-color:#405e72}
.footer.footer-structured .risk-note{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#5c798f;margin-top:13px}
.modal{background:#142734;color:#eef5fa}
.modal p{color:#a6bfce}
.modal-meta{border-color:#395261}
.modal-close{background:#213b4d;color:#e7f3fb}
.privacy-modal .modal-close{color:#e7f3fb}
.modal .btn-dark{background:#d02c3e}
.mobile-menu.open,.nojs-navigation{background:#122634;color:#eef5fa}
.mobile-menu>a{border-color:#3c566a}
.mobile-menu .mobile-contact{color:#b5d1e3}

@media(max-width:1150px){
  .structured-section{padding:65px 0}.structured-heading{gap:35px}.structured-heading>p{flex-basis:300px;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.structured-section h2{font-size:calc((38px) * var(--type-heading-scale, 1))}
  .about.structured-section{padding:66px 0}.about-structured{gap:6%}.about-story h2{font-size:calc((40px) * var(--type-heading-scale, 1))}.about-lead{font-size:calc((14px) * var(--type-small-scale, var(--type-body-scale, 1)))}.brand-chamber{flex-basis:31%;padding:30px 23px;min-height:290px}
  .service-chapter summary{gap:18px;padding:24px}.chapter-title{flex-basis:34%;font-size:calc((25px) * var(--type-heading-scale, 1))}.chapter-summary{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.chapter-body{padding-inline:65px}
  .gallery-visual .project-image-button{aspect-ratio:1.8}.gallery-featured .project-image-button{aspect-ratio:.86}.gallery-overlay{inset:auto 20px 18px}.gallery-overlay h3{font-size:calc((25px) * var(--type-heading-scale, 1))}.gallery-featured .gallery-overlay h3{font-size:calc((34px) * var(--type-heading-scale, 1))}.gallery-caption{padding:15px 18px 10px}.gallery-details{margin-inline:18px}.gallery-caption>p{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .process-item{padding-inline:20px}.process-item::before{left:20px}.process-item h3{font-size:calc((15px) * var(--type-heading-scale, 1))}.process-item>p{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.expertise-band{gap:7%}
  .contact.structured-section .contact-layout{gap:5%}.contact.structured-section .contact-form{padding:26px}.contact.structured-section h2{font-size:calc((38px) * var(--type-heading-scale, 1))}.contact.structured-section .form-title{font-size:calc((25px) * var(--type-heading-scale, 1))}.footer-main{gap:27px}
}
@media(max-width:850px){
  .structured-section{padding:59px 0}.structured-section h2{font-size:calc((34px) * var(--type-heading-scale, 1))}.structured-heading{gap:30px;margin-bottom:27px}.structured-heading>p{flex-basis:265px;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .about-structured{gap:6%}.about-story h2{font-size:calc((33px) * var(--type-heading-scale, 1))}.about-lead{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)))}.brand-chamber{flex-basis:30%;min-height:250px;padding:26px 18px}.chamber-horse{width:125px;margin-bottom:20px}.chamber-wordmark{width:180px;margin-bottom:19px}.brand-chamber>span{font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.4px}
  .service-chapter summary{flex-wrap:wrap;gap:13px 17px;padding:23px 22px}.chapter-number{flex-basis:25px}.chapter-title{flex:1;font-size:calc((25px) * var(--type-heading-scale, 1))}.chapter-toggle{width:26px;height:26px}.chapter-summary{flex:0 0 calc(100% - 42px);margin-left:42px;order:4;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:550px}.chapter-body{padding:0 35px 25px 64px}
  .projects.structured-section .project-list.project-gallery{gap:20px}.gallery-visual .project-image-button{aspect-ratio:1.4}.gallery-featured .project-image-button{aspect-ratio:.65}.gallery-overlay h3{font-size:calc((23px) * var(--type-heading-scale, 1))}.gallery-featured .gallery-overlay h3{font-size:calc((28px) * var(--type-heading-scale, 1))}.gallery-overlay .project-location{font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)))}.gallery-status{left:15px;top:18px;font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)))}.gallery-open{right:15px;top:16px;width:28px;height:28px}.gallery-overlay{inset:auto 15px 17px}.gallery-caption{padding:13px 15px 9px}.gallery-details{margin-inline:15px}
  .process-sequence{flex-wrap:wrap;border:0;gap:20px}.process-item,.process-item:first-child{flex:0 0 calc(50% - 10px);padding:23px;border-top:1px solid #405363;background:#112330;border-right:0}.process-item::before,.process-item:first-child::before{left:23px}.process-item>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.process-item h3{font-size:calc((16px) * var(--type-heading-scale, 1))}
  .expertise-heading{flex-basis:43%}.expertise-heading>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.principle-compact{gap:17px}.principle-compact h3{font-size:calc((14px) * var(--type-heading-scale, 1))}.principle-compact p{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .contact.structured-section .contact-layout{gap:5%}.contact.structured-section .contact-form{padding:23px;flex-basis:48%}.contact.structured-section h2{font-size:calc((33px) * var(--type-heading-scale, 1))}.contact.structured-section .contact-intro{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact.structured-section .contact-links a{font-size:calc((24px) * var(--type-body-scale, 1))}.contact.structured-section .contact-links a:last-child{font-size:calc((21px) * var(--type-body-scale, 1))}.contact.structured-section .form-grid{grid-template-columns:1fr;gap:20px}.contact.structured-section .contact-details{grid-template-columns:1fr;gap:20px}.contact.structured-section .form-title{font-size:calc((23px) * var(--type-heading-scale, 1))}
  .footer.footer-structured .footer-nav{max-width:270px;gap:12px 20px}.footer.footer-structured .brand-red-on-dark .brand-logo{width:185px}
}
@media(max-width:650px){
  .structured-section{padding:47px 0}.structured-section .section-label{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.4px}.structured-section h2{font-size:calc((clamp(28px,7.6vw,35px)) * var(--type-heading-scale, 1));line-height:1.43;letter-spacing:-.6px}.structured-heading{display:block;margin-bottom:25px}.structured-heading>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;margin-top:17px;max-width:400px}.structured-section .link-arrow{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));gap:22px}
  .about.structured-section{padding:47px 0}.about-structured{display:block}.about-story h2{font-size:calc((clamp(29px,8vw,37px)) * var(--type-heading-scale, 1))}.about-lead{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)))}.about-note{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.brand-chamber{min-height:0;max-width:none;width:100%;padding:28px 23px 20px;margin-top:30px;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:15px}.chamber-horse{width:82px;margin:0}.chamber-wordmark{width:180px;max-width:calc(100% - 107px);margin:0}.brand-chamber>span{flex:0 0 100%;padding-top:8px;font-size:calc((7px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .service-chapter summary{padding:22px 18px;gap:12px}.chapter-number{flex-basis:20px;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}.chapter-title{font-size:calc((22px) * var(--type-heading-scale, 1));line-height:1.4}.chapter-toggle{width:24px;height:24px;font-size:calc((18px) * var(--type-body-scale, 1))}.chapter-summary{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));flex-basis:calc(100% - 32px);margin-left:32px;max-width:none}.chapter-body{padding:0 20px 24px}.chapter-body p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9}.chapter-body .chapter-scope{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1px}
  .projects.structured-section .project-controls{gap:6px;margin-bottom:20px}.projects.structured-section .filter-btn{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));padding:7px 12px}.projects.structured-section .project-list.project-gallery{display:flex;flex-direction:column;gap:22px}.gallery-project{width:100%}.gallery-visual .project-image-button,.gallery-featured .project-image-button{aspect-ratio:1.43}.gallery-featured .gallery-overlay h3,.gallery-overlay h3{font-size:calc((29px) * var(--type-heading-scale, 1))}.gallery-overlay{inset:auto 20px 20px}.gallery-status{left:19px;top:19px}.gallery-open{right:19px;top:17px}.gallery-overlay .project-location{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.gallery-caption{padding:16px 20px 10px}.gallery-caption>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.gallery-caption>span{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.gallery-details{margin-inline:20px}.gallery-details summary{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}.gallery-details>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.projects.structured-section .project-footer{flex-direction:column;align-items:flex-start;gap:9px;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));margin-top:23px}
  .process-sequence{gap:17px;margin-top:25px}.process-item,.process-item:first-child{flex-basis:100%;display:grid;grid-template-columns:35px 1fr;column-gap:14px;padding:23px 20px}.process-item::before,.process-item:first-child::before{left:20px;width:31px}.process-number{grid-row:span 3;margin:0;padding-top:3px}.process-item h3{font-size:calc((16px) * var(--type-heading-scale, 1));margin-bottom:10px}.process-item>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));margin-bottom:12px}.process-details{grid-column:2}.structured-action{display:block;margin-top:18px}.structured-action>span{display:block;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));margin-bottom:9px}
  .expertise-band{display:block}.expertise-heading>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.principles-compact{margin-top:26px}.principle-compact{padding:21px 0;gap:15px}.principle-compact h3{font-size:calc((15px) * var(--type-heading-scale, 1))}.principle-compact p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .contact.structured-section{padding:49px 0}.contact.structured-section .contact-layout{display:block}.contact.structured-section h2{font-size:calc((clamp(30px,8.2vw,38px)) * var(--type-heading-scale, 1))}.contact.structured-section .contact-intro{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact.structured-section .contact-links a{font-size:calc((28px) * var(--type-body-scale, 1))}.contact.structured-section .contact-links a:last-child{font-size:calc((24px) * var(--type-body-scale, 1))}.contact.structured-section .contact-details{grid-template-columns:1fr 1fr;gap:18px}.contact.structured-section .contact-details p{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact.structured-section .detail-label{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact.structured-section .company-detail{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact.structured-section .contact-form{margin-top:31px;padding:24px 20px}.contact.structured-section .form-title{font-size:calc((26px) * var(--type-heading-scale, 1))}.contact.structured-section .form-field input,.contact.structured-section .form-field textarea,.contact.structured-section .form-field select{font-size:calc((16px) * var(--type-body-scale, 1))}.contact.structured-section .form-field label{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact.structured-section .form-explanation{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact.structured-section .consent{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact.structured-section .btn-dark{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));min-width:190px}
  .footer.footer-structured{padding:31px 0 23px}.footer-main{flex-wrap:wrap;gap:22px;padding-bottom:23px}.footer-identity{flex-basis:100%;max-width:none}.footer.footer-structured .brand-red-on-dark .brand-logo{width:205px}.footer.footer-structured .footer-tagline{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:330px;margin-top:13px}.footer.footer-structured .footer-nav{flex:1;max-width:250px;gap:12px 18px}.footer.footer-structured .footer-nav a{font-size:calc((9px) * var(--type-nav-scale, 1))}.footer.footer-structured .footer-langs{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));gap:12px}.footer.footer-structured .footer-bottom{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));gap:13px}.footer.footer-structured .risk-note{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}
}
@media(max-width:380px){.brand-chamber{gap:10px;padding-inline:17px}.chamber-horse{width:70px}.chamber-wordmark{max-width:calc(100% - 85px)}.gallery-overlay h3,.gallery-featured .gallery-overlay h3{font-size:calc((26px) * var(--type-heading-scale, 1))}.chapter-title{font-size:calc((20px) * var(--type-heading-scale, 1))}.contact.structured-section .contact-links a:last-child{font-size:calc((22px) * var(--type-body-scale, 1))}}

/* Light/dark rhythm. The approved hero, services, quote and expertise keep their original styling. */
.theme-light{--light-ink:#172d3b;--light-muted:#566b7a;--light-line:#d9e2e8;color:var(--light-ink);border-top-color:#e7edf1}
.structured-section.theme-light{background:#fff}
.theme-light .section-label{color:#647989}
.theme-light .section-label>span{color:#cf3042}
.structured-section.theme-light h2{color:var(--light-ink)}
.structured-section.theme-light h2 span{color:#627b8c}
.theme-light .structured-heading>p{color:var(--light-muted)}
.structured-section.theme-light .link-arrow{color:var(--light-ink);border-color:#d3303e}
.structured-section.theme-light .link-arrow:hover{color:#c9263c}

/* The same asymmetric photographic gallery, now resting on white. */
.projects.structured-section.theme-light{background:#fff}
.projects.theme-light .filter-btn{color:#617787;border-color:#cbd7df}
.projects.theme-light .filter-btn.active{color:#fff;background:#172d3b;border-color:#172d3b}
.projects.theme-light .filter-btn:hover{color:#fff;background:#263f50;border-color:#263f50}
.projects.theme-light .gallery-project{background:#fff;border-color:#dfe7ec}
.projects.theme-light .gallery-caption>p{color:#526b7b}
.projects.theme-light .gallery-caption>span{color:#748895}
.projects.theme-light .gallery-details{border-top-color:#e1e8ec}
.projects.theme-light .gallery-details summary{color:#4f697b}
.projects.theme-light .gallery-details>p{color:#566d7d}
.projects.theme-light .project-footer{color:#6b808e}
.projects.theme-light .empty-projects{color:#566d7d}

/* Pearl-gray is deliberately cool, never beige. Preserve the four-stage sequence. */
.approach.structured-section.theme-light{background:#f2f5f7}
.approach.theme-light .process-sequence{border-top-color:#cbd6de}
.approach.theme-light .process-item,.approach.theme-light .process-item:first-child{background:#fff;border-right-color:#dbe4ea;border-top-color:#cbd6de}
.approach.theme-light .process-number{color:#c93547}
.approach.theme-light .process-item h3{color:#203b4b}
.approach.theme-light .process-item>p,.approach.theme-light .process-details p{color:#5a7181}
.approach.theme-light .process-details summary{color:#657e8f}
.approach.theme-light .structured-action>span{color:#778f9f}

/* Preserve the form's field structure and red CTA; correct its light-theme contrast. */
.contact.structured-section.theme-light{background:#fff}
.contact.theme-light .contact-intro{color:#607888}
.contact.theme-light .contact-links a{color:#172d3b}
.contact.theme-light .contact-links a:last-child{color:#4d6e83}
.contact.theme-light .detail-label{color:#7a92a2}
.contact.theme-light .contact-details p{color:#526d7d}
.contact.theme-light .map-link{color:#3f637b}
.contact.theme-light .company-detail{color:#7c92a1}
.contact.theme-light .contact-signature::after{background:#dfe7ec}
.contact.theme-light .contact-form{background:#f8fafb;border-color:#d6e0e7}
.contact.theme-light .form-title{color:#172d3b}
.contact.theme-light .form-explanation{color:#6b8293}
.contact.theme-light .form-field label{color:#475f72}
.contact.theme-light .form-field input,.contact.theme-light .form-field textarea,.contact.theme-light .form-field select{color:#203c4e;border-bottom-color:#bdccd7}
.contact.theme-light .form-field input::placeholder,.contact.theme-light .form-field textarea::placeholder{color:#859baa}
.contact.theme-light .form-field select{color-scheme:light}
.contact.theme-light .form-field select option{color:#203c4e;background:#fff}
.contact.theme-light .consent{color:#607889}
.contact.theme-light .inline-button{color:#466b83;border-color:#7d9bad}
.contact.theme-light .form-note{color:#7890a0}
.contact.theme-light .form-status{color:#446a84;border-color:#bbcfdd}
.contact.theme-light .form-status a{color:#234d69}
.contact.theme-light .nojs-details{color:#516c7f;border-color:#c9d8e2}
.contact.theme-light .nojs-details p{color:#59768a}

/* New company signature: typographic white composition, no dark boxed badge. */
.about.structured-section.about-signature{padding:75px 0 69px;background:#fff}
.about-heading{display:flex;justify-content:space-between;align-items:center;gap:7%;padding-bottom:36px;border-bottom:1px solid #dce5eb}
.about-heading-copy{flex:1;min-width:0}
.about-heading h2{font-size:calc((clamp(34px,3.5vw,52px)) * var(--type-heading-scale, 1));max-width:780px;margin-bottom:0}
.about-signature-mark{flex:0 0 24%;min-width:0;display:flex;align-items:center;justify-content:center;position:relative}
.about-signature-mark img{width:230px;max-width:100%;height:auto}
.about-narrative{display:flex;align-items:flex-start;gap:70px;padding-top:35px}
.about-origin{flex:0 0 24%;padding-right:25px;border-left:2px solid #d22e42;padding-left:22px}
.origin-year{display:block;font:400 clamp(35px,3.6vw,53px)/1.2 var(--serif);color:#172d3b;letter-spacing:-1.5px;margin-bottom:12px}
.about-origin>p{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;letter-spacing:.5px;color:#788c9a;margin:0;max-width:170px}
.about-narrative-copy{flex:1;min-width:0;max-width:820px}
.about-signature .about-lead{max-width:none;color:#536b7c;font-size:calc((14px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;margin:0 0 16px}
.about-signature .about-note{color:#8497a5;font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;max-width:720px;margin:0 0 14px}
.about-signature .link-arrow{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));margin:0}

/* Independent footer brand signature, rather than another section card. */
.footer.footer-balanced{background:#0b1b27;border-top:1px solid #263e4e;padding:52px 0 28px}
.footer-signature{display:flex;justify-content:space-between;align-items:flex-start;gap:8%;padding-bottom:35px;border-bottom:1px solid #2b4251}
.footer-brand-column{flex:1;max-width:550px;min-width:0}
.footer.footer-balanced .brand-red-on-dark .brand-logo{width:clamp(230px,29vw,410px);height:auto;max-width:100%}
.footer.footer-balanced .footer-tagline{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#809aaf;max-width:470px;margin:25px 0 0}
.footer-navigation-column{flex:0 0 36%;min-width:0;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-top:2px}
.footer.footer-balanced .footer-nav{display:flex;flex-direction:column;flex-wrap:nowrap;gap:12px;max-width:none;padding-top:0}
.footer.footer-balanced .footer-nav a{font-size:calc((11px) * var(--type-nav-scale, 1));color:#a0b9cd}
.footer.footer-balanced .footer-nav a:hover{color:#fff}
.footer.footer-balanced .footer-langs{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));padding-top:0;gap:16px}
.footer.footer-balanced .footer-langs a[aria-current]{color:#fff}
.footer-contact-strip{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 0;border-bottom:1px solid #243c4c;color:#829eb4}
.footer-contact-strip a{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#b0c9db}
.footer-contact-strip a:hover{color:#fff}
.footer-contact-strip p{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;margin:0;color:#6d8ba2}
.footer.footer-balanced .footer-bottom{padding-top:23px;color:#637f95;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;gap:24px}
.footer.footer-balanced .footer-bottom .inline-button{color:#809eb5;border-color:#38566d}
.footer.footer-balanced .risk-note{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#59788f;margin-top:15px}

@media(max-width:1150px){
  .about.structured-section.about-signature{padding:65px 0 60px}.about-heading{gap:6%;padding-bottom:29px}.about-heading h2{font-size:calc((42px) * var(--type-heading-scale, 1))}.about-signature-mark img{width:200px}.about-narrative{gap:50px;padding-top:29px}.about-signature .about-lead{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)))}.origin-year{font-size:calc((43px) * var(--type-body-scale, 1))}
  .footer-navigation-column{flex-basis:38%;gap:25px}.footer-signature{gap:7%}.footer.footer-balanced .footer-tagline{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:410px}.footer-contact-strip{gap:25px}
}
@media(max-width:850px){
  .about-heading h2{font-size:calc((36px) * var(--type-heading-scale, 1))}.about-signature-mark{flex-basis:23%}.about-signature-mark img{width:160px}.about-narrative{gap:35px}.about-origin{flex-basis:23%;padding-left:18px;padding-right:0}.origin-year{font-size:calc((39px) * var(--type-body-scale, 1))}.about-origin>p{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.about-signature .about-note{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .footer.footer-balanced{padding-top:43px}.footer-signature{gap:7%}.footer-navigation-column{flex-basis:40%;gap:20px}.footer.footer-balanced .footer-nav a{font-size:calc((10px) * var(--type-nav-scale, 1))}.footer.footer-balanced .footer-langs{gap:12px;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer-contact-strip a{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer-contact-strip p{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:220px}
}
@media(max-width:650px){
  .about.structured-section.about-signature{padding:47px 0}.about-heading{display:block;padding-bottom:25px}.about-heading h2{font-size:calc((clamp(29px,8vw,37px)) * var(--type-heading-scale, 1));line-height:1.43}.about-signature-mark{justify-content:flex-start;padding-top:25px}.about-signature-mark img{width:150px}.about-narrative{gap:24px;padding-top:26px;display:block}.about-origin{display:flex;align-items:center;gap:20px;border-left:2px solid #d22e42;padding:0 0 0 18px;margin-bottom:25px}.origin-year{font-size:calc((38px) * var(--type-body-scale, 1));letter-spacing:-1px;margin:0;flex-shrink:0}.about-origin>p{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:185px;line-height:1.7}.about-signature .about-lead{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)))}.about-signature .about-note{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .footer.footer-balanced{padding:38px 0 24px}.footer-signature{display:block;padding-bottom:28px}.footer-brand-column{max-width:none}.footer.footer-balanced .brand-red-on-dark .brand-logo{width:255px;max-width:90%}.footer.footer-balanced .footer-tagline{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));margin-top:18px;max-width:350px}.footer-navigation-column{margin-top:29px;justify-content:space-between;gap:28px}.footer.footer-balanced .footer-nav{gap:11px}.footer.footer-balanced .footer-nav a{font-size:calc((10px) * var(--type-nav-scale, 1))}.footer.footer-balanced .footer-langs{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));gap:15px}.footer-contact-strip{flex-wrap:wrap;gap:15px 26px;padding:22px 0}.footer-contact-strip a{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer-contact-strip p{flex:0 0 100%;max-width:none;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));margin:0}.footer.footer-balanced .footer-bottom{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));gap:13px;padding-top:20px}.footer.footer-balanced .risk-note{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}
}

/* Keep small informational text readable on white, not pale decorative gray. */
.theme-light .section-label,.projects.theme-light .gallery-caption>span,.projects.theme-light .project-footer,.approach.theme-light .process-details summary,.approach.theme-light .structured-action>span,.about-signature .about-note,.about-origin>p{color:#607889}
.contact.theme-light .detail-label,.contact.theme-light .company-detail,.contact.theme-light .form-note{color:#607889}
.contact.theme-light .form-explanation,.contact.theme-light .form-field input::placeholder,.contact.theme-light .form-field textarea::placeholder,.contact.theme-light .consent{color:#566b7a}
.footer-contact-strip address{font-style:normal;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#7895ab}
@media(max-width:650px){.footer-contact-strip address{flex:0 0 100%;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}}

/* Exact approved Our Approach tone: replace white surfaces, not their layouts. */
:root{--surface-blue:#f2f5f7}
.site-header,.language-list,.skip-link{background:var(--surface-blue)}
.language-list a:hover,.language-list a[aria-current]{background:#e5edf2}
.structured-section.theme-light,.projects.structured-section.theme-light,.contact.structured-section.theme-light{background:var(--surface-blue)}
.projects.theme-light .gallery-project,.approach.theme-light .process-item,.approach.theme-light .process-item:first-child,.contact.theme-light .form-field select option{background:var(--surface-blue)}

/* A company dossier, not a second hero: calm brand rail + concise narrative. */
.about.structured-section.about-dossier{padding:68px 0;background:var(--surface-blue)}
.dossier-layout{display:flex;align-items:center;gap:8%}
.dossier-identity{flex:0 0 28%;min-width:0;align-self:stretch;border-right:1px solid #cedae3;padding-right:12%;display:flex;flex-direction:column;justify-content:space-between}
.dossier-identity .section-label{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1.4px;white-space:nowrap}
.dossier-logo{width:160px;height:auto;max-width:100%;margin:34px 0 28px}
.dossier-history{display:flex;align-items:center;gap:15px}
.dossier-history>span{font:500 18px/1.4 var(--display);color:#283f4f;border-right:1px solid #c8d5df;padding-right:15px}
.dossier-history>p{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.7;color:#647d8e;margin:0;max-width:110px}
.dossier-story{flex:1;min-width:0}
.about-dossier.structured-section h2{font:400 clamp(29px,2.8vw,42px)/1.4 var(--serif);letter-spacing:-.7px;color:#172d3b;margin:0 0 21px;text-wrap:balance;max-width:720px}
.dossier-lead{font-size:calc((15px) * var(--type-body-scale, 1));line-height:1.95;color:#526b7c;max-width:730px;margin:0 0 16px}
.dossier-note{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#627b8d;max-width:650px;margin:0 0 22px}
.dossier-actions{display:flex;align-items:flex-start;gap:34px;flex-wrap:wrap}
.dossier-actions>.link-arrow{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));padding:11px 0}
.dossier-details{flex:1;min-width:140px;max-width:630px;padding-top:12px}
.dossier-details summary{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#657f91;cursor:pointer;line-height:1.8}
.dossier-details p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#526d80;margin:15px 0 0}

/* Left-hand contact console only: the approved form keeps its original geometry. */
.contact-refined .contact-console{padding-top:3px}
.contact-refined.structured-section h2{font:400 clamp(29px,2.7vw,39px)/1.4 var(--serif);max-width:485px;color:#172d3b;margin:21px 0 18px;letter-spacing:-.6px;text-wrap:balance}
.contact-console-intro{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#607889;max-width:440px;margin:0 0 24px}
.contact-channel-list{border-top:1px solid #cbd8e2;margin:0 0 26px}
.contact-channel{display:flex;align-items:center;gap:17px;padding:17px 0;border-bottom:1px solid #cbd8e2;transition:padding-left .2s,color .2s;min-width:0}
.contact-channel:hover{padding-left:5px;color:#c52e42}
.channel-index{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#cf3b4d;flex:0 0 20px}
.channel-copy{flex:1;min-width:0}
.channel-label{display:block;text-transform:uppercase;letter-spacing:1.1px;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.5;color:#708898;margin-bottom:5px}
.channel-copy strong{font:500 clamp(17px,1.6vw,22px)/1.6 var(--display);color:#234253;letter-spacing:-.25px;overflow-wrap:anywhere}
.contact-channel>.arrow{font-size:calc((24px) * var(--type-body-scale, 1));color:#728c9f;flex-shrink:0}
.contact-channel:hover>.arrow{color:#c52e42;transform:translate(2px,-2px)}
.contact-location-panel{background:#e7eef3;border:1px solid #d5e0e8;border-top:2px solid #c93549;padding:23px 25px 18px}
.location-panel-top{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:19px}
.contact-refined .location-panel-top .detail-label,.contact-refined .location-hours .detail-label{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#647e90;letter-spacing:1.3px}
.location-panel-top address{font-style:normal;font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#365569;margin-top:9px}
.location-map{display:flex;align-items:center;justify-content:center;width:37px;height:37px;flex-shrink:0;border:1px solid #bbccd8;color:#55798f;background:none}
.location-map:hover{border-color:#cf3b4d;color:#cf3b4d}
.location-hours{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-top:17px;border-top:1px solid #ccdae4}
.location-hours p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#365569;margin:0;text-align:right}
.location-registration{border-top:1px solid #ccdae4;margin:17px 0 0;padding-top:13px;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#688396}

/* Quiet ending: small original lockup and horizontal links, not a giant billboard. */
.footer.footer-refined{background:#0b1b27;border-top:1px solid #263e4e;padding:31px 0 23px}
.footer-refined-top{display:flex;align-items:center;justify-content:space-between;gap:33px;padding-bottom:25px;border-bottom:1px solid #243c4c}
.footer-refined-brand{flex:0 0 auto}
.footer-refined-brand .brand-logo{width:175px;height:auto}
.footer-refined-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;flex:1}
.footer-refined-nav a{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#a0b8c9;white-space:nowrap}
.footer-refined-nav a:hover{color:#fff}
.footer-refined-langs{display:flex;gap:14px;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));flex-shrink:0;color:#8da7ba}
.footer-refined-langs a[aria-current]{color:#fff}
.footer-refined-info{display:flex;align-items:flex-start;justify-content:space-between;gap:50px;padding:22px 0}
.footer-refined-info>p{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#728ea3;max-width:470px;margin:0}
.footer-refined-contact{display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.footer-refined-contact a{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#93afc3;line-height:1.9}
.footer-refined-contact address{font-style:normal;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#718da3}
.footer-refined-legal{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #233b4b;padding-top:17px;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.8;color:#7692a7}
.footer-refined-legal .inline-button{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));color:#85a1b5;border-color:#39566c}
.footer-refined-legal .back-to-top{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));white-space:nowrap}
.footer-refined-legal .arrowup{font-size:calc((15px) * var(--type-body-scale, 1));padding-left:10px;color:#8ca6b9}
.footer-refined .risk-note{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9;color:#6d889d;margin-top:13px}

@media(max-width:1150px){
  .dossier-identity{flex-basis:29%;padding-right:8%}.dossier-layout{gap:6%}.dossier-logo{width:145px}.dossier-lead{font-size:calc((14px) * var(--type-small-scale, var(--type-body-scale, 1)))}.about-dossier.structured-section h2{font-size:calc((36px) * var(--type-heading-scale, 1))}.dossier-actions{gap:23px}
  .contact-refined.structured-section h2{font-size:calc((33px) * var(--type-heading-scale, 1))}.contact-console-intro{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact-location-panel{padding:21px}.channel-copy strong{font-size:calc((19px) * var(--type-body-scale, 1))}.location-panel-top address{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .footer-refined-top{gap:24px}.footer-refined-nav{gap:10px 19px}.footer-refined-brand .brand-logo{width:155px}.footer-refined-info{gap:30px}.footer-refined-contact{gap:15px}
}
@media(max-width:850px){
  .about.structured-section.about-dossier{padding:58px 0}.dossier-identity .section-label{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));letter-spacing:1px;white-space:normal}.dossier-identity{padding-right:6%}.dossier-logo{width:125px;margin:27px 0}.dossier-history{display:block}.dossier-history>span{border:0;padding:0;font-size:calc((17px) * var(--type-body-scale, 1))}.dossier-history>p{max-width:none;margin-top:5px;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.about-dossier.structured-section h2{font-size:calc((31px) * var(--type-heading-scale, 1))}.dossier-lead{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)))}.dossier-note{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.dossier-actions{gap:15px}.dossier-actions>.link-arrow{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .contact-refined.structured-section h2{font-size:calc((29px) * var(--type-heading-scale, 1))}.contact-console-intro{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.channel-copy strong{font-size:calc((16px) * var(--type-body-scale, 1))}.contact-channel{gap:12px;padding:16px 0}.channel-index{flex-basis:15px}.contact-channel>.arrow{font-size:calc((21px) * var(--type-body-scale, 1))}.contact-location-panel{padding:18px}.location-panel-top address{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.location-hours{display:block}.location-hours p{text-align:left;margin-top:8px}.location-registration{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .footer-refined-top{gap:20px;flex-wrap:wrap}.footer-refined-brand .brand-logo{width:145px}.footer-refined-nav{gap:10px 15px}.footer-refined-nav a{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer-refined-info{gap:25px}.footer-refined-info>p{max-width:320px}.footer-refined-contact{max-width:300px;gap:10px 18px}.footer-refined-contact address{width:100%;text-align:right}
}
@media(max-width:650px){
  .about.structured-section.about-dossier{padding:44px 0}.dossier-layout{display:block}.dossier-identity{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid #ccdae4;padding:0 0 23px;gap:20px;position:relative}.dossier-identity .section-label{flex:0 0 100%;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.dossier-logo{width:85px;margin:0;flex-shrink:0}.dossier-history{display:flex;gap:13px}.dossier-history>span{font-size:calc((17px) * var(--type-body-scale, 1));border-right:1px solid #c8d5df;padding-right:13px}.dossier-history>p{margin:0;max-width:105px;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.dossier-story{padding-top:24px}.about-dossier.structured-section h2{font-size:calc((clamp(27px,7.4vw,33px)) * var(--type-heading-scale, 1));line-height:1.45;margin-bottom:17px}.dossier-lead{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.9}.dossier-note{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));margin-bottom:16px}.dossier-actions{display:block}.dossier-details{padding-top:16px}.dossier-details summary{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}.dossier-details p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}
  .contact-refined.structured-section h2{font-size:calc((clamp(28px,7.5vw,34px)) * var(--type-heading-scale, 1));margin-top:20px}.contact-console-intro{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));max-width:none}.channel-copy strong{font-size:calc((19px) * var(--type-body-scale, 1))}.channel-label{font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact-channel{gap:16px;padding:16px 0}.channel-index{flex-basis:17px}.contact-location-panel{padding:22px}.location-panel-top address{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}.location-hours{display:flex;gap:20px}.location-hours p{text-align:right;margin:0;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)))}.location-registration{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.contact-channel-list{margin-bottom:24px}
  .footer.footer-refined{padding:28px 0 23px}.footer-refined-top{align-items:center;gap:22px;padding-bottom:22px}.footer-refined-brand .brand-logo{width:150px}.footer-refined-langs{order:2;margin-left:auto;gap:14px}.footer-refined-nav{order:3;flex:0 0 100%;justify-content:flex-start;gap:10px 21px}.footer-refined-nav a{font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer-refined-info{display:block;padding:19px 0}.footer-refined-info>p{max-width:none;font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));margin:0 0 16px}.footer-refined-contact{justify-content:flex-start;max-width:none;gap:11px 22px}.footer-refined-contact a{font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)))}.footer-refined-contact address{text-align:left;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));width:100%}.footer-refined-legal{flex-wrap:wrap;gap:12px;font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));padding-top:18px}.footer-refined-legal>span{flex:0 0 100%}.footer-refined-legal .back-to-top{margin-left:auto}.footer-refined .risk-note{margin-top:12px}
}

/* The form's near-white surface follows the same unified light-blue tone. */
.contact.theme-light .contact-form{background:var(--surface-blue)}

.footer.footer-refined .brand-original .brand-logo{width:175px;height:auto}
@media(max-width:1150px){.footer.footer-refined .brand-original .brand-logo{width:155px}}
@media(max-width:850px){.footer.footer-refined .brand-original .brand-logo{width:145px}}
@media(max-width:650px){.footer.footer-refined .brand-original .brand-logo{width:150px}}

/* Home gallery: the new page link sits directly below the right-hand introduction. */
.structured-heading>.projects-heading-copy{flex:0 1 355px;min-width:0;align-self:flex-end}
.projects-heading-copy>p{font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));line-height:1.85;color:#526b7c;margin:0 0 20px}
.projects-heading-copy>.all-projects-link{background:#172e3b;color:#f2f5f7;border-color:#172e3b;font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));padding:12px 18px;min-height:44px;gap:30px}
.projects-heading-copy>.all-projects-link:hover{background:#28495c;border-color:#28495c}
.header-contact[aria-current="page"]{color:#bc2e43}
@media(max-width:850px){.structured-heading>.projects-heading-copy{flex-basis:290px}.projects-heading-copy>p{font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)))}}
@media(max-width:650px){.structured-heading>.projects-heading-copy{flex:auto;align-self:stretch;margin-top:16px}.projects-heading-copy>p{margin-bottom:17px}.projects-heading-copy>.all-projects-link{font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));min-height:44px}}

/* Only Projects: Contacts must remain reachable in the compact desktop header. */
.page-projects .site-header .project-header-contact{display:none}
.page-projects .main-nav>.nav-contact{color:#a92b3e}
.page-projects .main-nav>.nav-contact:hover{color:#c93147}
@media(max-width:850px) and (min-width:651px){.page-projects .site-header .main-nav{gap:12px}.page-projects .site-header .main-nav>a{font-size:calc((9px) * var(--type-nav-scale, 1))}.page-projects .site-header .header-inner{gap:18px}}
@media(max-width:650px){
 .page-projects .site-header .header-inner{gap:14px}
 .page-projects .site-header .header-actions{gap:12px}
 .page-projects .site-header .project-header-contact{display:flex;font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));gap:0;min-height:32px;white-space:nowrap}
 .page-projects .project-header-contact .arrow{display:none}
}
@media(max-width:375px){.page-projects .site-header .brand-logo{width:135px}.page-projects .site-header .header-actions{gap:10px}}

/* Owner's latest refinements: distinct blue form panel and a single right-hand nav group. */
.contact.structured-section.theme-light .contact-form{background:#e3edf5;border-color:#c2d5e4}
.contact.theme-light .contact-form .form-field input,
.contact.theme-light .contact-form .form-field textarea,
.contact.theme-light .contact-form .form-field select{background-color:transparent}
.contact.theme-light .contact-form .form-field select option{background:#e3edf5}
.site-header .header-inner{justify-content:flex-start;gap:24px}
.site-header .header-inner .main-nav{margin-left:auto;justify-content:flex-end;gap:25px}
.site-header .header-inner .header-actions{gap:16px}
.site-header .main-nav>.nav-contact{color:#a92b3e}
.site-header .main-nav>.nav-contact:hover,.site-header .main-nav>.nav-contact.active{color:#c93147}
.site-header .header-actions .mobile-header-contact{display:none}
@media(max-width:1150px){
 .site-header .header-inner{gap:20px}
 .site-header .header-inner .main-nav{gap:18px}
}
@media(max-width:850px) and (min-width:651px){
 .site-header .header-inner{gap:17px}
 .site-header .header-inner .main-nav{gap:12px}
 .site-header .header-inner .main-nav>a{font-size:calc((9px) * var(--type-nav-scale, 1))}
}
@media(max-width:650px){
 .site-header .header-inner{gap:14px}
 .site-header .header-inner .header-actions{margin-left:auto;gap:12px}
 .site-header .header-actions .mobile-header-contact{display:flex;font-size:calc((9px) * var(--type-nav-scale, 1));gap:0;min-height:32px;white-space:nowrap}
 .site-header .mobile-header-contact .arrow{display:none}
}
@media(max-width:375px){.site-header .brand-logo{width:135px}.site-header .header-inner .header-actions{gap:10px}}

/* 07 Nov: reference composition restored ONLY inside the home About section. */
#about.about-reference {
  background: #e5edf4;
  padding: 82px 0;
}
#about.about-reference .about-reference-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8%;
}
#about.about-reference .about-reference-story {
  flex: 0 1 590px;
  min-width: 0;
}
#about.about-reference .section-label {
  color: #587083;
  font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  letter-spacing: 1.6px;
  margin-bottom: 24px;
}
#about.about-reference h2 {
  max-width: 510px;
  color: #172d3b;
  font: 400 clamp(34px, 3.5vw, 52px)/1.24 var(--serif);
  letter-spacing: -0.8px;
  margin: 0 0 26px;
  text-wrap: balance;
}
#about.about-reference h2 span { color: #526e82; }
#about.about-reference .about-reference-lead {
  color: #3d596e;
  font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.95;
  max-width: 580px;
  margin: 0 0 18px;
}
#about.about-reference .about-reference-note {
  color: #536e82;
  font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.9;
  max-width: 540px;
  margin: 0 0 21px;
}
#about.about-reference .about-reference-link {
  color: #172d3b;
  font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));
  padding: 10px 0;
  gap: 30px;
}
#about.about-reference .about-reference-link:hover { color: #c93147; }
#about.about-reference .about-reference-plaque {
  position: relative;
  flex: 0 1 350px;
  min-width: 0;
  background: #000000;
  border: 1px solid #34444f;
  padding: 36px 32px 24px;
  display: flex;
  align-items: center;
  flex-direction: column;
}
#about.about-reference .about-reference-plaque::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 7%;
  right: 7%;
  height: 2px;
  background: #cc354b;
}
#about.about-reference .about-reference-horse {
  width: 140px;
  max-width: 75%;
  height: auto;
  object-fit: contain;
  margin: 0 0 20px;
}
#about.about-reference .about-reference-lockup {
  width: 225px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
#about.about-reference .about-reference-signature {
  color: #93a6b3;
  font-size:calc((6px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.6;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  margin: 25px 0 0;
}
@media (max-width: 850px) {
  #about.about-reference { padding: 62px 0; }
  #about.about-reference .about-reference-layout { gap: 6%; }
  #about.about-reference .about-reference-story { flex-basis: 60%; }
  #about.about-reference .about-reference-plaque { flex-basis: 34%; padding: 29px 22px 21px; }
  #about.about-reference h2 { font-size:calc((33px) * var(--type-heading-scale, 1)); }
  #about.about-reference .about-reference-lead { font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1))); }
  #about.about-reference .about-reference-note { font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1))); }
  #about.about-reference .about-reference-horse { width: 115px; }
}
@media (max-width: 650px) {
  #about.about-reference { padding: 48px 0; }
  #about.about-reference .about-reference-layout { display: block; }
  #about.about-reference h2 { font-size:calc((clamp(31px, 8vw, 40px)) * var(--type-heading-scale, 1)); }
  #about.about-reference .about-reference-lead { font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1))); }
  #about.about-reference .about-reference-note { font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1))); }
  #about.about-reference .about-reference-plaque { width: 100%; max-width: 350px; margin: 32px auto 0; padding: 35px 30px 25px; }
  #about.about-reference .about-reference-horse { width: 140px; }
}

/* Home About only: a white editorial composition with the original small horse. */
#about.about-editorial-white {
  padding: 72px 0;
  background: var(--surface-blue);
  color: #172d3b;
  border: 0;
  box-shadow: none;
}
#about.about-editorial-white::before,
#about.about-editorial-white::after {
  content: none;
}
#about.about-editorial-white .about-editorial-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  min-width: 0;
}
#about.about-editorial-white .section-label {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  color: #607889;
  font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.6;
  letter-spacing: 1.6px;
  white-space: normal;
}
#about.about-editorial-white .section-label > span {
  flex-shrink: 0;
  color: #c93147;
}
#about.about-editorial-white .about-editorial-mark {
  display: block;
  flex: 0 0 auto;
  width: 72px;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  object-fit: contain;
  background: none;
  border: 0;
  box-shadow: none;
}
#about.about-editorial-white .about-editorial-title {
  width: 100%;
  max-width: 1050px;
  margin: 24px 0 36px;
  color: #172d3b;
  font: 400 clamp(34px, 3.6vw, 52px)/1.25 var(--serif);
  letter-spacing: -0.7px;
  text-wrap: wrap;
  overflow-wrap: break-word;
}
#about.about-editorial-white .about-editorial-title > span {
  color: #344d5e;
}
#about.about-editorial-white .about-editorial-body {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 6%;
  min-width: 0;
  padding-top: 28px;
  border-top: 1px solid #dce5eb;
}
#about.about-editorial-white .about-editorial-body::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 64px;
  height: 2px;
  background: #c93147;
}
#about.about-editorial-white .about-editorial-lead {
  flex: 1 1 65%;
  min-width: 0;
  max-width: none;
  margin: 0;
  color: #435f70;
  font-size:calc((15px) * var(--type-body-scale, 1));
  line-height: 1.9;
  overflow-wrap: break-word;
}
#about.about-editorial-white .about-editorial-aside {
  flex: 0 1 30%;
  min-width: 0;
}
#about.about-editorial-white .about-editorial-note {
  max-width: none;
  margin: 0 0 20px;
  color: #607889;
  font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.85;
  overflow-wrap: break-word;
}
#about.about-editorial-white .about-editorial-link {
  max-width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 11px 0;
  gap: 24px;
  color: #172d3b;
  background: none;
  border-color: #c93147;
  font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.6;
  white-space: normal;
  overflow-wrap: break-word;
}
#about.about-editorial-white .about-editorial-link > .arrow {
  flex-shrink: 0;
}
#about.about-editorial-white .about-editorial-link:hover {
  color: #c93147;
}
@media (max-width: 650px) {
  #about.about-editorial-white {
    padding: 48px 0;
  }
  #about.about-editorial-white .about-editorial-top {
    gap: 20px;
  }
  #about.about-editorial-white .section-label {
    font-size:calc((8px) * var(--type-small-scale, var(--type-body-scale, 1)));
    letter-spacing: 1.4px;
  }
  #about.about-editorial-white .about-editorial-mark {
    width: 55px;
  }
  #about.about-editorial-white .about-editorial-title {
    font-size:calc((clamp(30px, 7.8vw, 36px)) * var(--type-heading-scale, 1));
    line-height: 1.3;
    letter-spacing: -0.5px;
  }
  #about.about-editorial-white .about-editorial-body {
    flex-direction: column;
    gap: 24px;
    padding-top: 24px;
  }
  #about.about-editorial-white .about-editorial-lead {
    flex: 0 1 auto;
    width: 100%;
    font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }
  #about.about-editorial-white .about-editorial-aside {
    flex: 0 1 auto;
    width: 100%;
  }
}

/* Match header contact colors to other navigation labels. */
.site-header .header-inner .main-nav > .nav-contact,
.site-header .header-inner .main-nav > .nav-contact:hover {
  color: #535b5f;
}
.site-header .header-inner .main-nav > .nav-contact.active {
  color: var(--ink);
}
.site-header .header-actions .mobile-header-contact {
  color: #535b5f;
}
.site-header .header-actions .mobile-header-contact[aria-current="page"] {
  color: var(--ink);
}

/* Header typography only: a one-pixel increase, preserving layout and colors. */
.site-header .header-inner .main-nav > a { font-size:calc((12px) * var(--type-nav-scale, 1)); }
.site-header .header-actions .language-toggle { font-size:calc((11px) * var(--type-nav-scale, 1)); }
.site-header .header-actions .language-list a { font-size:calc((13px) * var(--type-nav-scale, 1)); }
@media (max-width: 850px) {
  .site-header .header-inner .main-nav > a { font-size:calc((10px) * var(--type-nav-scale, 1)); }
}
@media (max-width: 650px) {
  .site-header .header-actions .mobile-header-contact { font-size:calc((10px) * var(--type-nav-scale, 1)); }
}

/* Compact home About only; the approved background and text columns stay intact. */
#about.about-editorial-white { padding: 48px 0; }
#about.about-editorial-white .about-editorial-title { margin: 18px 0 26px; }
#about.about-editorial-white .about-editorial-body { padding-top: 22px; }
@media (max-width: 650px) {
  #about.about-editorial-white { padding: 36px 0; }
}

/* Header labels exactly twenty percent larger than the accepted sizes. */
.site-header .header-inner .main-nav > a { font-size:calc((14.4px) * var(--type-nav-scale, 1)); }
.site-header .header-actions .language-toggle { font-size:calc((13.2px) * var(--type-nav-scale, 1)); }
.site-header .header-actions .language-list a { font-size:calc((15.6px) * var(--type-nav-scale, 1)); }
@media (max-width: 850px) {
  .site-header .header-inner .main-nav > a { font-size:calc((12px) * var(--type-nav-scale, 1)); }
}
@media (max-width: 650px) {
  .site-header .header-actions .mobile-header-contact { font-size:calc((12px) * var(--type-nav-scale, 1)); }
}

/* Footer-only refinement: grouped right navigation and a compact contact column. */
@media (min-width: 651px) {
  .footer-refined .footer-refined-nav { justify-content: flex-end; }
}
.footer-refined .footer-refined-contact {
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 9px;
  margin-left: auto;
}
.footer-refined .footer-refined-contact a { white-space: nowrap; }

/* Restore the Czech Areas heading to two natural desktop lines. */
html[lang="cs"] #areas .structured-heading h2 { max-width: 620px; }

/* Match the RICHMAN logo red on the header language control on every device. */
.site-header .header-actions .language-toggle,
.site-header .header-actions .language-toggle .chevron { color: #e30014; }

/* Keep the existing CTA alignment after removing the general project note. */
.projects.structured-section .project-footer,
.project-catalog .catalog-footer {
  justify-content: flex-end;
}

/* Separate route headers. The approved homepage hero is not targeted. */
.inner-page-hero {
  padding: 36px 0 62px;
  background: #0d1c28;
  color: #f3f6fa;
  border-bottom: 1px solid #273c4b;
}

.inner-page-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 38px;
  color: #a9bccb;
  font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.8;
}

.inner-page-breadcrumb a {
  border-bottom: 1px solid #526878;
  transition: color .2s, border-color .2s;
}

.inner-page-breadcrumb a:hover {
  color: #fff;
  border-color: #e9434b;
}

.inner-page-breadcrumb [aria-current="page"] {
  color: #e5ecf1;
}

.inner-page-breadcrumb > span[aria-hidden] {
  color: #6d8496;
}

.inner-page-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 60px;
}

.inner-page-copy {
  flex: 1;
  min-width: 0;
  max-width: 910px;
}

.inner-page-hero h1 {
  max-width: 900px;
  margin: 0 0 23px;
  font: 400 clamp(38px, 4.2vw, 62px)/1.3 var(--serif);
  letter-spacing: -1.1px;
  color: #f3f6fa;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.inner-page-lead {
  max-width: 760px;
  margin: 0;
  color: #b6c7d3;
  font-size:calc((14px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.95;
  text-wrap: pretty;
}

.inner-page-wordmark {
  flex: 0 0 auto;
  width: 132px;
  max-width: 20%;
  height: auto;
  margin-top: 18px;
  user-select: none;
  pointer-events: none;
}

/* One unified, cool-blue ground with wide image/text rows, not a gallery. */
.project-catalog.structured-section.theme-light {
  padding: 60px 0 76px;
  background: #f2f5f7;
  color: #172d3b;
  border-top: 0;
}

.catalog-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 64px;
  margin-bottom: 32px;
}

.catalog-heading > div {
  flex: 1;
  min-width: 0;
}

.project-catalog .catalog-heading h2 {
  margin: 17px 0 0;
  color: #172d3b;
  font-size:calc((clamp(29px, 2.8vw, 40px)) * var(--type-heading-scale, 1));
  line-height: 1.4;
  letter-spacing: -.7px;
}

.catalog-heading > p {
  flex: 0 1 510px;
  margin: 0 0 4px;
  color: #566b7a;
  font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.9;
}

.project-catalog .catalog-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 28px;
}

.project-catalog .filter-btn {
  max-width: 100%;
  padding: 9px 17px;
  border: 1px solid #bdccd7;
  background: transparent;
  color: #526c7e;
  font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.project-catalog .filter-btn.active,
.project-catalog .filter-btn[aria-pressed="true"] {
  background: #172d3b;
  border-color: #172d3b;
  color: #fff;
}

.project-catalog .filter-btn:hover {
  background: #263f50;
  border-color: #263f50;
  color: #fff;
}

.catalog-list {
  border-top: 1px solid #c6d3dd;
}

.catalog-project {
  display: grid;
  grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
  min-width: 0;
  padding: 32px 0;
  border-bottom: 1px solid #c6d3dd;
}

.catalog-project[hidden] {
  display: none !important;
}

.catalog-visual {
  min-width: 0;
  margin: 0;
}

.catalog-project .catalog-image-button {
  display: block;
  aspect-ratio: 1.5;
  background: #dce6ed;
}

.catalog-image-button img {
  filter: saturate(.8);
}

.catalog-open {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  color: #f3f6fa;
  background: #0d1c28e6;
  border: 1px solid #ffffff4d;
  pointer-events: none;
}

.catalog-image-note {
  max-width: 100%;
  margin-top: 12px;
  color: #607889;
  font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.catalog-project-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 5px 0 4px 44px;
}

.catalog-project .project-location {
  margin: 0 0 12px;
  color: #607889;
  font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.8;
  letter-spacing: 1.2px;
  overflow-wrap: anywhere;
}

.catalog-project-title {
  max-width: 100%;
  margin: 0 0 17px;
  color: #172d3b;
  font: 400 clamp(25px, 2.4vw, 34px)/1.4 var(--serif);
  letter-spacing: -.5px;
  overflow-wrap: break-word;
}

.catalog-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  max-width: 100%;
  margin-bottom: 20px;
}

.catalog-project .project-type {
  margin: 0;
  color: #526c7e;
  font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.8;
}

.catalog-project .catalog-status {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 4px 9px;
  color: #4b6679;
  background: #e5edf2;
  font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.7;
  letter-spacing: .15px;
}

.catalog-project .catalog-status::before {
  flex-shrink: 0;
  background: #cf3042;
}

.catalog-description {
  margin: 0 0 21px;
  max-width: 640px;
  color: #526b7c;
  font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.95;
  overflow-wrap: break-word;
}

.project-catalog .catalog-details {
  margin-top: auto;
  padding: 11px 0;
  border: 0;
  border-bottom: 1px solid #d3303e;
  text-align: left;
  cursor: pointer;
}

.project-catalog .catalog-nojs-inquiry {
  margin-top: 12px;
}

.catalog-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-top: 30px;
}

.catalog-footer > p {
  margin: 0;
  max-width: 520px;
  color: #607889;
  font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.9;
}

.project-catalog .catalog-contact-cta {
  flex-shrink: 0;
  max-width: 100%;
}

.project-catalog .empty-projects {
  margin: 0;
  padding: 30px 0;
  color: #526c7e;
  font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));
}

/* Contact-route spacing only; all existing form markup and geometry remain. */
.page-contact .contacts-page .contact.structured-section {
  padding-block: 64px 80px;
  border-top: 0;
}

.page-contact .contacts-page .contact-form {
  scroll-margin-top: 100px;
}

@media (max-width: 1150px) {
  .inner-page-heading {
    gap: 40px;
  }

  .catalog-heading {
    gap: 38px;
  }

  .catalog-heading > p {
    flex-basis: 430px;
  }

  .catalog-project-copy {
    padding-left: 32px;
  }
}

@media (max-width: 850px) {
  .inner-page-hero {
    padding: 29px 0 48px;
  }

  .inner-page-breadcrumb {
    margin-bottom: 29px;
  }

  .inner-page-heading {
    gap: 25px;
  }

  .inner-page-wordmark {
    width: 108px;
    margin-top: 12px;
  }

  .inner-page-lead {
    font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .catalog-heading {
    display: block;
  }

  .catalog-heading > p {
    max-width: 670px;
    margin-top: 18px;
  }

  .catalog-project-copy {
    padding-left: 25px;
  }

  .catalog-project-title {
    font-size:calc((26px) * var(--type-heading-scale, 1));
  }

  .catalog-description {
    font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
    line-height: 1.9;
  }

  .catalog-footer {
    align-items: flex-start;
    gap: 20px;
  }

  .project-catalog .catalog-contact-cta {
    flex-shrink: 1;
  }
}

@media (max-width: 650px) {
  .inner-page-hero {
    padding: 26px 0 39px;
  }

  .inner-page-breadcrumb {
    gap: 10px;
    margin-bottom: 27px;
    font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .inner-page-heading {
    display: block;
  }

  .inner-page-hero h1 {
    margin-bottom: 20px;
    font-size:calc((clamp(31px, 8.2vw, 42px)) * var(--type-heading-scale, 1));
    line-height: 1.4;
    letter-spacing: -.7px;
  }

  .inner-page-lead {
    font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
    line-height: 1.9;
  }

  .inner-page-wordmark {
    width: 100px;
    max-width: 100%;
    margin-top: 26px;
  }

  .project-catalog.structured-section.theme-light {
    padding: 40px 0 48px;
  }

  .catalog-heading {
    margin-bottom: 24px;
  }

  .project-catalog .catalog-heading h2 {
    font-size:calc((28px) * var(--type-heading-scale, 1));
    margin-top: 15px;
  }

  .catalog-heading > p {
    margin-top: 16px;
    font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .project-catalog .catalog-controls {
    gap: 7px;
    margin-bottom: 23px;
  }

  .project-catalog .filter-btn {
    padding: 8px 12px;
    font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .catalog-project {
    grid-template-columns: minmax(0, 1fr);
    padding: 25px 0 28px;
  }

  .catalog-project .catalog-image-button {
    aspect-ratio: 1.45;
  }

  .catalog-image-note {
    margin-top: 10px;
    font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .catalog-project-copy {
    padding: 23px 0 0;
  }

  .catalog-project .project-location {
    margin-bottom: 10px;
    font-size:calc((9px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .catalog-project-title {
    margin-bottom: 15px;
    font-size:calc((28px) * var(--type-heading-scale, 1));
  }

  .catalog-meta {
    gap: 9px 14px;
    margin-bottom: 17px;
  }

  .catalog-description {
    margin-bottom: 17px;
    font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .project-catalog .catalog-details {
    font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .catalog-footer {
    display: block;
    margin-top: 24px;
  }

  .catalog-footer > p {
    margin-bottom: 14px;
    font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1)));
  }

  .project-catalog .catalog-contact-cta {
    font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1)));
    gap: 20px;
  }

  .page-contact .contacts-page .contact.structured-section {
    padding-block: 44px 52px;
  }
}

/* Contact header: the owner's complete horse + RICHMAN logo, not a text-only mark. */
.page-contact .inner-page-emblem {
  flex: 0 0 auto;
  width: 190px;
  max-width: 24%;
  height: auto;
  align-self: center;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}
@media (max-width: 850px) {
  .page-contact .inner-page-emblem { width: 155px; }
}
@media (max-width: 650px) {
  .page-contact .inner-page-emblem {
    width: 120px;
    max-width: 100%;
    margin-top: 24px;
  }
}

/* Only Projects: the same original complete horse + RICHMAN mark requested by the owner. */
.page-projects .inner-page-emblem{flex:0 0 auto;width:190px;max-width:24%;height:auto;align-self:center;object-fit:contain;user-select:none;pointer-events:none}
@media(max-width:850px){.page-projects .inner-page-emblem{width:155px}}
@media(max-width:650px){.page-projects .inner-page-emblem{width:120px;max-width:100%;margin-top:24px}}

/* Projects-only: original horse alpha, exact RICHMAN red, no wordmark. */
.page-projects .inner-page-heading{gap:36px;align-items:center}
.page-projects .inner-page-copy{max-width:none}
.page-projects .inner-page-horse{
 display:block;flex:0 0 auto;width:155px;max-width:22%;aspect-ratio:229 / 182;
 background-color:#e30014;
 -webkit-mask-image:var(--horse-mask);mask-image:var(--horse-mask);
 -webkit-mask-size:contain;mask-size:contain;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 -webkit-mask-position:center;mask-position:center;mask-mode:alpha;
 user-select:none;pointer-events:none;
}
.page-projects .inner-page-hero h1{max-width:none;font-size:calc((clamp(29px,3.6vw,54px)) * var(--type-heading-scale, 1));letter-spacing:-.7px;text-wrap:initial}
@media(min-width:651px){html[lang=cs] .page-projects .inner-page-hero h1{white-space:nowrap}}
@media(max-width:850px) and (min-width:651px){
 .page-projects .inner-page-heading{gap:24px}
 .page-projects .inner-page-horse{width:120px}
 html[lang=cs] .page-projects .inner-page-hero h1{font-size:calc((clamp(23px,3.2vw,28px)) * var(--type-heading-scale, 1));letter-spacing:-.45px}
}
@media(max-width:650px){
 .page-projects .inner-page-hero h1{font-size:calc((clamp(31px,8.2vw,42px)) * var(--type-heading-scale, 1));line-height:1.4;white-space:normal;text-wrap:balance}
 .page-projects .inner-page-horse{width:100px;max-width:100%;margin-top:25px}
}

/* Projects and Contacts headers only: matching identity, centered vertically. */
:is(.page-projects, .page-contact) .inner-page-hero {
  position: relative;
  background: #15232f;
}
:is(.page-projects, .page-contact) .inner-page-copy { margin-right: 191px; }
:is(.page-projects, .page-contact) .projects-brand-plaque {
  position: absolute;
  right: max(56px, calc((100vw - 1392px) / 2));
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 170px;
  padding: 21px 17px 18px;
  background: #1c2c3a;
  border: 1px solid #273643;
  pointer-events: none;
  user-select: none;
}
:is(.page-projects, .page-contact) .projects-brand-plaque::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 7%;
  right: 7%;
  height: 2px;
  background: #cd3d42;
}
:is(.page-projects, .page-contact) .projects-brand-horse {
  width: 82px;
  height: auto;
  margin-bottom: 15px;
}
:is(.page-projects, .page-contact) .projects-brand-lockup { width: 134px; height: auto; }
:is(.page-projects, .page-contact) .projects-brand-signature {
  margin: 17px 0 0;
  color: #8298a8;
  font-size:calc((5px) * var(--type-small-scale, var(--type-body-scale, 1)));
  line-height: 1.8;
  letter-spacing: 1.2px;
  white-space: nowrap;
}
@media (max-width: 1150px) {
  :is(.page-projects, .page-contact) .projects-brand-plaque { right: 36px; }
}
@media (max-width: 850px) and (min-width: 651px) {
  :is(.page-projects, .page-contact) .inner-page-copy { margin-right: 144px; }
  :is(.page-projects, .page-contact) .projects-brand-plaque { right: 24px; width: 120px; padding: 18px 10px 14px; }
  :is(.page-projects, .page-contact) .projects-brand-horse { width: 62px; margin-bottom: 12px; }
  :is(.page-projects, .page-contact) .projects-brand-lockup { width: 98px; }
  :is(.page-projects, .page-contact) .projects-brand-signature { font-size:calc((4px) * var(--type-small-scale, var(--type-body-scale, 1))); letter-spacing: .8px; margin-top: 14px; }
}
@media (max-width: 650px) {
  :is(.page-projects, .page-contact) .inner-page-copy { margin-right: 0; }
  :is(.page-projects, .page-contact) .projects-brand-plaque {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    margin: 28px auto 0;
  }
}

/* Authenticated project-card iframe only; the iframe document owns scrolling. */
body.project-card-preview {
  min-height: 0;
  overflow: auto;
}

body.project-card-preview > header,
body.project-card-preview > main,
body.project-card-preview > footer,
body.project-card-preview nav,
body.project-card-preview noscript,
body.project-card-preview .skip-link,
body.project-card-preview #privacy-modal,
body.project-card-preview #project-modal .modal-close {
  display: none !important;
}

body.project-card-preview #project-modal {
  position: relative;
  inset: auto;
  width: 100%;
  max-width: none;
  height: auto;
  max-height: none;
  margin: 0;
  overflow: visible;
  box-shadow: none;
}

/* Project gallery: twice the former desktop width, never wider than the viewport. */
#project-modal {
  width: 1240px;
  max-width: calc(100vw - 40px);
  max-height: calc(100dvh - 60px);
  background: #152c3a;
  color: #f8fafc;
}
#project-modal .modal-close { position: sticky; float: right; margin: 14px 14px -46px 0; top: 14px; z-index: 3; background: #f1f5f8; color: #142a37; }
#project-modal .project-modal-layout { display: grid; grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr); min-height: 560px; }
#project-modal .modal-gallery { min-width: 0; padding: 20px; background: #102430; }
#project-modal .gallery-main { position: relative; margin: 0; }
#project-modal .modal-image { display: block; width: 100%; height: auto; aspect-ratio: 1.34; object-fit: contain; background: #0e202b; }
#project-modal .gallery-main-caption { display: flex; justify-content: space-between; gap: 15px; padding: 13px 2px 15px; font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1))); line-height: 1.5; color: #b4c5d1; }
#project-modal .gallery-count { white-space: nowrap; color: #e4ecf2; font-variant-numeric: tabular-nums; }
#project-modal .gallery-thumbnails { display: flex; flex-wrap: wrap; gap: 9px; overflow: visible; padding: 2px 2px 12px; }
#project-modal .gallery-thumbnail { flex: 0 0 calc((100% - 36px) / 5); min-width: 74px; border: 1px solid #55708055; padding: 3px; background: transparent; cursor: pointer; transition: border-color .2s; }
#project-modal .gallery-thumbnail img { width: 100%; display: block; aspect-ratio: 1.45; object-fit: cover; }
#project-modal .gallery-thumbnail[aria-pressed=true] { border-color: #f20b1f; }
#project-modal .gallery-thumbnail:focus-visible { outline: 2px solid #eef5f9; outline-offset: 2px; }
#project-modal .gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 40px; padding: 0; border: 0; background: #0a1b2dd9; color: #fff; cursor: pointer; font-size:calc((21px) * var(--type-body-scale, 1)); }
#project-modal .gallery-prev { left: 7px; }
#project-modal .gallery-next { right: 7px; }
#project-modal .gallery-nav[hidden] { display: none; }
#project-modal .modal-content { display: flex; flex-direction: column; padding: 48px 36px 34px; min-width: 0; }
#project-modal .modal-content h2 { font-size:calc((clamp(27px, 2.4vw, 36px)) * var(--type-heading-scale, 1)); line-height: 1.24; }
#project-modal .modal-description { line-height: 1.9; font-size:calc((13px) * var(--type-small-scale, var(--type-body-scale, 1))); }
#project-modal .modal-meta { flex-wrap: wrap; color: #bdced8; margin: 24px 0; }
#project-modal .project-inquiry { align-self: flex-start; margin-top: auto; }
#project-modal .modal-image-note { margin: 0 0 22px; color: #91a9b8; font-size:calc((10px) * var(--type-small-scale, var(--type-body-scale, 1))); }
@media (max-width: 800px) {
  #project-modal { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  #project-modal .project-modal-layout { grid-template-columns: 1fr; min-height: 0; }
  #project-modal .modal-image { aspect-ratio: 1.65; }
  #project-modal .modal-content { padding: 25px 25px 30px; }
  #project-modal .modal-gallery { padding: 15px; }
  #project-modal .gallery-thumbnail { min-width: 62px; }
}

/* Project text entered in the CMS keeps single and blank line breaks.
   No truncation or injected HTML; per-field alignment may override defaults. */
.catalog-description,
.gallery-caption > p,
#project-modal .modal-description {
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.catalog-project-copy .catalog-description { width: 100%; }

/* Justify longer editorial copy only, never headings, navigation or image labels.
   The final line stays natural; phones retain readable word spacing by default. */
@media (min-width: 651px) {
  :is(.refined-about-copy, .about-copy, .contact-copy) > p,
  .about-editorial-lead,
  .about-editorial-note,
  .chapter-body > p:not(.chapter-scope),
  .process-item > p,
  .process-details > p,
  .principle-compact p,
  .catalog-description,
  #project-modal .modal-description {
    text-align: justify;
    text-align-last: start;
    hyphens: auto;
  }
}
@media (max-width: 650px) {
  .catalog-description,
  #project-modal .modal-description { text-align: start; }
}

/* Shared introduction rail. Text remains content-sized: no clipping, line clamp,
   forced height, font reduction or rewriting of saved CMS copy. */
#about.about-editorial-white .about-editorial-body {
  display:block;
}
#about.about-editorial-white .about-editorial-lead {
  width:100%;
  max-width:none;
}
#about.about-editorial-white .about-editorial-heading {
  margin-bottom:28px;
}
#about.about-editorial-white .about-editorial-heading .about-editorial-note {
  margin:0;
}

@media (min-width:1001px) {
  #about.about-editorial-white .about-editorial-heading,
  .page-home .structured-heading.home-section-heading,
  .page-projects .catalog-heading.section-intro-rail {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    column-gap:60px;
    row-gap:22px;
    align-items:start;
  }
  #about.about-editorial-white .about-editorial-top,
  #about.about-editorial-white .about-editorial-aside,
  .page-home .home-section-heading>.structured-heading-title,
  .page-home .home-section-heading>.projects-heading-copy,
  .page-projects .catalog-heading>.catalog-heading-title {
    display:contents;
  }
  #about.about-editorial-white .about-editorial-heading .section-label,
  .page-home .home-section-heading .section-label,
  .page-projects .catalog-heading .section-label {
    grid-column:1;
    grid-row:1;
  }
  #about.about-editorial-white .about-editorial-title,
  .page-home .structured-heading.home-section-heading h2,
  .page-projects .catalog-heading h2 {
    grid-column:1;
    grid-row:2;
    min-width:0;
    align-self:end;
    margin:0;
  }
  #about.about-editorial-white .about-editorial-heading .about-editorial-note,
  .page-home .home-section-heading>p,
  .page-home .home-section-heading .projects-heading-copy>p {
    grid-column:2;
    grid-row:2;
    align-self:end;
    min-width:0;
    max-width:none;
    margin:0;
  }
  #about.about-editorial-white .about-editorial-heading .about-editorial-link,
  .page-home .home-section-heading .all-projects-link {
    grid-column:2;
    grid-row:3;
    align-self:end;
    justify-self:start;
    margin:0;
  }
  .page-home .projects.structured-section .home-section-heading>.project-controls,
  .page-projects .catalog-heading .catalog-controls {
    display:flex;
    flex-wrap:wrap;
    grid-column:1;
    grid-row:3;
    align-self:end;
    min-width:0;
    margin:0;
  }
  .page-home .projects.structured-section .home-section-heading>.project-controls {
    flex:none;
  }
  .page-projects .catalog-heading>p {
    grid-column:2;
    grid-row:2 / 4;
    align-self:end;
    min-width:0;
    max-width:none;
    margin:0;
  }
}

/* A single-column reading flow on phones/tablets; the desktop comparison lines
   are intentionally not imposed on narrow, translated or user-expanded copy. */
@media (max-width:1000px) {
  #about.about-editorial-white .about-editorial-heading,
  .page-home .structured-heading.home-section-heading,
  .page-projects .catalog-heading.section-intro-rail {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:22px;
    align-items:start;
  }
  #about.about-editorial-white .about-editorial-top,
  #about.about-editorial-white .about-editorial-aside,
  .page-home .home-section-heading>.structured-heading-title,
  .page-home .home-section-heading>.projects-heading-copy,
  .page-projects .catalog-heading>.catalog-heading-title {
    display:contents;
  }
  #about.about-editorial-white .about-editorial-heading .section-label,
  .page-home .home-section-heading .section-label,
  .page-projects .catalog-heading .section-label {
    grid-column:1;
    grid-row:1;
  }
  #about.about-editorial-white .about-editorial-title,
  .page-home .structured-heading.home-section-heading h2,
  .page-projects .catalog-heading h2 {
    grid-column:1;
    grid-row:2;
    margin:0;
  }
  #about.about-editorial-white .about-editorial-heading .about-editorial-note,
  .page-home .home-section-heading>p,
  .page-home .home-section-heading .projects-heading-copy>p,
  .page-projects .catalog-heading>p {
    grid-column:1;
    grid-row:3;
    min-width:0;
    max-width:none;
    margin:0;
    align-self:start;
  }
  #about.about-editorial-white .about-editorial-heading .about-editorial-link,
  .page-home .home-section-heading .all-projects-link {
    grid-column:1;
    grid-row:4;
    justify-self:start;
    margin:0;
  }
  .page-home .projects.structured-section .home-section-heading>.project-controls {
    grid-column:1;
    grid-row:5;
    display:flex;
    flex-wrap:wrap;
    flex:none;
    margin:0;
  }
  .page-projects .catalog-heading .catalog-controls {
    grid-column:1;
    grid-row:4;
    margin:0;
  }
}

/* Reversible hero experiment. Original styles.css and all markup remain intact. */
.page-home #home .eyebrow::before {
  background: var(--brand-red, #e30014);
}
.page-home #home h1 em {
  color: #ffffff;
}
.page-home #home .hero-buttons {
  align-items: stretch;
  gap: 26px;
  max-width: 500px;
}
.page-home #home .hero-buttons .btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 53px;
  padding: 12px 0;
  gap: 20px;
  border: 0;
  border-bottom: 1px solid var(--brand-red, #e30014);
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
  font-weight: 600;
  line-height: 1.6;
}
.page-home #home .hero-buttons .btn .arrow {
  flex-shrink: 0;
  color: #ffffff;
  font-size:calc((23px) * var(--type-body-scale, 1));
}
.page-home #home .hero-buttons .btn:hover {
  background: transparent;
  color: #ffffff;
  border-bottom-color: #ff4250;
}
.page-home #home .hero-buttons .btn:focus-visible {
  outline-color: var(--brand-red, #e30014);
}
@media (max-width: 850px) {
  .page-home #home .hero-buttons { gap: 22px; }
  .page-home #home .hero-buttons .btn { font-size:calc((11px) * var(--type-small-scale, var(--type-body-scale, 1))); gap: 14px; }
}
@media (max-width: 650px) {
  .page-home #home .hero-buttons {
    flex-direction: column;
    max-width: 315px;
    gap: 10px;
  }
  .page-home #home .hero-buttons .btn {
    flex: 0 0 auto;
    width: 100%;
    min-height: 50px;
    font-size:calc((12px) * var(--type-small-scale, var(--type-body-scale, 1)));
    padding: 10px 0;
  }
}

/* Only the homepage title: two pixels below each original responsive size. */
.page-home #home .hero-note .dot { background: var(--brand-red, #e30014); }
.page-home #home h1 { font-size:calc((calc(clamp(45px, 4.8vw, 76px) - 2px)) * var(--type-heading-scale, 1)); }
html[lang=ru] .page-home #home h1 { font-size:calc((calc(clamp(42px, 4.25vw, 67px) - 2px)) * var(--type-heading-scale, 1)); }
@media (min-width: 1600px) {
  .page-home #home h1 { font-size:calc((76px) * var(--type-heading-scale, 1)); }
}
@media (max-width: 1150px) {
  .page-home #home h1 { font-size:calc((53px) * var(--type-heading-scale, 1)); }
}
@media (max-width: 850px) {
  .page-home #home h1 { font-size:calc((41px) * var(--type-heading-scale, 1)); }
  html[lang=ru] .page-home #home h1 { font-size:calc((36px) * var(--type-heading-scale, 1)); }
}
@media (max-width: 650px) {
  .page-home #home h1 { font-size:calc((calc(clamp(38px, 9.8vw, 58px) - 2px)) * var(--type-heading-scale, 1)); }
  html[lang=ru] .page-home #home h1 { font-size:calc((calc(clamp(32px, 8.5vw, 49px) - 2px)) * var(--type-heading-scale, 1)); }
}

/* Keep both full source files intact. Only the desktop viewport crops them.
   Match the original right facade and end just before its yellow neighbour.
   Uniform feature-matched scales: new 1.038; old 1.012. Native right edge:2180px. */
.hero-right-reference { display: none; }
@supports (width: 1cqh) {
  @media (min-width: 651px) {
    .hero-expanded .hero-picture {
      container-type: size;
      overflow: hidden;
      /* Keep the unaltered old right-hand photo covering the entire viewport. */
      --hero-framing-shift: max(-40.2672256249cqh, calc(-2.2222222222cqw - 43.6263888889cqh));
      transform: scale(1.08);
      transform-origin: 70% 50%;
    }
    .hero-expanded .hero-image {
      inset: auto;
      left: calc(100% - 240.5520833333cqh + var(--hero-framing-shift));
      top: -0.1736111111cqh;
      width: 242.2cqh;
      height: 103.8cqh;
      max-width: none;
      object-fit: fill;
    }
    .hero-expanded .hero-right-reference {
      display: block;
      position: absolute;
      left: calc(100% - 191.5069444444cqh + var(--hero-framing-shift));
      top: -0.3472222222cqh;
      width: 236.1333333333cqh;
      height: 101.2cqh;
      max-width: none;
      object-fit: fill;
      /* Preserve the published legacy appearance for historical CMS media. */
      mask-image: linear-gradient(90deg, transparent 77.9%, #000 80.3%);
      -webkit-mask-image: linear-gradient(90deg, transparent 77.9%, #000 80.3%);
      pointer-events: none;
    }
  }
}

/* The approved final photo already contains the complete agreed composition. */
@media (min-width: 651px) {
  .hero-expanded.hero-approved-photo .hero-picture {
    transform: none;
    container-type: normal;
  }
  .hero-expanded.hero-approved-photo .hero-image {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }
}
