.contact-page{color:#243b30;background:#f7f5ed;overflow:hidden}.contact-page .container{width:min(100% - 48px,1240px);margin-inline:auto}.contact-page .contact-hero{background:linear-gradient(90deg,#183426c7,#1834262e),url(/hero.webp) 50% 54%/cover no-repeat;min-height:560px;position:relative}.contact-page .hero-overlay{min-height:inherit;color:#fff;padding:140px max(24px,50vw - 620px) 100px}.contact-page .breadcrumb{color:#ffffffc7;margin-bottom:64px;font-size:14px}.contact-page .breadcrumb span{color:#e4c58b;margin:0 10px}.contact-page .contact-hero h1{max-width:800px;margin:0;font-family:Philosopher,Playfair Display,serif;font-size:clamp(52px,8vw,86px);font-weight:400;line-height:1.02}.contact-page .hero-subtitle{color:#ffffffe6;margin-top:22px;font-family:Philosopher,Playfair Display,serif;font-size:clamp(24px,3vw,34px);font-style:italic}.contact-page .visit-section{z-index:1;background:#fbfaf6;border:1px solid #e8e2d3;border-radius:20px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,64px);margin-top:-72px;padding:clamp(20px,4vw,44px);display:grid;position:relative;box-shadow:0 22px 60px #243b301c}.contact-page .visit-image img{object-fit:cover;border-radius:14px;width:100%;height:100%;min-height:360px;display:block}.contact-page .visit-content{align-self:center;padding-block:16px}.contact-page .section-tag{color:#a45e3c;letter-spacing:.18em;font-size:11px;font-weight:700}.contact-page .visit-content h2,.contact-page .enquiry-left h2,.contact-page .location-text h2{margin:16px 0 0;font-family:Philosopher,Playfair Display,serif;font-size:clamp(34px,4.5vw,52px);font-weight:400;line-height:1.12}.contact-page .info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px;display:grid}.contact-page .info-item h4{color:#243b30;margin:0 0 6px;font-size:14px;font-weight:700}.contact-page .info-item p{color:#68736a;margin:0;font-size:14px;line-height:1.75}.contact-page .enquiry-section{padding:100px 0}.contact-page .enquiry-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,7vw,84px);display:grid}.contact-page .enquiry-left p{color:#68736a;max-width:420px;margin-top:22px;line-height:1.9}.contact-page .enquiry-form{background:#fbfaf6;border:1px solid #e8e2d3;border-radius:18px;padding:clamp(22px,4vw,40px);box-shadow:0 12px 40px #243b3012}.contact-page .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.contact-page .enquiry-form input,.contact-page .enquiry-form select,.contact-page .enquiry-form textarea{color:#243b30;width:100%;min-height:52px;font:inherit;background:#fff;border:1px solid #e1ddcf;border-radius:8px;padding:14px 16px;font-size:14px}.contact-page .enquiry-form textarea{resize:vertical;min-height:150px}.contact-page .enquiry-form input:focus,.contact-page .enquiry-form select:focus,.contact-page .enquiry-form textarea:focus{outline-offset:1px;border-color:#a45e3c;outline:2px solid #a45e3c24}.contact-page .enquiry-form button,.contact-page .cta-banner a{color:#fff;cursor:pointer;min-height:52px;font:inherit;letter-spacing:.12em;background:#a45e3c;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:18px;padding:14px 24px;font-size:12px;font-weight:700;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}.contact-page .enquiry-form button:hover,.contact-page .cta-banner a:hover{background:#874a30;transform:translateY(-1px)}.contact-page .location-section{grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);align-items:center;gap:44px;margin-bottom:80px;display:grid}.contact-page .map-box{border:1px solid #e8e2d3;border-radius:16px;min-height:320px;overflow:hidden}.contact-page .map-box iframe{border:0;width:100%;height:350px;display:block}.contact-page .contact-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.contact-page .card{background:#fbfaf6;border:1px solid #e8e2d3;border-radius:16px;padding:30px}.contact-page .card h3{color:#243b30;margin:0 0 10px;font-family:Philosopher,Playfair Display,serif;font-size:26px}.contact-page .card p{color:#68736a;min-height:50px;margin:0;font-size:14px;line-height:1.7}.contact-page .card a{color:#a45e3c;margin-top:18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.contact-page .card a:hover{text-underline-offset:4px;text-decoration:underline}.contact-page .faq-section{padding:88px 0}.contact-page .faq-list{background:#fbfaf6;border:1px solid #e8e2d3;border-radius:16px;margin-top:28px;overflow:hidden}.contact-page .faq-list details{border-bottom:1px solid #e8e2d3;padding:20px 24px}.contact-page .faq-list details:last-child{border-bottom:0}.contact-page .faq-list summary{color:#243b30;cursor:pointer;font-family:Philosopher,Playfair Display,serif;font-size:20px}.contact-page .faq-list details p{color:#68736a;margin:14px 32px 0 0;font-size:15px;line-height:1.8}.contact-page .cta-banner{color:#fff;background:#234735;border-radius:20px;justify-content:space-between;align-items:center;gap:28px;margin-bottom:88px;padding:clamp(30px,6vw,66px);display:flex}.contact-page .cta-banner h2{margin:0;font-family:Philosopher,Playfair Display,serif;font-size:clamp(34px,5vw,54px)}.contact-page .cta-banner p{color:#ffffffbf;margin:12px 0 0}.contact-page .cta-banner a{flex-shrink:0;margin:0}@media (max-width:820px){.contact-page .visit-section,.contact-page .enquiry-grid,.contact-page .location-section{grid-template-columns:1fr}.contact-page .visit-image img{min-height:280px;max-height:420px}.contact-page .location-section{gap:24px}}@media (max-width:600px){.contact-page .container{width:min(100% - 32px,1240px)}.contact-page .contact-hero{min-height:500px}.contact-page .hero-overlay{padding:125px 20px 90px}.contact-page .breadcrumb{margin-bottom:60px}.contact-page .visit-section{gap:20px;margin-top:-50px;padding:16px}.contact-page .info-grid,.contact-page .form-row,.contact-page .contact-cards{grid-template-columns:1fr}.contact-page .enquiry-section,.contact-page .faq-section{padding:64px 0}.contact-page .contact-cards{gap:14px}.contact-page .card p{min-height:0}.contact-page .cta-banner{flex-direction:column;align-items:flex-start;margin-bottom:64px}}
