header.contact-hero{min-height:1220px;background:var(--dark);color:#fff;}
      .contact-hero nav{position:relative;z-index:2;}
      .contact-hero__content{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) minmax(390px,.95fr);gap:100px;align-items:start;width:min(calc(100% - 48px),1200px);margin:112px auto 0;}
      .contact-copy{padding:18px 0 0;}
      .contact-copy h1{max-width:440px;margin-bottom:18px;color:#fff;font-size:58px;line-height:1.02;letter-spacing:-.045em;}
      .contact-copy p{margin-bottom:18px;color:#fff;font-size:14px;line-height:1.35;}
      .contact-copy .website{font-size:13px;font-weight:700;text-transform:uppercase;}
      .contact-copy .website span{color:var(--green);}
      .contact-image-wrap{position:relative;margin-top:48px;}
      .contact-image-wrap::before{content:"";position:absolute;left:-220px;top:10px;width:300px;height:300px;border-radius:50%;background:var(--lime2);}
      .contact-image{position:relative;z-index:1;width:340px;height:340px;margin:0 auto;border-radius:50%;background-image:url('../../../assets/images/why-choose.jpg');}
      .contact-form{min-width:0;padding-top:8px;}
      .contact-form label{display:block;margin:0 0 8px 22px;color:#fff;font-size:16px;line-height:1.2;}
      .contact-form input,.contact-form select,.contact-form textarea{display:block;min-width:0;width:100%;height:48px;margin:0 0 30px;padding:0 25px;border:0;border-radius:999px;background:#fff;color:#222;font:400 14px var(--font);outline:2px solid transparent;}
      .contact-form input::placeholder,.contact-form textarea::placeholder{color:#c9c9c9;}
      .contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline-color:var(--green);}
      .contact-form select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#222 50%),linear-gradient(135deg,#222 50%,transparent 50%);background-position:calc(100% - 28px) 21px,calc(100% - 22px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
      .contact-form textarea{height:90px;padding-top:16px;border-radius:26px;resize:vertical;}
      .contact-form .btn-row{margin-top:4px;}
      .contact-form .pill{min-height:46px;padding:10px 25px;background:var(--green);font-size:12px;letter-spacing:0;text-transform:uppercase;}
      .contact-form .arrow-circle{width:46px;height:46px;background:var(--green);color:#111;}
      .contact-hero__bottom{position:absolute;right:0;bottom:0;left:0;height:88px;background:var(--green);clip-path:polygon(0 0,100% 100%,100% 100%,0 100%);}
      .offices{padding:132px 0 154px;background:#fff;text-align:center;}
      .offices h2{margin-bottom:58px;color:var(--dark);font-size:58px;line-height:1;letter-spacing:-.05em;}
      .offices h2::after{content:"";display:block;width:290px;height:14px;margin:18px auto 0;background:var(--green);clip-path:polygon(0 0,100% 68%,100% 100%,0 38%);}
      .office-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px;align-items:center;}
      .office{display:grid;place-items:center;width:min(100%,300px);aspect-ratio:1;margin:0 auto;padding:35px;border-radius:50%;background:var(--dark);color:#fff;text-align:center;}
      .office:nth-child(2){background:var(--green);color:#111;}
      .office h3{margin-bottom:22px;font-size:16px;font-weight:700;line-height:1;text-transform:uppercase;}
      .office p{font-size:14px;line-height:1.35;}
      @media (min-width:768px) and (max-width:1024px){
        header.contact-hero{min-height:1060px;}
        .contact-hero__content{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:52px;margin-top:84px;}
        .contact-copy h1{font-size:48px;}
        .contact-image{width:280px;height:280px;}
        .contact-image-wrap::before{left:-160px;width:240px;height:240px;}
        .contact-form input,.contact-form select{margin-bottom:24px;}
        .offices{padding:100px 0 120px;}
        .offices h2{font-size:48px;}
        .office{padding:24px;}
      }
      @media (max-width:767px){
        header.contact-hero{min-height:0;padding-bottom:80px;}
        .contact-hero__content{grid-template-columns:1fr;gap:48px;width:calc(100% - 40px);margin-top:54px;}
        .contact-copy{padding:0;}
        .contact-copy h1{font-size:42px;}
        .contact-copy p{font-size:13px;}
        .contact-image-wrap{order:2;margin-top:0;}
        .contact-image{width:min(76vw,300px);height:auto;aspect-ratio:1;}
        .contact-image-wrap::before{left:-130px;top:30px;width:190px;height:190px;}
        .contact-form{order:1;width:100%;padding:0 20px 0 0;}
        .contact-form label{margin-left:16px;font-size:14px;}
        .contact-form input,.contact-form select,.contact-form textarea{height:44px;margin-bottom:22px;padding:0 20px;font-size:13px;}
        .contact-form textarea{height:84px;padding-top:14px;}
        .contact-form .pill{flex:1;min-width:0;padding:10px 14px;font-size:10px;}
        .contact-form .arrow-circle{width:44px;height:44px;}
        .contact-hero__bottom{height:60px;}
        .offices{padding:78px 0 86px;}
        .offices h2{font-size:42px;margin-bottom:42px;}
        .offices h2::after{width:220px;height:11px;margin-top:14px;}
        .office-grid{grid-template-columns:1fr;gap:28px;}
        .office{width:min(78vw,290px);padding:30px;}
      }

/* Final contact reference: form, portrait and office-circle proportions. */
.contact-form select:has(option[value=""]:checked){color:#c9c9c9}
@media(min-width:1100px){
 header.contact-hero{min-height:1284px}
 .contact-hero__content{width:1064px;grid-template-columns:540px 430px;gap:94px;margin-top:112px}
 .contact-copy{padding-top:18px}
 .contact-copy h1{font-size:72px;max-width:540px;line-height:1.02}
 .contact-copy p{font-size:16px}
 .contact-copy .website{font-size:16px;margin-top:24px}
 .contact-image{width:400px;height:400px;margin-left:0}
 .contact-image-wrap{margin-top:50px}
 .contact-image-wrap::before{width:400px;height:400px;left:-440px;top:0}
 .contact-form label{font-size:24px;margin-bottom:12px}
 .contact-form input,.contact-form select{margin-bottom:38px;font-size:16px}
 .contact-form .pill{font-size:14px}
 .offices{padding:170px 0 128px}
 .offices h2{font-size:72px;margin-bottom:44px}
 .offices h2::after{width:340px}
 .office-grid{max-width:1050px;margin:auto;gap:60px}
 .office{width:310px;padding:30px}
 .office p{font-size:18px;line-height:1.3}
 .office h3{font-size:18px}
}
@media(min-width:768px) and (max-width:1024px){.office-grid{gap:24px}.office{width:100%;padding:22px}.office p{font-size:13px;overflow-wrap:anywhere}}
