.page-header{background:linear-gradient(135deg,#f8f7f4,#fdfcfa);padding:var(--spacing-2xl) 0;text-align:center}.page-badge{display:inline-block;padding:.5rem 1rem;background:#8b4d3b1a;color:var(--color-primary);font-size:.875rem;font-weight:500;border-radius:50px;margin-bottom:var(--spacing-md)}.page-title{font-size:3rem;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.page-desc{font-size:1.125rem;color:var(--color-text-light)}.contact-section{background:var(--color-bg-alt)}.contact-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;grid-template-rows:auto auto;gap:var(--spacing-xl);align-items:stretch}.contact-info-main{grid-column:1;grid-row:1}.contact-right{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:var(--spacing-lg);min-height:0;align-self:stretch}.contact-info-follow{grid-column:1;grid-row:2}.contact-right-spacer{grid-column:2;grid-row:2;min-height:0}.contact-info-main h2,.contact-form-wrapper h2{font-size:1.75rem;color:var(--color-text);margin-bottom:var(--spacing-sm)}.info-intro,.form-intro{color:var(--color-text-light);margin-bottom:var(--spacing-lg)}.info-cards{display:grid;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.info-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);transition:all var(--transition-normal)}.info-card:hover{transform:translate(8px);box-shadow:var(--shadow-sm)}.info-icon{font-size:2rem;flex-shrink:0}.info-content h3{font-size:1rem;color:var(--color-text);margin-bottom:.25rem}.info-content p{font-size:.9rem;color:var(--color-text-light);margin:0;line-height:1.6}.highlight-card .info-content p{color:var(--color-primary);font-weight:500}.campuses-title{font-size:1.1rem;color:var(--color-text);margin-bottom:var(--spacing-md);margin-top:var(--spacing-lg)}.campuses-hint{font-size:.8rem;font-weight:400;color:var(--color-text-muted)}.contact-info-main .campuses-list{margin-bottom:0}.campuses-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.campus-card{background:var(--color-bg);padding:var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.campus-card h4{font-size:1rem;color:var(--color-primary);margin-bottom:var(--spacing-xs)}.campus-addr{font-size:.9rem;color:var(--color-text-light);margin:0 0 .25rem;line-height:1.5;transition:color .2s ease}.campus-card .campus-addr[data-address]:hover{color:var(--color-primary)}.campus-tel{font-size:.9rem;color:var(--color-text);font-weight:500;margin:0}.social-section h3{font-size:1rem;color:var(--color-text);margin-bottom:var(--spacing-sm)}.social-links{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.social-link{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:50%;color:var(--color-text-light);transition:all var(--transition-normal)}.social-link:hover{background:var(--color-primary);color:var(--color-text-white);transform:translateY(-4px)}.social-link svg{width:20px;height:20px}.social-hint{font-size:.85rem;color:var(--color-text-muted)}.contact-form-wrapper{background:#fdfcfa;padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000f}.contact-form-wrapper .contact-form,.contact-form-wrapper .contact-form-cascade{display:flex;flex-direction:column;gap:var(--spacing-sm)}.contact-form-wrapper .field-set{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-form-wrapper .field-legend{font-size:1.2rem;font-weight:600;color:var(--color-primary);margin:0 0 .15rem;padding-bottom:var(--spacing-xs);border-bottom:2px solid rgba(139,77,59,.25);letter-spacing:.02em}.contact-form-wrapper .field-description,.contact-form-wrapper .field-description-top{font-size:.85rem;color:var(--color-text-muted);margin:0 0 var(--spacing-xs) 0;line-height:1.45}.contact-form-wrapper .field-description-top{margin-bottom:var(--spacing-sm)}.contact-form-wrapper .field-group{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fff9;border-radius:var(--radius-md);border:1px solid rgba(45,42,38,.06)}.contact-form-wrapper .field-group-title{font-size:.95rem;font-weight:600;color:var(--color-primary);margin-bottom:var(--spacing-sm);padding-left:.75rem;border-left:3px solid var(--color-primary);display:block}.contact-form-wrapper .field-separator{height:0;border-top:1px dashed rgba(45,42,38,.15);margin:var(--spacing-sm) 0}.contact-form-wrapper .field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.contact-form-wrapper .field .field-label{font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs)}.contact-form-wrapper .field input,.contact-form-wrapper .field select,.contact-form-wrapper .field textarea{padding:.5rem .75rem;font-size:.95rem;font-family:var(--font-sans);border:1px solid #E8E0D5;border-radius:10px;background:var(--color-bg);color:var(--color-text);transition:border-color .2s ease,box-shadow .25s ease}.contact-form-wrapper .field input:focus,.contact-form-wrapper .field select:focus,.contact-form-wrapper .field textarea:focus{outline:none;border-color:#8b4d3b80;box-shadow:0 0 0 3px #8b4d3b14}.contact-form-wrapper .field textarea{resize:vertical;min-height:72px}.contact-form-wrapper .field-label{font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs)}.contact-form-wrapper .field .field-description{margin-bottom:var(--spacing-xs);font-size:.85rem;color:var(--color-text-muted)}.contact-form-wrapper .field-error{margin-bottom:var(--spacing-sm)}.contact-form-wrapper .field-message{padding:var(--spacing-lg);background:#fff9;border-radius:var(--radius-lg);border:1px solid rgba(45,42,38,.06)}.contact-form-wrapper .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.contact-form-wrapper .form-group{display:flex;flex-direction:column}.contact-form-wrapper .form-group label{font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs)}.contact-form-wrapper .form-group input,.contact-form-wrapper .form-group select,.contact-form-wrapper .form-group textarea{padding:.875rem 1.125rem;font-size:1rem;font-family:var(--font-sans);border:1px solid #E8E0D5;border-radius:14px;background:var(--color-bg);color:var(--color-text);transition:border-color .2s ease,box-shadow .25s ease}.contact-form-wrapper .form-group input:focus,.contact-form-wrapper .form-group select:focus,.contact-form-wrapper .form-group textarea:focus{outline:none;border-color:#8b4d3b80;box-shadow:0 0 0 4px #8b4d3b14}.contact-form-wrapper .form-group input::-moz-placeholder,.contact-form-wrapper .form-group textarea::-moz-placeholder{color:var(--color-text-muted)}.contact-form-wrapper .form-group input::placeholder,.contact-form-wrapper .form-group textarea::placeholder{color:var(--color-text-muted)}.contact-form-wrapper .form-group textarea{resize:vertical;min-height:120px;border-radius:14px}.contact-form-wrapper .submit-btn{margin-top:var(--spacing-xs);border-radius:10px;padding:.5rem 1rem;font-size:.95rem;transition:transform .2s ease,box-shadow .2s ease}.contact-form-wrapper .submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b4d3b33}.contact-form-wrapper .submit-btn:disabled{opacity:.7;cursor:not-allowed}.contact-form-wrapper .form-notice{font-size:.8rem;color:var(--color-text-muted);margin-top:var(--spacing-xs)}.contact-form-wrapper .form-error{background:#ffebee;color:#c62828;padding:var(--spacing-sm);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);text-align:center}.contact-form-wrapper .form-success{text-align:center;padding:var(--spacing-2xl);background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.contact-form-wrapper .form-success .success-icon{width:80px;height:80px;margin:0 auto var(--spacing-md);background:#e8f5e9;color:#2e7d32;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem}.contact-form-wrapper .form-success h3{font-size:1.5rem;color:var(--color-text);margin-bottom:var(--spacing-sm)}.contact-form-wrapper .form-success p{color:var(--color-text-light);margin-bottom:var(--spacing-lg)}.map-section{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--color-bg);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--color-primary)}.map-placeholder{min-height:100px;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:#8b4d3b0a;border-radius:var(--radius-md);border:1px dashed rgba(139,77,59,.2)}.map-placeholder[hidden]{display:none}.map-placeholder-text{font-size:.95rem;color:var(--color-text-muted);margin:0}.map-content{display:flex;flex-direction:column;flex:1;min-height:420px}.map-content[hidden]{display:none}.map-section .map-title{font-size:1.1rem;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.map-current{font-size:.9rem;color:var(--color-text-light);margin:0 0 var(--spacing-sm) 0;line-height:1.5}.map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.map-btn-current{padding:.4rem .9rem;font-size:.875rem;font-weight:500;color:var(--color-primary);background:#8b4d3b1a;border:1px solid var(--color-primary);border-radius:50px;cursor:pointer;transition:background .2s,color .2s}.map-btn-current:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-white)}.map-btn-current:disabled{opacity:.7;cursor:not-allowed}.map-link-out{font-size:.9rem;color:var(--color-primary);font-weight:500;text-decoration:none}.map-link-out:hover{text-decoration:underline}.map-embed-wrap{flex:1;width:100%;min-height:320px;position:relative;isolation:isolate;box-shadow:var(--shadow-sm);background:#f5f2ee;overflow:hidden}.map-embed-inner{position:absolute;left:50%;top:50%;width:200%;height:200%;transform:translate(-50%,-50%) scale(.5);transform-origin:center center}.map-iframe{width:100%;height:100%;min-height:320px;border:none;display:block;vertical-align:top}.map-fallback-hint{font-size:.8rem;color:var(--color-text-muted);margin:var(--spacing-sm) 0 0 0;line-height:1.4}.faq-section{background:var(--color-bg)}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.faq-item{padding:var(--spacing-lg);background:var(--color-bg-alt);border-radius:var(--radius-lg)}.faq-item h3{font-size:1.1rem;color:var(--color-text);margin-bottom:var(--spacing-sm)}.faq-item p{font-size:.95rem;color:var(--color-text-light);margin:0}.faq-link-wrap{text-align:center;margin-top:var(--spacing-lg);font-size:.95rem;color:var(--color-text-light)}.faq-link-wrap a{color:var(--color-primary);font-weight:500}@media(max-width:1024px){.contact-grid{grid-template-columns:1fr;align-items:start}.contact-info-main{grid-row:2}.contact-right{grid-row:1;min-height:0;overflow:visible}.contact-form-wrapper{min-height:0;overflow:visible}.contact-info-follow{grid-row:3}.contact-right-spacer{grid-row:4}.map-section{min-height:320px;flex:none}.map-embed-wrap,.map-iframe{min-height:260px}}@media(max-width:768px){.page-title{font-size:2.25rem}.contact-section .container{padding-bottom:2.5rem}.contact-form-wrapper .form-row,.faq-grid{grid-template-columns:1fr}}
