.contact-page{min-height:100%;background:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.62)),url('/images/bg.jpg') center/cover fixed;color:#f4e8c8;}
.contact-page .overlay{z-index:0;}
.contact-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(1080px,calc(100% - 36px));margin:0 auto;padding:20px 0 10px;}
.contact-brand{color:#f2dfb4;font-family:'Cinzel',serif;font-size:18px;letter-spacing:1px;text-decoration:none;}
.contact-brand span{color:#e3bc63;}
.contact-brand small{display:block;margin-top:2px;color:#c7d8ba;font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;text-align:center;text-transform:uppercase;}
.contact-back{color:#e3bc63;font-family:'Cinzel',serif;font-size:12px;text-decoration:none;}
.contact-back:hover,.contact-back:focus-visible{color:#fff1cc;text-decoration:underline;text-underline-offset:4px;}
.contact-page .contact-main{position:relative;z-index:1;display:block;flex:1;width:min(760px,calc(100% - 32px));margin:22px auto 38px;padding:0;text-align:left;animation:none;}
.contact-card{position:relative;isolation:isolate;overflow:hidden;padding:clamp(24px,5vw,46px);border:1px solid rgba(227,188,99,.42);border-radius:18px;background:linear-gradient(145deg,rgba(8,29,16,.94),rgba(4,15,9,.96));box-shadow:0 20px 60px rgba(0,0,0,.48),inset 0 1px rgba(255,244,209,.11);backdrop-filter:blur(10px);}
.contact-card::after{position:absolute;z-index:-1;inset:9px;border:1px solid rgba(242,223,180,.09);border-radius:12px;content:"";pointer-events:none;}
.contact-kicker{margin:0 0 7px;color:#bfe1b4;font-family:'Cinzel',serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;}
.contact-card h1{margin:0;color:#e3bc63;font-family:'Cinzel',serif;font-size:clamp(36px,6vw,56px);font-weight:600;line-height:1.1;text-shadow:0 3px 12px rgba(0,0,0,.5);}
.contact-intro{max-width:590px;margin:14px 0 23px;color:#d8d1bd;font-size:20px;line-height:1.45;}
.contact-form{display:grid;gap:15px;}
.contact-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;}
.contact-fields>*{min-width:0;}
.contact-form label{display:grid;gap:7px;color:#e7d8ae;font-family:'Cinzel',serif;font-size:11px;letter-spacing:1px;text-align:left;text-transform:uppercase;}
.contact-form input,.contact-form textarea{width:100%;min-height:44px;padding:11px 13px;border:1px solid rgba(227,188,99,.34);border-radius:8px;background:rgba(0,0,0,.25);color:#fff1cc;font:16px 'Cormorant Garamond',serif;letter-spacing:normal;text-transform:none;}
.contact-form textarea{min-height:160px;resize:vertical;}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #e3bc63;outline-offset:2px;border-color:#e3bc63;}
.contact-note{margin:0;color:#c7d8ba;font-size:16px;line-height:1.45;}
.contact-note a{color:#e3bc63;text-underline-offset:3px;}
.contact-submit{justify-self:start;display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 24px;border:1px solid #d1ad5b;border-radius:999px;background:linear-gradient(130deg,#e3bc63,#bb9145);color:#102112;cursor:pointer;font-family:'Cinzel',serif;font-size:13px;font-weight:600;letter-spacing:.7px;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s;}
.contact-submit:hover,.contact-submit:focus-visible{outline:2px solid #fff1cc;outline-offset:3px;transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.35);}
.contact-alert,.contact-notice{margin:18px 0;padding:12px 15px;border-radius:8px;font-size:16px;line-height:1.4;}
.contact-alert{border:1px solid rgba(255,151,138,.38);background:rgba(82,31,25,.6);color:#ffe3dc;}
.contact-notice{border:1px solid rgba(129,210,118,.34);background:rgba(19,65,36,.52);color:#d4f2c8;}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;}
.contact-dialog{width:min(760px,calc(100% - 28px));max-height:min(92vh,900px);overflow:auto;margin:auto;padding:0;border:1px solid rgba(227,188,99,.48);border-radius:18px;color:#f4e8c8;background:linear-gradient(145deg,#102416,#06120b);box-shadow:0 25px 80px rgba(0,0,0,.78);scrollbar-color:#806c42 #08150d;scrollbar-width:thin;}
.contact-dialog::-webkit-scrollbar{width:10px}.contact-dialog::-webkit-scrollbar-track{background:#08150d}.contact-dialog::-webkit-scrollbar-thumb{border:2px solid #08150d;border-radius:8px;background:#806c42}
.contact-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(5px);}
.contact-dialog .contact-card{border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;padding:clamp(24px,5vw,42px);}
.contact-dialog .contact-card::after{inset:9px;}
.contact-dialog .contact-intro{max-width:620px;}
.contact-dialog__close{position:absolute;z-index:2;top:14px;right:15px;width:38px;height:38px;border:1px solid rgba(227,188,99,.4);border-radius:50%;color:#f2dfb4;background:rgba(0,0,0,.28);cursor:pointer;font-size:27px;line-height:1;}
.contact-dialog__close:hover,.contact-dialog__close:focus-visible{outline:2px solid #fff1cc;outline-offset:2px;background:rgba(227,188,99,.2);}
.contact-dialog .contact-card h2{margin:0;color:#e3bc63;font-family:'Cinzel',serif;font-size:clamp(32px,5vw,48px);font-weight:600;line-height:1.1;}
.contact-status{min-height:1.4em;margin:0;color:#d4f2c8;font-size:15px;line-height:1.4;}
.contact-status[data-error="true"]{color:#ffe3dc;}
.contact-page .contact-footer{position:relative;z-index:1;display:flex;justify-content:center;gap:16px;align-items:center;border-top:1px solid rgba(227,188,99,.13);font-family:'Cinzel',serif;font-size:12px;}
.contact-footer a{color:#e3bc63;text-decoration:none;}
.contact-footer a:hover,.contact-footer a:focus-visible{color:#fff1cc;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:600px){.contact-page{background-attachment:scroll;}.contact-header{width:calc(100% - 28px);padding-top:15px}.contact-page .contact-main{margin:15px auto 25px}.contact-fields{grid-template-columns:minmax(0,1fr);gap:15px}.contact-intro{font-size:18px}.contact-page .contact-footer{flex-direction:column;gap:6px;padding:14px 12px;font-size:11px}.contact-dialog .contact-card{padding:28px 22px}.contact-dialog .contact-intro{font-size:18px}}
@media(prefers-reduced-motion:reduce){.contact-submit{transition:none}}
