.contact-page{background:#fff}.contact-page .nav-cta.active{border-bottom:1px solid var(--accent)}.contact-page .eyebrow{font-size:12px}.contact-page .button{min-height:56px;padding-inline:25px;font-size:13px}.contact-hero{position:relative;min-height:calc(100svh - 34px);display:grid;grid-template-columns:.66fr 1.34fr;align-items:center;padding:145px clamp(22px,5.5vw,105px) 70px;overflow:hidden;background:linear-gradient(90deg,#fff 0 66%,var(--ink) 66%)}.contact-hero-copy{position:relative;z-index:5}.contact-hero h1,.enquiry-paths header h2,.form-intro h2,.office-copy h2,.contact-closing h2{margin:0;font-size:clamp(64px,8.5vw,136px);font-weight:600;line-height:.87;letter-spacing:-.078em}.contact-hero h1 em,.enquiry-paths header h2 em,.form-intro h2 em,.office-copy h2 em,.contact-closing h2 em{font-family:Georgia,serif;font-weight:400}.contact-hero-copy>p:not(.eyebrow){max-width:550px;margin:35px 0;color:#575982;font-size:clamp(18px,1.5vw,23px);line-height:1.55}.contact-stage{--stage-y:0;position:relative;height:min(66vw,750px);margin-right:-8vw;transform:translateY(var(--stage-y));transition:transform .12s linear;isolation:isolate}.stage-disc{position:absolute;z-index:1;width:60%;aspect-ratio:1;right:8%;top:13%;border-radius:50%;background:var(--accent)}.stage-ring{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.28);border-radius:50%}.ring-one{width:72%;aspect-ratio:1;right:3%;top:6%}.ring-two{width:91%;aspect-ratio:1;right:-7%;top:-3%}.stage-grid{position:absolute;inset:4%;background:repeating-linear-gradient(90deg,transparent 0 47px,rgba(255,255,255,.07) 48px 49px),repeating-linear-gradient(0deg,transparent 0 47px,rgba(255,255,255,.07) 48px 49px)}.stage-arrow{position:absolute;z-index:3;left:7%;top:8%;color:#fff;font-size:clamp(150px,24vw,380px);font-weight:300;line-height:1}.stage-note{position:absolute;z-index:4;padding:14px 17px;border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(8,9,79,.85);font:500 10px "DM Mono",monospace;text-transform:uppercase}.note-one{right:5%;top:14%}.note-two{left:8%;bottom:15%}.hero-word{position:absolute;left:1%;bottom:-4vw;color:rgba(11,13,120,.045);font-size:23vw;font-weight:800;letter-spacing:-.1em}.contact-hero-copy>*{opacity:0}.page-ready .contact-hero-copy>*{animation:contact-in .75s both cubic-bezier(.2,.8,.2,1)}.page-ready .contact-hero-copy .eyebrow{animation-delay:.2s}.page-ready .contact-hero-copy h1{animation-delay:.3s}.page-ready .contact-hero-copy>p{animation-delay:.4s}.page-ready .contact-hero-copy .button{animation-delay:.5s}.page-ready .contact-stage{animation:stage-in 1s .35s both cubic-bezier(.2,.8,.2,1)}@keyframes contact-in{from{opacity:0;transform:translateX(-100px)}to{opacity:1;transform:none}}@keyframes stage-in{from{opacity:0;transform:translateX(170px)}to{opacity:1}}
.enquiry-paths{padding:clamp(110px,13vw,200px) clamp(20px,5vw,90px)}.enquiry-paths header{margin-bottom:100px}.enquiry-paths header h2{font-size:clamp(56px,7.5vw,120px)}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.path-grid>a{min-height:510px;display:flex;flex-direction:column;align-items:flex-start;padding:50px;border-right:1px solid var(--line);transition:color .3s,background .3s}.path-grid>a:last-child{border:0}.path-grid>a:hover{color:#fff;background:var(--ink)}.path-grid b{font:500 12px "DM Mono",monospace}.path-grid h3{margin:85px 0 20px;font-size:clamp(34px,3.8vw,58px);line-height:.95;letter-spacing:-.06em}.path-grid p{max-width:400px;color:#606289;font-size:18px;line-height:1.6}.path-grid>a:hover p{color:#c4c5dc}.path-grid span{margin-top:auto;border-bottom:1px solid var(--accent);font:500 12px "DM Mono",monospace;text-transform:uppercase}
.contact-form-section{display:grid;grid-template-columns:.42fr .58fr;color:#fff;background:var(--deep)}.form-intro{padding:clamp(70px,7vw,120px)}.form-intro h2{font-size:clamp(54px,6.2vw,98px)}.form-intro>p:not(.eyebrow){max-width:520px;color:#c3c4dc;font-size:19px;line-height:1.6}.direct-contact{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-top:65px}.direct-contact span{color:#9b9cbb;font:500 11px "DM Mono",monospace;text-transform:uppercase}.direct-contact a{font-size:17px;border-bottom:1px solid rgba(255,255,255,.25)}.enquiry-form{padding:clamp(70px,7vw,120px);color:var(--ink);background:var(--gold-soft)}.field,.field-row{display:grid}.field-row{grid-template-columns:1fr 1fr;gap:30px}.field{gap:10px;margin-bottom:28px}.field label{font:500 11px "DM Mono",monospace;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;box-sizing:border-box;padding:15px 0;border:0;border-bottom:1px solid rgba(11,13,120,.35);border-radius:0;outline:0;color:var(--ink);background:transparent;font:500 18px Manrope,sans-serif}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.field ::placeholder{color:#8889a2}.form-finish{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}.form-finish p{max-width:370px;color:#66688d;font-size:13px;line-height:1.5}.form-status{font:500 12px "DM Mono",monospace}
.office-section{min-height:830px;display:grid;grid-template-columns:.42fr .58fr}.office-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,7vw,120px)}.office-copy h2{font-size:clamp(54px,6.5vw,102px)}.office-copy address{display:flex;flex-direction:column;gap:7px;margin:45px 0;font-style:normal;font-size:18px;line-height:1.5}.office-copy address strong{margin-bottom:8px;font-size:22px}.office-map{position:relative;overflow:hidden;color:var(--ink);background:#eeeee9}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(11,13,120,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(11,13,120,.12) 1px,transparent 1px);background-size:45px 45px}.map-rings{position:absolute;left:53%;top:49%;width:0;height:0;display:grid;place-items:center}.map-rings i{position:absolute;width:170px;aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;animation:map-pulse 3s infinite}.map-rings i:nth-child(2){width:330px;opacity:.5;animation-delay:.5s}.map-rings i:nth-child(3){width:520px;opacity:.22;animation-delay:1s}.map-rings b{position:absolute;z-index:2;display:grid;place-items:center;width:74px;aspect-ratio:1;border-radius:50%;color:var(--ink);background:var(--accent);font:500 12px "DM Mono",monospace}.map-label,.map-coordinate{position:absolute;padding:12px 15px;border:1px solid var(--line);background:rgba(255,255,255,.94);font:500 10px "DM Mono",monospace;text-transform:uppercase}.label-jhb{left:13%;top:21%}.label-office{right:8%;bottom:18%}.map-coordinate{right:5%;top:5%}@keyframes map-pulse{50%{transform:scale(1.035);opacity:.15}}
.contact-closing{min-height:88vh;display:flex;align-items:center;padding:clamp(90px,11vw,180px) clamp(25px,7vw,120px);color:#fff;background:radial-gradient(circle at 78% 25%,#2b2e9b,var(--ink) 43%,var(--deep) 82%)}.contact-closing h2{font-size:clamp(65px,9.5vw,150px)}.contact-closing .button{margin-top:50px}.reveal{opacity:0;transform:translateY(60px);transition:opacity .85s,transform .85s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.contact-hero{grid-template-columns:1fr;padding-top:155px;background:linear-gradient(180deg,#fff 0 63%,var(--ink) 63%)}.contact-stage{height:75vw;min-height:560px;margin:40px -8vw 0}.path-grid,.contact-form-section,.office-section{grid-template-columns:1fr}.path-grid>a{border-right:0;border-bottom:1px solid var(--line)}.office-map{min-height:650px}}
@media(max-width:700px){.contact-hero{padding:135px 20px 55px}.contact-hero h1{font-size:18vw}.contact-stage{height:105vw;min-height:430px;margin:35px -65px 0}.stage-note{font-size:8px}.enquiry-paths{padding:90px 10px}.enquiry-paths header h2{font-size:15vw}.path-grid>a{min-height:390px;padding:42px 22px}.path-grid h3{margin-top:55px}.form-intro,.enquiry-form{padding:75px 22px}.form-intro h2{font-size:14vw}.field-row{grid-template-columns:1fr;gap:0}.form-finish{align-items:flex-start;flex-direction:column}.office-copy{padding:80px 22px}.office-copy h2{font-size:15vw}.office-map{min-height:500px}.map-rings i:nth-child(3){width:360px}.contact-closing{padding:100px 22px}.contact-closing h2{font-size:18vw}}
@media(prefers-reduced-motion:reduce){.contact-hero-copy>*,.contact-stage,.reveal{opacity:1;transform:none;animation:none!important;transition:none!important}.map-rings i{animation:none}}
