:root{--green:#d34b2c;--deep:#292624;--paper:#ffffff;--ink:#272421;--gold:#d34b2c;--line:#e6e0dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #d34b2c;outline-offset:6px}button{color:inherit}p{line-height:1.8}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(34px,3.6vw,58px);line-height:1.13;margin:25px 0}h2 em,h1 em{font-weight:400;color:var(--gold)}.dark+h2 em,.intro h2 em,.profile h2 em,.contact h2 em{color:#d34b2c}h3{font-size:32px}.demo-bar{height:30px;background:var(--deep);color:#eee9e5;display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:9px;letter-spacing:1.8px}.demo-bar button{border:0;background:none;color:inherit;font-size:10px;letter-spacing:.5px}.demo-bar button span{margin-left:12px}header{height:107px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{font-size:24px;letter-spacing:-1px;line-height:.95;font-weight:600}.brand>span{display:block;font-weight:400}.brand-dot{color:#d34b2c}nav{display:flex;gap:32px;font-size:12px}nav a{padding:12px 0;border-bottom:1px solid transparent}nav a:hover{border-bottom-color:var(--green)}.contact-nav{font-size:12px;border-bottom:1px solid var(--green);padding-bottom:9px}.contact-nav span{margin-left:28px}#menu{display:none}.hero{display:grid;grid-template-columns:1.35fr 1fr;min-height:640px;background:var(--green);color:var(--paper);overflow:hidden}.hero-main{padding:75px 0 32px 8%;position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:2.4px;font-weight:600;color:#f3d8cc;display:flex;align-items:center;gap:14px}.eyebrow.dark{color:#746b65}.line{width:29px;height:1px;background:var(--gold)}h1{font-size:clamp(48px,5.3vw,84px);line-height:1.05;margin:45px -160px 25px 0;position:relative;z-index:2}.hero-desc{max-width:415px;color:#f4e4dc;font-size:14px;line-height:1.85;margin:28px 0 34px}.button{border:1px solid transparent;padding:18px 23px;display:inline-flex;align-items:center;gap:35px;font-size:11px;letter-spacing:.2px}.button.light{background:var(--paper);color:var(--green)}.button.green{background:var(--green);color:var(--paper)}.button:hover{transform:translateY(-2px);transition:transform .2s}.hero-bottom{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1.6px;color:#f4e4dc;margin-top:75px;padding-right:35px}.hero-art{position:relative;background:linear-gradient(110deg,#f5e5dd,#e5b6a0);overflow:hidden;isolation:isolate}.arch{position:absolute;border-radius:45% 45% 0 0;background:linear-gradient(95deg,#af5139 0%,#e2b19a 30%,#f5e5d9 47%,#d88363 64%,#aa462b 100%);box-shadow:24px 10px 35px #76301b25;transform:rotate(28deg);height:900px;width:210px;top:-100px;opacity:.75}.a1{left:40%;top:-180px}.a2{left:80%;top:-120px}.a3{left:0;top:190px;background:linear-gradient(95deg,#c65b3c,#f4d6c4 47%,#cf8467 75%,#bd5030)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--green),transparent 24%),linear-gradient(0deg,#29262499,transparent 65%)}.art-line{position:absolute;inset:35px;border:1px solid #d34b2c26;z-index:1}.art-caption{position:absolute;bottom:75px;left:54px;font-size:11px;letter-spacing:4px;line-height:1.8;z-index:2;color:#8b321f}.art-number{position:absolute;top:25px;right:45px;font-family:Georgia,serif;font-size:110px;opacity:.12;z-index:2}.section{padding:95px 7%}.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px;border-bottom:1px solid var(--line)}.intro>.eyebrow{align-self:start;padding-top:35px}.intro h2{margin-top:20px}.intro-cols{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:850px}.intro p{font-size:13px;color:#69615b}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:35px}.section-heading p{font-size:13px;color:#69615b}.modules{display:grid;grid-template-columns:1.15fr 1fr;border-top:1px solid #d7ccc4}.tab-list{padding-right:50px}.tab-list button{width:100%;min-height:78px;border:0;border-bottom:1px solid var(--line);background:none;display:flex;text-align:left;align-items:center;gap:20px;font-size:13px;padding:15px 8px}.tab-list button span{font-family:Georgia,serif;font-size:17px;color:#8c7b70}.tab-list button b{margin-left:auto;font-size:18px;font-weight:400}.tab-list button[aria-selected=true]{color:#b53c22;font-weight:600;background:#faf0e9;padding-left:18px}.tab-list button[aria-selected=true] span{color:#d34b2c}.module-content{background:var(--green);color:#ffffff;padding:55px 45px;position:relative;overflow:hidden;min-height:390px}.module-no{position:absolute;right:15px;top:10px;font:130px Georgia;opacity:.07}.module-content h3{margin:35px 0 20px}.module-content p{font-size:13px;color:#f5e5de;max-width:360px}.text-link{font-size:11px;display:inline-block;border-bottom:1px solid #ce917e;padding:14px 0 10px;margin-top:15px}.text-link span{margin-left:25px}.specialisms{display:flex;gap:30px;align-items:center;margin-top:30px}.specialisms>span{font-size:8px;letter-spacing:1.8px;color:#746b65}.specialisms button{background:none;border:0;font-size:11px;padding:12px 0;border-bottom:1px solid var(--line)}.profile{background:#f7f4f1;display:grid;grid-template-columns:1fr 1.3fr;gap:9%;align-items:center}.portrait{position:relative;padding:20px 25px 0;border:1px solid #e3d6cd;background:#f0e8e2}.portrait img{display:block;width:100%;height:440px;object-fit:cover;object-position:center;filter:saturate(.65);mix-blend-mode:multiply}.portrait-label{position:absolute;left:-20px;bottom:25px;background:var(--green);color:#fff6f0;padding:20px 28px;font-size:9px;letter-spacing:2px;line-height:1.8}.profile-copy h2{font-size:clamp(35px,3.4vw,52px)}.lead{font-family:Georgia,serif;font-size:22px;line-height:1.5}.profile-copy>p:not(.lead){font-size:13px;max-width:440px;color:#69615b}.profile details{border-top:1px solid #dacfc7;border-bottom:1px solid #dacfc7;margin-top:25px}.profile summary{cursor:pointer;list-style:none;padding:18px 0;font-size:12px;display:flex;justify-content:space-between}.career{list-style:none;padding:0;margin:0 0 25px}.career li{font-size:12px;line-height:1.5;margin:15px 0}.career span{display:block;font-size:8px;letter-spacing:1.5px;color:#8c6352;margin-bottom:4px}.network{background:var(--deep);color:var(--paper)}.network-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.network-grid p{color:#d9d0c9;font-size:13px}.network-words{display:flex;justify-content:space-between;align-items:center;font-family:Georgia,serif;font-size:clamp(18px,2.3vw,32px);padding:45px 0 65px;gap:15px}.network-words i{font-family:Arial;font-size:15px;color:var(--gold);font-style:normal}.ethics{border-top:1px solid #584c43;padding-top:35px;display:flex;align-items:center;gap:25px}.seal{border:1px solid var(--gold);border-radius:50%;font:30px Georgia;color:var(--gold);width:58px;height:58px;display:grid;place-items:center;flex-shrink:0}.ethics h3{font-size:24px;margin:0}.ethics p{font-size:11px;color:#d9d0c9;margin-bottom:0}.ethics>a{margin-left:auto;font-size:11px;white-space:nowrap}.ethics>a span{margin-left:16px}.contact{display:grid;grid-template-columns:1.6fr 1fr;gap:50px}.contact p{font-size:13px;color:#69615b;margin:25px 0}.contact address{font-style:normal;border-left:1px solid var(--line);padding-left:55px;align-self:center;font-size:13px;line-height:1.8}.contact-name{font-family:Georgia;font-size:23px}.address-line{margin:25px 0}.contact address a{display:block}.email{margin-top:17px}footer{padding:45px 7% 25px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px}footer>.brand{font-size:22px}footer>span{font-size:8px;letter-spacing:1.5px;color:#d34b2c}footer>div{display:flex;gap:24px;align-items:center}footer button{border:0;background:none;font-size:10px;padding:0}footer small{flex-basis:100%;font-size:9px;color:#81756d;margin-top:20px}dialog{border:0;padding:50px;width:min(630px,92vw);max-height:85vh;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#271c17b3;backdrop-filter:blur(5px)}#close{position:absolute;right:17px;top:10px;background:none;border:0;font-size:30px}dialog h2{font-size:36px;margin-top:12px}dialog p,dialog li{font-size:13px;line-height:1.7}dialog a{text-decoration:underline}dialog ul{padding-left:20px}dialog .button{margin-top:20px}summary::-webkit-details-marker{display:none}@media(min-width:1600px){.hero-main{padding-left:12%}.hero{min-height:700px}.hero-bottom{margin-top:100px}}@media(max-width:900px){nav{gap:18px}.contact-nav{display:none}.hero-main{padding-top:60px}.hero{min-height:600px;grid-template-columns:1.5fr 1fr}h1{font-size:58px}.hero-desc{max-width:350px}.eyebrow{font-size:8px}.hero-bottom{font-size:7px}.section{padding:70px 6%}.intro{grid-template-columns:1fr;gap:15px}.intro>.eyebrow{padding-top:0}.module-content{padding:40px 28px}.tab-list{padding-right:25px}.tab-list button{font-size:12px}.profile{gap:6%}.portrait img{height:350px}.network-grid{gap:30px}.contact address{padding-left:30px}}@media(max-width:650px){header{height:85px;padding:0 6%}.brand{font-size:23px}#menu{display:block;border:0;background:none;font-size:24px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:20px 7%;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;gap:5px}.demo-bar{font-size:7px;padding:0 6%;letter-spacing:1px}.demo-bar button{font-size:8px}.hero{display:block;position:relative;min-height:620px}.hero-main{padding:65px 7% 25px;z-index:2}h1{font-size:49px;margin:35px 0 20px;line-height:1.08}.hero-desc{font-size:13px;max-width:290px}.hero-art{position:absolute;right:0;top:0;bottom:0;width:50%;opacity:.3}.hero-art:after{background:linear-gradient(90deg,var(--green),transparent)}.art-caption,.art-number,.art-line{display:none}.hero-bottom{margin-top:70px;display:block;line-height:2.4}.hero-bottom a{display:block}.eyebrow{font-size:7px;letter-spacing:1.6px}.section{padding:60px 7%}h2{font-size:36px}.intro-cols{grid-template-columns:1fr;gap:0}.section-heading{display:block;margin-bottom:25px}.section-heading p{font-size:12px}.modules{grid-template-columns:1fr}.tab-list{padding:0}.tab-list button{min-height:58px}.module-content{margin-top:22px;min-height:310px}.module-content h3{font-size:30px;margin-top:27px}.specialisms{flex-wrap:wrap;gap:15px}.specialisms>span{flex-basis:100%;margin-top:10px}.profile{grid-template-columns:1fr;gap:40px}.portrait{max-width:330px;margin:0 auto;width:100%}.portrait img{height:340px}.profile-copy h2{font-size:36px}.network-grid{grid-template-columns:1fr;gap:0}.network-words{flex-wrap:wrap;justify-content:start;gap:15px;font-size:23px;padding:30px 0 40px}.network-words i:last-of-type{display:none}.ethics{flex-wrap:wrap;gap:20px}.ethics div{flex:1}.ethics>a{margin:0 0 0 78px}.contact{grid-template-columns:1fr;gap:40px}.contact address{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.contact-name{font-size:23px}footer{padding:35px 7%}footer>span{flex-basis:100%;font-size:7px}footer small{margin-top:10px}dialog{padding:40px 25px}.button{font-size:11px}html{scroll-padding-top:90px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Corporate identity: business card supplied by client. Photo-derived orange-red. */
:root{--brand:#d34b2c}
.brand{color:var(--brand);font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.1;letter-spacing:-1.1px;font-weight:700;white-space:nowrap}.brand .brand-name{display:block;font-weight:700}.brand .brand-claim{display:block;font-size:11px;font-weight:400;letter-spacing:0;line-height:1.8;margin-top:5px}
header{gap:30px}nav{gap:25px}.contact-nav{white-space:nowrap}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.055em;font-weight:400}h1{font-weight:500}h1 em,h2 em{font-style:normal;font-weight:500}
.hero{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}.hero .eyebrow{color:var(--brand)}.hero-desc{color:#69615b}.hero-bottom{color:#746b65}.hero .button.light{background:var(--brand);color:white}.hero-art{background:linear-gradient(110deg,#fff,#f1d3c2)}.hero-art:after{background:linear-gradient(90deg,#fff,transparent 24%),linear-gradient(0deg,#e5b79844,transparent 65%)}.hero-art .art-caption{color:#8b321f}.hero-art .art-number{color:#d34b2c}.hero-art .art-line{border-color:#d34b2c26}
.module-content .eyebrow{color:#fff0e8}.module-content p{color:#fff5ef}.profile .portrait img{mix-blend-mode:normal;filter:none}.profile .portrait-label{background:var(--brand)}.network h2 em{color:#ec9776}.network .eyebrow{color:#ecb29a}.network .seal{color:#ec9776;border-color:#ec9776}.network-words i{color:#ec9776}.network .ethics>a{color:#fff0e8}
footer>.brand{font-size:25px}footer>.brand .brand-claim{font-size:10px}.brand:hover{opacity:.85}
@media(max-width:1100px){header{gap:20px}.brand{font-size:23px}nav{gap:18px}.contact-nav{display:none}}
@media(max-width:650px){header{height:95px}.brand{font-size:22px;letter-spacing:-.8px}.brand .brand-claim{font-size:9px}nav{top:95px}.hero-art{opacity:.5}.hero-art:after{background:linear-gradient(90deg,#fff,transparent)}h1{font-size:46px}.hero-main{padding-top:55px}.hero .eyebrow{line-height:1.8;max-width:270px}footer>.brand{font-size:24px}html{scroll-padding-top:100px}}
@media(max-width:370px){.brand{font-size:19px}.brand .brand-claim{font-size:8px}h1{font-size:40px}}
/* Editorial refinement: calm proportions, local type and Vienna photography. */
@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-medium.ttf') format('truetype');font-weight:500 700;font-display:swap}
body{font-family:Manrope,Arial,sans-serif}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em}p{line-height:1.85}.brand{font-family:Arial,Helvetica,sans-serif}.brand .brand-claim{letter-spacing:.1px}header{height:115px}nav a{font-size:11px;letter-spacing:.2px}.contact-nav{font-size:11px}h2{font-size:clamp(34px,3.35vw,54px);line-height:1.19}.section{padding-top:105px;padding-bottom:105px}.eyebrow{letter-spacing:2px;font-size:9px}
.hero{grid-template-columns:1.5fr 1fr;min-height:650px;gap:0;padding:0 4.5% 0 0}.hero-main{padding:80px 7% 36px 8.4%}h1{font-size:clamp(45px,4.45vw,72px);line-height:1.13;margin:38px 0 24px;letter-spacing:-.055em}.hero-desc{max-width:440px;font-size:14px}.hero-bottom{margin-top:68px;padding-right:0;gap:12px;font-size:7px}.hero-main>.eyebrow{font-size:8px;line-height:1.8;letter-spacing:1.4px}.hero-art{margin:44px 0;position:relative;min-height:560px;background:#eae6e1;overflow:hidden}.hero-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:32% center;filter:saturate(.4)}.hero-art:after{background:linear-gradient(0deg,#1e201ec9 0%,transparent 45%);pointer-events:none}.hero-art .art-caption{left:30px;bottom:30px;color:#fff;letter-spacing:2.6px;font-size:9px;line-height:1.9}.hero-art .art-line{inset:16px;border-color:#ffffff4a}.hero-art .art-number{display:none}
.button{padding:17px 22px;font-size:11px;transition:background .2s,transform .2s}.hero .button.light:hover,.button.green:hover{background:#b53c22}.intro{border-top:0}.intro-cols{gap:48px}.intro p{font-size:13px}.tab-list button{min-height:81px}.tab-list button[aria-selected=true]{background:#fcf7f3;border-left:2px solid var(--brand)}.module-content{background:#f5f2ee;color:var(--ink);border-bottom:1px solid #ded6ce;padding:52px 40px}.module-content .eyebrow{color:var(--brand)}.module-content p{color:#655b54}.module-content .text-link{border-color:#ba8978;color:var(--brand)}.module-no{color:#6c5545;opacity:.07}.module-content h3{font-size:30px}.specialisms{margin-top:32px}.profile{background:#faf8f5;grid-template-columns:.9fr 1.3fr;gap:11%}.portrait{padding:0;border:0;background:#fff;max-width:350px;width:100%;margin:auto}.portrait img{height:auto;aspect-ratio:2/3;object-fit:contain}.portrait-label{left:-20px;bottom:-23px;font-size:8px;padding:17px 22px}.profile .portrait-label{background:#fff;color:#4d443d;border-left:2px solid var(--brand);box-shadow:0 10px 30px #49321c08}.profile-copy h2{font-size:clamp(34px,3.2vw,50px)}.lead{font-family:Manrope,Arial,sans-serif;font-size:19px;line-height:1.65}.network{background:#302d2a}.network-grid h2{font-size:clamp(34px,3.4vw,54px)}.network-grid p{color:#d6cec8}.network-words{font-family:Manrope,Arial,sans-serif;font-size:clamp(18px,2vw,29px);letter-spacing:-.6px}.ethics h3{font-size:23px}.contact-name{font-family:Manrope,Arial,sans-serif;font-size:19px}.contact address{font-size:12px}.contact h2{max-width:690px}footer{background:#faf8f5}.text-link:hover{color:var(--brand)}
@media(min-width:1600px){.hero-main{padding-left:12%}.hero{min-height:720px}.hero-art{min-height:620px}.hero-bottom{margin-top:85px}}
@media(max-width:1000px){header{height:100px}.hero{grid-template-columns:1.45fr 1fr;padding-right:4%;min-height:600px}.hero-main{padding:65px 6% 30px 9%}h1{font-size:48px}.hero-main>.eyebrow{font-size:7px;letter-spacing:1px}.hero-bottom{display:block;line-height:2.4}.hero-bottom a{display:block}.hero-art{min-height:520px}.section{padding-top:80px;padding-bottom:80px}.profile{gap:7%}.module-content{padding:40px 28px}}
@media(max-width:650px){header{height:95px}.hero{display:flex;flex-direction:column;padding:0;min-height:0}.hero-main{padding:48px 7% 25px}h1{font-size:43px;margin:30px 0 24px;line-height:1.14}.hero-desc{max-width:360px;font-size:13px}.hero-bottom{margin-top:32px;display:flex;justify-content:space-between;align-items:center;font-size:6px;line-height:1.8}.hero-bottom a{display:inline}.hero-art{position:relative;inset:auto;width:86%;margin:8px 7% 38px;min-height:0;height:255px;opacity:1}.hero-photo{object-position:50% 49%}.hero-art:after{background:linear-gradient(0deg,#1e201e99,transparent 65%)}.hero-art .art-caption{display:block;left:20px;bottom:20px;font-size:8px}.hero-art .art-line{display:block;inset:12px}.section{padding-top:62px;padding-bottom:62px}.intro-cols{gap:0}.profile{grid-template-columns:1fr;gap:55px}.portrait{max-width:290px;margin:0 auto}.portrait img{height:auto}.portrait-label{bottom:-18px;left:-10px}.module-content{min-height:320px}.tab-list button{min-height:61px}.network-words{font-size:21px}.network-grid h2{font-size:35px}.contact address{padding-left:0}.brand .brand-claim{font-size:9px}h2{font-size:34px}}
@media(max-width:370px){h1{font-size:37px}.hero-main>.eyebrow{font-size:6px}.hero-bottom{font-size:5px}.brand .brand-claim{font-size:8px}}

/* SVG line icons prevent platform emoji substitution. */
.ui-arrow{display:inline-block;width:16px;height:16px;vertical-align:-3px;color:inherit;flex-shrink:0}.button .ui-arrow{width:18px;height:18px}.tab-list .ui-arrow{width:19px;height:19px}.hero-bottom .ui-arrow{width:12px;height:12px;vertical-align:-3px}.demo-bar .ui-arrow{width:12px;height:12px}.contact-nav .ui-arrow{vertical-align:-4px}.brand,.brand-name,.brand-claim{color:#d34b2c}.hero .button.light,.button.green{background:#fff;color:#b53c22;border:1px solid #d34b2c}.hero .button.light:hover,.button.green:hover{background:#fff1eb;color:#a5361e}.module-content .eyebrow{color:#b53c22}.text-link{color:#b53c22}

.portrait-credit{position:absolute;right:8px;top:8px;font-size:9px;line-height:1.4;padding:4px 6px;background:rgba(255,255,255,.85);color:#514b47}

.contact address .email{white-space:nowrap;font-size:clamp(9px,2.4vw,12px)}

/* Review fixes: keyboard access, legal-text readability and contact layout. */
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;color:#272421;padding:12px 18px;border:2px solid #b53c22}.skip-link:focus{top:12px}
:focus-visible{outline:2px solid #b53c22;outline-offset:4px}
dialog h3{font-size:20px;line-height:1.4;letter-spacing:-.02em;margin:28px 0 10px}dialog p a{overflow-wrap:anywhere}dialog .review-note{border-left:2px solid #b53c22;padding-left:14px}
.contact>*,.profile>*,.modules>*{min-width:0}.contact address .email{font-size:clamp(10px,2.8vw,12px)}.hero .eyebrow{color:#b53c22}
@media(max-width:1100px){.contact{grid-template-columns:1fr;gap:35px}.contact address{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}}

/* Direct contact replaces the former simulated form. */
.contact-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.contact-call{border-color:var(--line);background:transparent;color:var(--ink)}.contact-call:hover{border-color:var(--brand);color:#b53c22}
