.page-template-page-contact{--ink:#2e3028;--accent:#53b1cd;background:#fff;color:var(--ink)}
.page-template-page-contact .background-wash,.page-template-page-contact .brand_symbol{display:none}
.page-template-page-contact .brand{height:230px;text-align:left;padding:58px 0 0 3.85vw}
.page-template-page-contact .brand_wordmark{width:200px;height:100px;margin:0;object-fit:contain}
.contact-layout{margin:0 20.4% 0 3.85%;display:grid;grid-template-columns:minmax(280px, 37%) minmax(0,1fr);gap:35px;min-height:1230px}
.contact-eyebrow{font-size:13px;letter-spacing:.08em;margin:0 0 0}
.contact-intro h1{font-family:'Aoboshi One',sans-serif;font-size:80px;line-height:1.15;letter-spacing:.035em;margin:0}
.contact-lead{font-size:16px;line-height:2;letter-spacing:.04em;margin-top:68px}
.contact-form{font-size:16px;letter-spacing:.035em;padding-top:5px}
.form-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;margin:0 0 40px;border:0;padding:0;min-width:0}
.form-row>label{padding-top:4px;white-space:nowrap}.required{font-size:14px;color:#2997b9;margin-left:3px}
.form-row input:not([type=checkbox]):not([type=radio]){border:0;border-bottom:1px solid #989991;border-radius:0;background:transparent;width:100%;padding:3px 0 8px;color:inherit;min-height:28px;font:inherit;font-size:14px}
.form-row input::placeholder,.form-row textarea::placeholder{color:#afb4b5;opacity:1}
.choice-row{position:relative;padding-left:240px;display:block;margin-top:44px;margin-bottom:31px}
.choice-row legend{position:absolute;left:0;top:0;width:220px;padding:0}
.choice-list{display:flex;flex-direction:column;gap:3px;padding-left:18px}.choice-list label,.consent-label{display:flex;align-items:flex-start;gap:8px;line-height:1.4;cursor:pointer}
.choice-list input,.consent-label input{appearance:none;flex:0 0 17px;width:17px;height:17px;border:1px solid #83867d;background:#fff;margin:3px 0 0;display:grid;place-content:center;border-radius:0;cursor:pointer}
.choice-list input:checked:after,.consent-label input:checked:after{content:'✓';font:17px/1 sans-serif;color:#26362c}.choice-list input[type=radio]:checked:after{content:'';width:9px;height:9px;background:#53b1cd}
.deadline-row{margin-top:34px;margin-bottom:36px}
.message-row{margin-top:36px;margin-bottom:48px}.message-row textarea{margin-top:15px;width:100%;min-height:252px;resize:vertical;border:1px solid #898b83;border-radius:0;padding:10px 16px;box-shadow:1px 2px 3px #0002;color:inherit;font:14px/1.6 'Zen Old Mincho',serif;background:#fff}
.consent-row{margin-bottom:55px}.consent-label{padding-left:18px;white-space:nowrap}.test-note{font-size:12px;color:#68736e;line-height:1.7;margin:10px 0 0 18px;letter-spacing:0}
.contact-submit{justify-self:center;background:#fff;color:inherit;border:1px solid #989991;border-radius:30px;width:235px;max-width:100%;padding:7px 20px;line-height:1.5;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}.contact-submit:hover,.contact-submit:focus-visible{background:#53b1cd;color:white;box-shadow:0 0 20px #53b1cd55}.contact-submit:disabled{opacity:.6;cursor:wait}
.contact-nav{position:fixed;right:2.3vw;top:120px;width:34px;z-index:2;display:flex;flex-direction:column;font-family:'Aoboshi One',sans-serif}
.contact-nav>a,.contact-nav>button{position:relative;display:flex;align-items:center;justify-content:center;height:119px;width:34px;border:0;border-top:1px solid #3d4037;background:transparent;color:inherit;text-decoration:none;font:inherit;font-size:16px;letter-spacing:.08em;cursor:pointer;perspective:250px}
.contact-nav>:last-child{border-bottom:1px solid #3d4037}.contact-nav span{writing-mode:vertical-rl;transition:transform .65s ease,text-shadow .4s,color .4s}.contact-nav>a:before,.contact-nav>button:before{content:'';position:absolute;inset:23px -10px;border-radius:50%;background:#53b1cd;filter:blur(18px);opacity:0;transition:opacity .4s;pointer-events:none}.contact-nav>:hover:before,.contact-nav>:focus-visible:before{opacity:.5}.contact-nav>:hover span,.contact-nav>:focus-visible span{transform:rotateY(360deg);color:#2585a0;text-shadow:0 0 12px #53b1cd99}.rail-home img{width:44px;height:44px;object-fit:contain;max-width:none;transition:transform .65s}.rail-home:hover img{transform:rotateY(360deg)}
.page-template-page-contact .site-footer{text-align:left;padding:35px 3.85vw 18px}
.form-errors{border-left:3px solid #ab3a32;padding:8px 18px;color:#8d2e27;margin-bottom:30px;font-size:14px}.form-errors p{margin:0}.form-errors ul{padding-left:18px}.field-error{color:#a22d27;font-size:13px;line-height:1.5;letter-spacing:0;margin:8px 0}.form-row [aria-invalid=true]{border-color:#a22d27!important}
.form-trap,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-result{padding:30px;border-top:1px solid #53b1cd;line-height:2}.contact-result h2{font-size:24px}.contact-result .test-note{margin-left:0}
@media(min-width:1600px){.contact-layout{max-width:1280px;grid-template-columns:400px minmax(0,1fr)}}
@media(max-width:1200px){.contact-layout{margin-right:12%;grid-template-columns:31% minmax(0,1fr);gap:30px}.contact-intro h1{font-size:60px}.contact-lead{font-size:14px}.form-row{grid-template-columns:180px minmax(0,1fr);gap:16px}.choice-row{display:block;padding-left:196px}.choice-row legend{width:180px}.required{font-size:12px}.contact-form{font-size:14px}.consent-label{white-space:normal}.desktop-break{display:none}}
@media(max-width:850px){.page-template-page-contact .brand{height:170px;padding-top:30px;padding-left:24px}.contact-layout{display:block;margin:0 75px 0 24px;min-height:1050px}.contact-intro h1{font-size:56px}.contact-lead{margin:28px 0 45px}.contact-nav{right:18px;top:60px}.contact-nav>a,.contact-nav>button{height:100px}.contact-form-area{max-width:650px}.page-template-page-contact .site-footer{padding-left:24px}}
@media(max-width:540px){.form-row{display:block;margin-bottom:28px}.form-row>label{display:block;padding-bottom:10px;white-space:normal}.choice-row{padding:0;margin-top:30px}.choice-row legend{position:static;width:auto;margin-bottom:14px}.choice-list{padding-left:0;gap:10px}.message-row textarea{margin-top:0;min-height:300px}.consent-label{padding-left:0}.test-note{margin-left:0}.submit-row{text-align:center}.contact-nav{right:10px;width:28px}.contact-nav>a,.contact-nav>button{width:28px;font-size:13px;height:95px}.contact-layout{margin-right:58px}.page-template-page-contact .brand_wordmark{width:160px}.contact-result{padding:20px 0}}
@media(prefers-reduced-motion:reduce){.contact-nav>:hover span,.contact-nav>:focus-visible span,.rail-home:hover img{transform:none}}

/* Policy opens above the form without navigation or changing consent. */
.consent-label .privacy-link{position:relative;display:inline-block;overflow:hidden;vertical-align:bottom;color:#686868;text-decoration:none;padding-bottom:2px}.privacy-link::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:translateX(-101%)}.privacy-link:hover::after{animation:privacy-underline-flow 1.3s ease-in-out infinite}.privacy-link:focus-visible::after{transform:translateX(0)}@keyframes privacy-underline-flow{0%{transform:translateX(-101%)}45%,60%{transform:translateX(0)}100%{transform:translateX(101%)}}
.consent-label label{cursor:pointer}
html.privacy-open{overflow:hidden}
.privacy-dialog{padding:0;border:1px solid #b9d6df;background:#fff;color:#2e3028;width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);box-shadow:0 18px 80px #163c4c33}
.privacy-dialog::backdrop{background:#16313f73;backdrop-filter:blur(3px)}
.privacy-panel{display:flex;flex-direction:column;max-height:calc(100dvh - 52px)}
.privacy-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:25px 32px 20px;flex-shrink:0}

.privacy-header h2{font-size:23px;font-weight:500;margin:0;line-height:1.5}
.privacy-header .privacy-close{border:0;background:transparent;font-size:28px;line-height:1;width:40px;height:40px;padding:0;color:#111;cursor:pointer}
.privacy-body{overflow-y:auto;overscroll-behavior:contain;padding:22px 32px;font-size:14px;line-height:2;min-height:0;overflow-wrap:anywhere}
.privacy-body p{margin:0 0 18px}.privacy-body ul{padding-left:1.5em;margin:0 0 18px}
.privacy-body h3{font-size:17px;font-weight:500;margin:28px 0 12px}
.privacy-footer{padding:15px 24px;border-top:1px solid #d8e5e9;text-align:center;flex-shrink:0}
.privacy-footer button{border:1px solid #8cabb4;background:#fff;border-radius:24px;padding:8px 45px;color:inherit;font:inherit;cursor:pointer}
.privacy-close:hover{background:#eef9fc}.privacy-fallback{margin:50px auto;max-width:760px;padding:24px;line-height:2}
@media(max-width:540px){.privacy-dialog{max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.privacy-panel{max-height:calc(100dvh - 28px)}.privacy-header{padding:18px}.privacy-header h2{font-size:19px}.privacy-body{padding:18px;font-size:14px}.privacy-footer{padding:12px}}

.privacy-header .privacy-close span{display:inline-block;transform-origin:center;line-height:1}.privacy-header .privacy-close:hover span{transform:rotate(360deg);transition:transform 1s}.privacy-header .privacy-close:hover{background:transparent}
@media(prefers-reduced-motion:reduce){.privacy-link:hover::after{animation:none;transform:translateX(0)}.privacy-header .privacy-close:hover span{transform:none;transition:none}}

/* Updated Contact_PC spacing; keep the small-screen form layout. */
@media(min-width:1201px){
 .contact-layout{width:75.75vw;margin-left:3.85vw;margin-right:0}
 .contact-form{padding-top:9px}
 .form-row:not(.choice-row):not(.message-row):not(.consent-row):not(.submit-row){margin-bottom:35px}
 .choice-list{gap:2px}
}
