.contact-page{background:#fff}.contact-breadcrumb-shell{max-width:var(--max-width);padding:1.05rem var(--space-page);border-bottom:1px solid var(--border-subtle);margin-inline:auto}.contact-breadcrumb-shell .breadcrumbs ol{gap:.65rem;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.contact-breadcrumb-shell .breadcrumb-separator{color:#8d9595;margin-left:.65rem}.contact-hero{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,7fr) minmax(23rem,5fr);min-height:42rem;display:grid}.contact-hero-copy{padding:clamp(4rem, 7vw, 7.5rem) var(--space-page);align-self:center}.contact-hero h1{max-width:58rem;margin-bottom:2rem;font-size:clamp(3.25rem,6.2vw,6.8rem)}.contact-hero .lede{max-width:47rem}.contact-fact{color:var(--color-tfs-green-dark);font-family:var(--font-display);margin:1.5rem 0 0;font-weight:600}.contact-shortcuts{flex-wrap:wrap;gap:1.25rem;margin-top:2rem;display:flex}.contact-shortcuts a{color:var(--color-tfs-blue-dark);font-weight:600}.contact-hero-media{background:var(--color-tfs-surface);min-height:34rem;position:relative;overflow:hidden}.contact-hero-media img{object-fit:cover;width:100%;height:100%}.contact-hero-caption{color:#fff;background:#161616e0;max-width:21rem;margin:0;padding:1rem 1.25rem;font-size:.82rem;position:absolute;bottom:0;right:0}.quick-contact{max-width:var(--max-width);border-right:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto;display:grid}.quick-contact article{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;min-height:18rem;padding:1.6rem;display:flex}.quick-contact article:last-child{border-right:0}.quick-number{color:var(--color-tfs-pink-dark);font:700 .75rem/1 var(--font-display);letter-spacing:.1em}.quick-contact h2{letter-spacing:-.025em;margin:3.8rem 0 .8rem;font-size:clamp(1.35rem,2vw,1.8rem)}.quick-contact p{color:var(--text-secondary)}.quick-contact a{width:fit-content;color:var(--color-tfs-blue-dark);margin-top:auto;font-weight:600}.contact-section{max-width:var(--max-width);padding:clamp(5rem, 9vw, 8.5rem) var(--space-page);margin-inline:auto}.contact-section-heading{grid-template-columns:4fr 8fr;gap:2rem;margin-bottom:clamp(3rem,6vw,5rem);display:grid}.contact-section-heading h2{max-width:54rem;margin-bottom:1.4rem}.contact-section-heading .lede{max-width:48rem}.enquiry-layout{background:var(--border-subtle);border:1px solid var(--border-subtle);grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1px;display:grid}.enquiry-context,.enquiry-form-shell{background:#fff;padding:clamp(2rem,4vw,4rem)}.enquiry-context{color:#fff;background:var(--color-tfs-ink)}.enquiry-context .eyebrow{color:var(--color-tfs-blue-light)}.process-list{gap:2.3rem;margin:3rem 0 0;padding:0;list-style:none;display:grid}.process-list li{grid-template-columns:2.2rem 1fr;gap:1rem;display:grid}.process-list span{color:var(--color-tfs-blue-light);font:600 .78rem/1.4 var(--font-display)}.process-list h3{margin-bottom:.45rem;font-size:1.2rem}.process-list p{color:#c6cbcb;margin:0}.enquiry-form-shell h2{font-size:clamp(2rem,4vw,3.6rem)}.secure-note{border-left:.25rem solid var(--color-tfs-green);background:var(--color-tfs-surface);margin-bottom:2.3rem;padding:1rem 1.1rem}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.form-field{gap:.5rem;display:grid}.form-field-full{grid-column:1/-1}.form-field label{font-family:var(--font-display);font-size:.9rem;font-weight:600}.form-field select{width:100%;min-height:3.5rem;color:var(--color-tfs-ink);font:inherit;background:#f4f4f4;border:0;border-bottom:2px solid #6f7777;border-radius:0;padding:.75rem 2.8rem .75rem 1rem}.form-field select:focus{outline:2px solid var(--focus);outline-offset:2px;border-bottom-color:var(--color-tfs-blue-dark)}.field-hint{color:var(--text-secondary);margin:0;font-size:.8rem}.form-actions{grid-column:1/-1;margin-top:.75rem}.form-actions .button{cursor:pointer;border:0;width:100%;font-size:1rem}.privacy-note{color:var(--text-secondary);grid-column:1/-1;margin:0;font-size:.82rem}.privacy-note a{color:var(--color-tfs-blue-dark);font-weight:600}.campus-band{background:var(--color-tfs-surface)}.campus-directory{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.campus-card{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:#fff;min-height:15rem;padding:2rem 1.5rem}.campus-card:nth-child(2n){border-right:0}.campus-card header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.campus-card h3{margin-bottom:.5rem;font-size:clamp(1.55rem,2.4vw,2.2rem)}.campus-card .quick-number{flex:none}.campus-card p{color:var(--text-secondary)}.campus-actions{flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2.3rem;display:flex}.campus-actions a{color:var(--color-tfs-blue-dark);font-weight:600}.visit-feature{color:#fff;background:var(--color-tfs-ink);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:38rem;display:grid}.visit-feature-media{min-height:26rem}.visit-feature-media img{object-fit:cover;width:100%;height:100%}.visit-feature-copy{align-self:center;padding:clamp(3rem,6vw,6rem)}.visit-feature-copy .eyebrow{color:var(--color-tfs-blue-light)}.visit-feature-copy h2{max-width:44rem}.visit-feature-copy p:not(.eyebrow){color:#dfe3e3;max-width:42rem}.support-grid{background:var(--border-subtle);border:1px solid var(--border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3.5rem;display:grid}.support-grid div{min-height:8rem;font-family:var(--font-display);background:#fff;padding:1.4rem;font-weight:500}.support-grid span{color:var(--color-tfs-pink-dark);letter-spacing:.1em;margin-bottom:1.8rem;font-size:.72rem;font-weight:700;display:block}.faq-list{border-top:1px solid var(--border-subtle);max-width:62rem;margin-left:auto}.faq-list details{border-bottom:1px solid var(--border-subtle)}.faq-list summary{cursor:pointer;font-family:var(--font-display);grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.45rem 0;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:500;list-style:none;display:grid}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--color-tfs-blue-dark);font-size:1.5rem}.faq-list details[open] summary:after{content:"−"}.faq-answer{max-width:52rem;color:var(--text-secondary);padding:0 3rem 1.6rem 0}.faq-answer a{color:var(--color-tfs-blue-dark);font-weight:600}.contact-final{color:#fff;background:var(--color-tfs-pink-dark);grid-template-columns:7fr 5fr;align-items:end;gap:3rem;max-width:none;display:grid}.contact-final .eyebrow{color:#fff}.contact-final h2{max-width:56rem}.contact-final p{max-width:43rem}.contact-final-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.contact-final .button-primary{color:var(--color-tfs-ink);background:#fff;border-color:#fff}.contact-final .button-secondary{color:#fff;border-color:#fff}@media (width<=75rem){.contact-hero{grid-template-columns:minmax(0,3fr) minmax(20rem,2fr)}.quick-contact{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-contact article:nth-child(2){border-right:0}.contact-section-heading{grid-template-columns:1fr}}@media (width<=56rem){.contact-hero,.enquiry-layout,.visit-feature,.contact-final{grid-template-columns:1fr}.contact-hero-media{order:-1;min-height:28rem}.contact-hero-copy{padding-top:3.5rem}.contact-form{grid-template-columns:1fr}.form-field-full,.form-actions,.privacy-note{grid-column:auto}.contact-final-actions{justify-content:flex-start}}@media (width<=40rem){.quick-contact,.campus-directory,.support-grid{grid-template-columns:1fr}.quick-contact article,.quick-contact article:nth-child(2),.campus-card,.campus-card:nth-child(2n){border-right:0}.quick-contact article{min-height:14rem}.quick-contact h2{margin-top:2.5rem}.contact-hero h1{font-size:clamp(2.8rem,13vw,4.2rem)}.contact-shortcuts{gap:.85rem 1.25rem}.enquiry-context,.enquiry-form-shell,.campus-card{padding:1.5rem}}@media (prefers-reduced-motion:reduce){.contact-page *{scroll-behavior:auto}}
