/* Contact page only. Existing page styles and inquiry flows remain independent. */
.contact-page{background:#f8faf9;color:#063d38}
.contact-page .ct-shell{width:calc(100% - 80px);max-width:1540px;margin-inline:auto}
.contact-page em{font-style:normal;color:#efbd57}
.contact-page .ct-hero{position:relative;isolation:isolate;overflow:hidden;background:#002b24}
.contact-page .ct-hero>img{position:absolute;top:0;right:0;width:auto;max-width:100%;height:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(90deg,transparent,#000 26%);z-index:-2}
.contact-page .ct-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#002a26 0%,#002a26f2 28%,#002a2699 46%,transparent 75%)}
.contact-page .ct-hero-copy{width:49%;padding-block:36px 40px;min-height:300px;display:flex;flex-direction:column;justify-content:center}
.contact-page .ct-kicker{font-size:12px;letter-spacing:.19em;font-weight:700;color:#f4c75f;margin:0 0 8px}
.contact-page .ct-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,4.8vw,76px);line-height:1.08;margin:0;color:white}
.contact-page .ct-gold-rule{width:64px;height:3px;border-radius:3px;background:#efbd57;margin:18px 0}
.contact-page .ct-hero-copy>p:last-child{color:#f3f8f6;font-size:clamp(16px,1.15vw,19px);line-height:1.55;margin:0;max-width:600px}
.contact-page .ct-main{padding:24px 0 32px;background:radial-gradient(ellipse at 15% 15%,#fff,transparent 60%),#f8faf9}
.contact-page .ct-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}
.contact-page .ct-card{display:flex;align-items:flex-start;gap:16px;min-width:0;background:white;border:1px solid #edf1ef;box-shadow:0 6px 24px #163e2c06;border-radius:12px;padding:20px}
.contact-page .ct-icon{display:grid;place-items:center;width:54px;height:54px;flex-shrink:0;border-radius:50%;color:#efc361;background:radial-gradient(circle at 65% 25%,#155747,#002b24 75%)}
.contact-page svg{width:23px;height:23px;flex-shrink:0}
.contact-page .ct-icon svg{width:28px;height:28px}
.contact-page .ct-card h2{font-family:inherit;letter-spacing:0;font-size:16px;margin:2px 0 5px;font-weight:700;line-height:1.3}
.contact-page .ct-card p{font-size:13px;line-height:1.45;color:#567078;margin:0 0 7px}
.contact-page .ct-contact-value{font-weight:600;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.contact-page .ct-contact-value>span{color:#567078;font-size:13px;font-weight:400}
.contact-page .ct-contact-value a{text-decoration:none;color:#003b33}
.contact-page .ct-contact-value a:hover{text-decoration:underline}
.contact-page .ct-layout{display:grid;grid-template-columns:1.04fr 1fr;gap:20px;align-items:stretch}
.contact-page .ct-form-panel{border-radius:14px;padding:26px 30px;background:radial-gradient(ellipse at 100% 10%,#0c4336,transparent 65%),#002e28;color:#fff;border:1px solid #0d473b}
.contact-page .ct-form-panel h2,.contact-page .ct-location h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,2.25vw,38px);margin:0 0 8px}
.contact-page .ct-form-panel>p:not(.ct-kicker){font-size:14px;margin:0 0 12px;line-height:1.5}
.contact-page .ct-required{font-size:12px;color:#c6d8d2;margin:0 0 8px}
.contact-page .ct-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.contact-page .ct-field{min-width:0}
.contact-page .ct-field label{display:block;font-size:13px;font-weight:500;margin-bottom:4px;line-height:1.4}
.contact-page .ct-field label>span[aria-hidden]{color:#f4c75f}
.contact-page .ct-input{position:relative;color:#47716f}
.contact-page .ct-input>svg{position:absolute;inset-inline-start:12px;top:14px;width:18px;height:18px;pointer-events:none}
.contact-page .ct-input input,.contact-page .ct-input select,.contact-page .ct-input textarea{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;border:1px solid #d6e2de;background:#fcfefd;color:#103e39;border-radius:6px;font:inherit;font-size:15px;line-height:1.5;padding:11px 12px;padding-inline-start:38px;min-height:46px;outline-offset:3px}
.contact-page .ct-input select{padding-inline-end:24px}
.contact-page .ct-input textarea{resize:vertical;min-height:92px}
.contact-page .ct-input input[type=email],.contact-page .ct-input input[type=tel]{direction:ltr;text-align:start}
.contact-page .ct-input [aria-invalid=true]{border:2px solid #f9a79a;background:#fff8f6}
.contact-page .ct-wide{grid-column:1/-1}
.contact-page .ct-hint{font-size:11px;line-height:1.4;color:#c5d9d2;margin:0;display:block}
.contact-page .ct-error{display:block;font-size:12px;color:#ffb9ab;line-height:1.45;margin-top:3px}
.contact-page .ct-error:empty{display:none}
.contact-page .ct-submit{margin-top:14px;min-height:46px;padding:11px 22px;font-size:14px;gap:10px}
.contact-page .ct-submit:disabled{opacity:.7;cursor:wait}
.contact-page #ct-status{font-size:14px;line-height:1.5;margin:10px 0 0;color:#ffcfbc}
.contact-page #ct-status:empty{display:none}
.contact-page #ct-status[data-state=success]{color:#b9f2d0}
.contact-page .ct-location{position:relative;isolation:isolate;border:1px solid #e3e9e5;border-radius:14px;overflow:hidden;background:#f1f5f0}
.contact-page .ct-location>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-2}
.contact-page .ct-location:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fbfdfbf7,#fbfdfbe8 28%,#fbfdfb66 65%,transparent)}
.contact-page .ct-location-copy{width:61%;padding:38px 0 38px 30px;position:relative}
.contact-page .ct-location .ct-kicker{color:#ad791e}
.contact-page .ct-location h2 em{color:#ad791e}
.contact-page .ct-location p:not(.ct-kicker){font-size:15px;line-height:1.6;color:#426065;margin:0 0 22px}
.contact-page .ct-location-address{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.contact-page .ct-directions{border:1px solid #527674;border-radius:24px;min-height:44px;padding:10px 16px;font-size:14px;gap:8px;background:#ffffffab;color:#154940}
.contact-page [hidden]{display:none!important}
.contact-page :is(input,textarea,select,button,a):focus-visible{outline:3px solid #caa254;outline-offset:3px}
html[dir=rtl] .contact-page .ct-hero:after{background:linear-gradient(270deg,#002a26,#002a26f2 28%,#002a2699 46%,transparent 75%)}
html[dir=rtl] .contact-page .ct-hero-copy{margin-inline-start:0}
html[dir=rtl] .contact-page .ct-hero>img{right:auto;left:0;object-position:left center;mask-image:linear-gradient(270deg,transparent,#000 26%)}
html[dir=rtl] .contact-page .ct-hero h1,html[dir=rtl] .contact-page .ct-form-panel h2,html[dir=rtl] .contact-page .ct-location h2{font-family:inherit;line-height:1.4}
html[dir=rtl] .contact-page .ct-location-copy{padding:38px 30px 38px 0}
html[dir=rtl] .contact-page .ct-location:after{background:linear-gradient(270deg,#fbfdfbf7,#fbfdfbe8 28%,#fbfdfb66 65%,transparent)}
@media(min-width:1600px){.contact-page .ct-hero-copy{min-height:330px}}
@media(max-width:1199px){.contact-page .ct-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-page .ct-hero-copy{width:55%}.contact-page .ct-location-copy{width:80%}.contact-page .ct-form-panel{padding:24px}.contact-page .ct-location-copy{padding-inline-start:24px}}
@media(max-width:850px){.contact-page .ct-shell{width:calc(100% - 40px)}.contact-page .ct-layout{grid-template-columns:1fr}.contact-page .ct-location{min-height:350px}.contact-page .ct-location-copy{width:58%}.contact-page .ct-hero-copy{width:65%}.contact-page .ct-hero>img{object-position:65% center}.contact-page .ct-hero:after{background:linear-gradient(90deg,#002a26f7,#002a26c9 50%,#002a2622)}html[dir=rtl] .contact-page .ct-hero:after{background:linear-gradient(270deg,#002a26f7,#002a26c9 50%,#002a2622)}}
@media(max-width:560px){.contact-page .ct-shell{width:calc(100% - 32px)}.contact-page .ct-hero-copy{width:100%;min-height:0;padding:28px 0 158px}.contact-page .ct-hero>img{top:auto;height:auto;bottom:0;object-fit:contain;aspect-ratio:3/1;object-position:center}.contact-page .ct-hero:after{background:linear-gradient(#002a26 0%,#002a26 57%,transparent 87%)}html[dir=rtl] .contact-page .ct-hero:after{background:linear-gradient(#002a26 0%,#002a26 57%,transparent 87%)}.contact-page .ct-hero h1{font-size:48px}.contact-page .ct-cards{grid-template-columns:1fr;gap:12px;margin-bottom:18px}.contact-page .ct-card{padding:18px;align-items:center}.contact-page .ct-main{padding-top:18px}.contact-page .ct-fields{grid-template-columns:1fr}.contact-page .ct-form-panel{padding:22px 18px}.contact-page .ct-submit{width:100%;justify-content:center}.contact-page .ct-location{min-height:390px}.contact-page .ct-location-copy{width:85%;padding:26px 18px}.contact-page .ct-location:after{background:linear-gradient(#fbfdfbf7 0%,#fbfdfbd9 45%,#fbfdfb11)}html[dir=rtl] .contact-page .ct-location:after{background:linear-gradient(#fbfdfbf7 0%,#fbfdfbd9 45%,#fbfdfb11)}html[dir=rtl] .contact-page .ct-location-copy{padding:26px 18px}.contact-page .ct-contact-value{font-size:15px}}
@media(max-width:560px){.contact-page .ct-hero>img,html[dir=rtl] .contact-page .ct-hero>img{width:100%;mask-image:none}}
/* The shared homepage heading has a fixed width; this page must use its cell. */
.contact-page .ct-hero h1{width:100%;max-width:100%;overflow-wrap:break-word}
@media(max-width:850px),(pointer:coarse){
 .contact-page .ct-input input,.contact-page .ct-input select,.contact-page .ct-input textarea{font-size:16px}
}
