.page{--navy:#061b31;--ink:#102945;--gold:#ffb20f;--paper:#f4f0e7;min-height:100vh;background:var(--paper);color:var(--ink)}
.page *{box-sizing:border-box}
.page a{color:inherit;text-decoration:none}
.header{height:96px;padding:0 max(24px,7vw);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:45px;background:var(--navy);color:#fff;border-bottom:1px solid #ffffff29}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:40px;height:52px;object-fit:contain}
.brand>span{display:grid}
.brand b{font-family:var(--font-display);font-size:1.4rem;line-height:1}
.brand small{max-width:190px;margin-top:5px;font-size:.43rem;font-weight:900;line-height:1.35;letter-spacing:.14em;opacity:.7}
.header nav{display:flex;gap:30px;font-size:.72rem;font-weight:800}
.header nav a{opacity:.72}
.header nav a:hover{color:var(--gold);opacity:1}
.headerMail{justify-self:end;padding:14px 17px;background:var(--gold);color:var(--navy);font-size:.65rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em}
.headerMail span{margin-left:16px}

.hero{position:relative;min-height:650px;padding:90px max(24px,7vw) 80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);align-items:end;gap:clamp(40px,6vw,100px);overflow:hidden;background:var(--navy);color:#fff}
.hero:after{content:"";position:absolute;right:-80px;bottom:-160px;width:520px;height:520px;border:1px solid #ffffff1f;border-radius:50%;box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff05}
.heroIndex{position:absolute;top:50%;right:4vw;transform:translateY(-54%);font-family:var(--font-display);font-size:clamp(14rem,28vw,32rem);line-height:.7;color:#ffffff05;letter-spacing:-.08em}
.heroCopy{position:relative;z-index:1}
.eyebrow,.sectionLabel{display:block;color:var(--gold);font-size:.65rem;font-weight:950;letter-spacing:.18em}
.hero h1{max-width:760px;margin:28px 0 30px;font-size:clamp(4.3rem,7.8vw,8rem);line-height:.84;letter-spacing:-.055em;text-transform:uppercase}
.heroCopy p{max-width:620px;margin:0;color:#b8c3cc;font-size:1.05rem;line-height:1.65}
.heroEmail{position:relative;z-index:1;min-height:150px;padding:27px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:10px;background:var(--gold);color:var(--navy)}
.heroEmail small{grid-column:1/-1;font-size:.55rem;font-weight:950;letter-spacing:.15em}
.heroEmail strong{font-size:1.45rem}
.heroEmail>.cravIcon{width:1.3rem;height:1.3rem}

.location{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:120px 0 130px;display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;align-items:center}
.location h2,.contactIntro h2{margin:28px 0 38px;font-family:var(--font-display);font-size:clamp(3rem,5.2vw,5.6rem);line-height:.89;letter-spacing:-.05em;text-transform:uppercase}
.location h2 em,.contactIntro h2 em{color:#d98d00;font-style:normal}
.location address{display:grid;gap:7px;padding:24px 0;border-top:2px solid var(--ink);border-bottom:1px solid #bdc5c6;font-style:normal;color:#607386;font-size:.9rem}
.location address strong{margin-bottom:4px;color:var(--ink);font-size:1.05rem}
.locationActions{display:flex;align-items:center;gap:28px;margin-top:28px;font-size:.72rem;font-weight:900;text-transform:uppercase}
.locationActions a:first-child{padding:16px 18px;background:var(--navy);color:#fff}
.locationActions a:first-child .cravIcon{margin-left:24px;color:var(--gold)}
.locationActions a:last-child{border-bottom:1px solid var(--ink);padding-bottom:4px}
.mapFrame{position:relative;min-height:610px;padding:18px 18px 62px;background:var(--gold);box-shadow:24px 24px 0 #10294518}
.mapFrame iframe{width:100%;height:530px;border:0;filter:saturate(.78) contrast(1.05)}
.mapFrame>a{position:absolute;right:22px;bottom:21px;font-size:.67rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.mapFrame>a .cravIcon{margin-left:20px}

.contactSection{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--navy);color:#fff}
.contactIntro{padding:110px max(30px,7vw)}
.contactIntro p{max-width:470px;color:#aebbc6;line-height:1.7}
.contactIntro>div{display:grid;gap:5px;margin-top:60px;padding-top:18px;border-top:1px solid #ffffff2b;font-size:.7rem;text-transform:uppercase}
.contactIntro>div b{color:var(--gold);font-size:.55rem;letter-spacing:.16em}
.contactIntro>div span{color:#d6dee4}
.form{padding:110px max(30px,7vw);display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:28px 30px;background:var(--gold);color:var(--navy)}
.field{display:grid;gap:10px;min-width:0}
.field label{font-size:.59rem;font-weight:950;text-transform:uppercase;letter-spacing:.14em}
.field input,.field select,.field textarea{width:100%;border:2px solid #d78c00;border-radius:3px;background:rgba(255,255,255,.28);color:var(--navy);font:inherit;font-size:1rem;outline:0;transition:border-color .2s,background-color .2s,box-shadow .2s}
.field input,.field select{height:58px;padding:0 15px}
.field select{cursor:pointer}
.field textarea{min-height:190px;padding:16px;line-height:1.55;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:rgba(6,27,49,.62);opacity:1}
.field input:hover,.field select:hover,.field textarea:hover{background:rgba(255,255,255,.38)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#b97500;background:rgba(255,255,255,.48);box-shadow:0 0 0 3px rgba(185,117,0,.16)}
.field input:user-invalid,.field textarea:user-invalid{border-color:#8b2e22}
.fieldHint{display:flex;align-items:center;justify-content:space-between;gap:16px;color:rgba(6,27,49,.72);font-size:.58rem;font-weight:800;letter-spacing:.04em}
.fullField{grid-column:1/-1}
.contactNotice{grid-column:1/-1;padding:15px 18px;border-left:4px solid var(--gold);background:#fff;color:var(--navy);font-weight:750;line-height:1.5}.contactNotice[data-type="success"]{border-color:#23864b}.contactNotice[data-type="error"]{border-color:#c23b31}.contactHoneypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.formFoot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:12px}
.formFoot p{max-width:290px;margin:0;font-size:.7rem;line-height:1.5}
.formFoot button{min-width:230px;padding:18px 20px;border:0;background:var(--navy);color:#fff;font:inherit;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.formFoot button .cravIcon{float:right;color:var(--gold)}
.formFoot button:hover{background:#102945}

.quickLinks{padding:95px max(24px,7vw) 110px;background:var(--paper)}
.quickLinks>span{color:#9b6500;font-size:.6rem;font-weight:950;letter-spacing:.18em}
.quickLinks nav{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:2px solid var(--navy)}
.quickLinks a{min-height:160px;padding:30px 28px 25px 0;display:grid;align-content:space-between;border-bottom:1px solid #bdc5c6}
.quickLinks a+a{padding-left:28px;border-left:1px solid #bdc5c6}
.quickLinks b{font-size:1.3rem;text-transform:uppercase}
.quickLinks a>span{color:#718391;font-size:.7rem;font-weight:800}
.quickLinks a:hover b{color:#b47300}

.footer{padding:55px max(24px,7vw);display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:40px;background:var(--navy);color:#fff;border-top:4px solid var(--gold)}
.footer p{margin:0;color:#97a7b5;font-size:.73rem;line-height:1.7}
.footer>div{display:flex;gap:24px;font-size:.7rem;font-weight:850}

@media(max-width:1120px){
  .header{grid-template-columns:1fr auto}.header nav{display:none}
  .hero{grid-template-columns:1fr}.heroEmail{width:min(100%,520px)}
  .location{grid-template-columns:1fr;gap:70px}.locationCopy{max-width:720px}.mapFrame{min-height:530px}.mapFrame iframe{height:450px}
  .contactSection{grid-template-columns:1fr}.contactIntro{padding-bottom:75px}.form{padding-top:75px}
  .footer{grid-template-columns:1fr auto}.footer p{display:none}
}

@media(max-width:650px){
  .header{height:82px;padding:0 17px}.brand{gap:8px}.brand img{width:34px;height:43px}.brand b{font-size:1.18rem}.brand small{font-size:.36rem;max-width:145px}.headerMail{padding:13px 12px;font-size:.56rem}.headerMail span{display:none}
  .hero{min-height:700px;padding:70px 20px 36px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:34px}.heroIndex{top:31%;right:-20px;font-size:12rem}.hero h1{font-size:clamp(2.65rem,12.5vw,4.15rem);margin-top:22px}.heroCopy p{font-size:.94rem}.heroEmail{min-height:118px;padding:22px}.heroEmail strong{font-size:clamp(.98rem,5.1vw,1.2rem);white-space:nowrap}
  .location{width:calc(100% - 32px);padding:82px 0 95px;gap:52px}.location h2,.contactIntro h2{font-size:clamp(2.85rem,13.8vw,3.5rem)}.locationActions{align-items:flex-start;flex-direction:column}.mapFrame{min-height:390px;padding:10px 10px 56px;box-shadow:12px 12px 0 #10294518}.mapFrame iframe{height:325px}
  .contactIntro{padding:78px 20px 62px}.contactIntro>div{margin-top:40px}.form{padding:65px 20px 76px;grid-template-columns:1fr;gap:26px}.field,.fullField{grid-column:1}.field input,.field select{height:56px}.field textarea{min-height:180px}.formFoot{grid-column:1;align-items:flex-start;flex-direction:column}.formFoot button{width:100%}
  .quickLinks{padding:72px 20px 82px}.quickLinks nav{grid-template-columns:1fr}.quickLinks a,.quickLinks a+a{min-height:130px;padding:24px 0;border-left:0}
  .footer{padding:45px 20px;grid-template-columns:1fr;gap:30px}.footer>div{display:grid;gap:12px}
}

@media(prefers-reduced-motion:reduce){
  .field input,.field select,.field textarea{transition:none}
}

@media(max-width:380px){
  .hero{min-height:680px;padding:58px 16px 28px;gap:26px}.hero h1{font-size:clamp(2.05rem,10.5vw,2.6rem);line-height:.88}.heroCopy p{font-size:.9rem}.heroEmail{padding:18px}.heroEmail strong{font-size:clamp(.88rem,4.7vw,1.02rem)}
  .location{width:calc(100% - 28px);padding:70px 0 82px}.location h2,.contactIntro h2{font-size:clamp(2rem,10.2vw,2.45rem)}.mapFrame{box-shadow:9px 9px 0 #10294518}
  .contactIntro,.form,.quickLinks{padding-inline:16px}.locationActions a:first-child{width:100%}.fieldHint{align-items:flex-start;flex-direction:column;gap:6px}
}
