:root{--brand-color-primary:#b5641f;--brand-color-secondary:#2f2f2f;--brand-hover:#8f4d16;--wood:url(wood-pattern.svg);}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,'Helvetica Neue',Helvetica,Arial,sans-serif;color:var(--brand-color-secondary);background:#fff;-webkit-font-smoothing:antialiased}
a{color:var(--brand-color-primary);text-decoration:none}
a:hover{color:var(--brand-hover)}
img{max-width:100%;display:block}
.container{max-width:1320px;margin:0 auto}
@media(min-width:760px){.grid-flip > :first-child{order:2}}
@media(max-width:759px){.grid-2.grid-img-last > img.feature{order:2;width:calc(100% + 2 * clamp(18px,3.4vw,48px));max-width:none;margin:0 calc(-1 * clamp(18px,3.4vw,48px)) calc(-1 * clamp(64px,8.5vw,124px))}.section-sm .grid-2.grid-img-last > img.feature{margin-bottom:calc(-1 * clamp(56px,7vw,104px))}}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;background:transparent;border-bottom:1px solid transparent;transition:background .28s ease,box-shadow .28s ease,border-color .28s ease}
.site-header.is-scrolled{background:#fff;border-bottom-color:#ecebe8;box-shadow:0 1px 24px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(18px,3.4vw,48px);height:clamp(68px,7.4vw,92px);transition:height .28s ease}
.site-header.is-scrolled .header-inner{height:clamp(62px,6.4vw,74px)}
.logo-link{display:flex;align-items:center;flex:0 0 auto}
.logo-link img{height:clamp(34px,3.6vw,46px);width:auto}
.logo-white{display:block}
.logo-dark{display:none}
.site-header.is-scrolled .logo-white{display:none}
.site-header.is-scrolled .logo-dark{display:block}
.primary-nav,.primary-nav-inner{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}
.nav-link{font-size:13px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#fff;transition:color .2s}
.site-header.is-scrolled .nav-link{color:var(--brand-color-secondary)}
.nav-link:hover,.nav-link.active{color:var(--brand-color-primary)}
.site-header:not(.is-scrolled) .nav-link:hover,.site-header:not(.is-scrolled) .nav-link.active{color:#f0a868}
.nav-phone{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:#fff;transition:color .2s}
.site-header.is-scrolled .nav-phone{color:var(--brand-color-secondary)}
.nav-phone:hover{color:var(--brand-color-primary)}
.nav-contact-btn{background:var(--brand-color-primary);color:#fff;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:15px 26px;transition:background .2s;display:inline-block}
.nav-contact-btn:hover{background:var(--brand-hover);color:#fff}
.nav-link-mobile{display:none}
.mobile-controls{display:none;align-items:center;gap:6px}
.tablet-quote{display:none;margin-left:10px;padding:12px 20px}
@media(min-width:600px) and (max-width:1079px){.tablet-quote{display:inline-block}}
.mobile-call{display:flex;align-items:center;justify-content:center;width:46px;height:46px;color:#fff}
.site-header.is-scrolled .mobile-call{color:var(--brand-color-secondary)}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;padding:0 11px;background:none;border:0;cursor:pointer}
.hamburger span{display:block;height:2px;width:100%;background:#fff;transition:background .2s}
.site-header.is-scrolled .hamburger span{background:var(--brand-color-secondary)}
.mobile-menu-top{display:none}
.mobile-footer-nav{display:none}
@media (max-width:1079px){
  .primary-nav{position:fixed;inset:0;z-index:300;background:#000;flex-direction:column;align-items:stretch;padding:0;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;gap:0}
  .primary-nav.is-open{transform:translateX(0)}
  .mobile-controls{display:flex}
  .mobile-menu-top{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3.4vw,48px);height:72px;border-bottom:1px solid rgba(255,255,255,.14)}
  .mobile-menu-top img{height:34px;width:auto}
  .mobile-close{width:48px;height:48px;background:none;border:0;color:#fff;cursor:pointer;font-size:30px;line-height:1}
  .primary-nav-inner{padding:clamp(24px,6vw,48px) clamp(18px,3.4vw,48px);display:flex;flex-direction:column;gap:2px;align-items:stretch}
  .site-header .primary-nav .nav-link{font-family:'Science Gothic',Montserrat,sans-serif;font-size:clamp(26px,7vw,40px);font-weight:500;text-transform:uppercase;color:#fff;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .site-header .primary-nav .nav-link:hover,.site-header .primary-nav .nav-link.active{color:#f0a868}
  .nav-phone,.primary-nav-inner > .nav-contact-btn{display:none}
  .nav-link-mobile{display:block}
  .mobile-footer-nav{display:flex;flex-direction:column;gap:14px;margin-top:28px;padding-top:36px;border-top:1px solid rgba(255,255,255,.1)}
  .mobile-footer-nav .phone-big{font-size:20px;font-weight:600;color:#fff}
  .mobile-footer-nav .nav-contact-btn{text-align:center}
}

/* Hero */
.hero{position:relative;display:flex;align-items:flex-end;padding:clamp(130px,15vw,200px) clamp(18px,3.4vw,48px) clamp(44px,5.5vw,72px);overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .scrim{position:absolute;inset:0;background:rgba(22,18,14,.76)}
.hero-content{position:relative;max-width:1320px;margin:0 auto;width:100%}
.hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#f0a868;margin:0 0 16px}
.hero h1{font-family:'Science Gothic',Montserrat,sans-serif;font-size:clamp(38px,5.6vw,72px);font-weight:700;line-height:1;letter-spacing:.005em;text-transform:uppercase;color:#fff;margin:0 0 20px;text-wrap:balance}
.hero p.lead{font-size:clamp(15.5px,1.35vw,19px);line-height:1.65;color:rgba(255,255,255,.9);margin:0;max-width:66ch;text-wrap:pretty}
.hero p.sub{font-family:'Science Gothic',Montserrat,sans-serif;font-size:clamp(19px,2vw,27px);font-weight:400;line-height:1.25;color:#fff;margin:0 0 16px;max-width:30ch;text-wrap:balance}
.hero-home{min-height:min(92vh,880px);padding-top:clamp(140px,16vw,220px)}
.hero-home h1{font-size:clamp(42px,6.2vw,65px);line-height:1.05;max-width:20ch}
.hero-home p.lead{max-width:56ch;margin-bottom:34px}
.hero-std{min-height:min(60vh,600px)}
.hero-std.hero-short{min-height:min(50vh,520px)}
.hero-std h1{font-size:clamp(38px,5vw,60px)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero-ctas + .hero-ctas,.hero p.lead + .hero-ctas{margin-top:32px}
.hero-strip{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,48px);padding-top:clamp(22px,3vw,34px);margin-top:clamp(40px,5vw,72px);border-top:1px solid rgba(255,255,255,.22)}
.hero-strip p{margin:0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:10px}
.hero-strip p::before{content:"";width:8px;height:8px;background:var(--brand-color-primary)}

/* Buttons */
.btn-primary{background:var(--brand-color-primary);color:#fff;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:19px 34px;transition:background .2s;display:inline-block;border:0;cursor:pointer;font-family:Montserrat,sans-serif}
.btn-primary:hover{background:var(--brand-hover);color:#fff}
.btn-primary.btn-md{padding:18px 32px}
.btn-primary.btn-sm{padding:16px 28px}
.btn-outline-white{border:1px solid rgba(255,255,255,.6);color:#fff;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:19px 34px;transition:background .2s,border-color .2s;display:inline-block}
.btn-outline-white:hover{background:#fff;color:var(--brand-color-secondary);border-color:#fff}
.btn-outline-dark{border:1px solid var(--brand-color-secondary);color:var(--brand-color-secondary);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:18px 32px;transition:background .2s,color .2s;display:inline-block}
.btn-outline-dark:hover{background:var(--brand-color-secondary);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn-row-center{justify-content:center}
.btn-row.btn-row-spaced{margin-top:clamp(28px,3.4vw,44px)}
.btn-outline-dark.btn-sm{padding:16px 28px}

/* Sections */
.section{padding:clamp(64px,8.5vw,124px) clamp(18px,3.4vw,48px)}
.section-sm{padding:clamp(56px,7vw,104px) clamp(18px,3.4vw,48px)}
.bg-white{background:#fff}
.bg-gray{background:#f6f5f3}
.bg-dark{background:#2f2f2f;color:#fff}
.bg-black{background:#000;color:#fff}
.bg-tan{background:#ecebe8}
.border-top{border-top:1px solid #ecebe8}
.wood-dark{position:relative;background:#241a12;color:#fff;overflow:hidden}
.wood-dark::before{content:"";position:absolute;inset:0;background:url(wood-pattern-dark.svg) center/cover no-repeat;pointer-events:none}
.wood-dark > *{position:relative}
.cta-photo{position:relative;color:#fff;overflow:hidden;background:#241a12}
.cta-photo .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-photo .scrim{position:absolute;inset:0;background:rgba(14,10,7,.72)}
.cta-photo > .container{position:relative}
.cta-photo .eyebrow-label{color:#f0a868}
.cta-photo .eyebrow .rule{background:#f0a868}
.wood-light{position:relative;background:#f6f5f3;overflow:hidden}
.wood-light::before{content:"";position:absolute;inset:0;background:var(--wood) center/cover no-repeat;pointer-events:none}
.wood-light > *{position:relative}

.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.eyebrow .rule{display:block;width:34px;height:2px;background:var(--brand-color-primary)}
.eyebrow-label{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-color-primary)}
.on-dark .eyebrow-label,.bg-dark .eyebrow-label,.wood-dark .eyebrow-label,.overlay-section .eyebrow-label{color:#f0a868}
.on-dark .eyebrow .rule,.bg-dark .eyebrow .rule,.wood-dark .eyebrow .rule,.overlay-section .eyebrow .rule{background:#f0a868}
.eyebrow-center{justify-content:center}
.eyebrow.eyebrow-flush{margin:0}
.eyebrow-light{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-color-primary)}
.eyebrow-light::before{content:"";display:block;width:34px;height:2px;background:var(--brand-color-primary)}

.h2{font-family:'Science Gothic',Montserrat,sans-serif;font-size:clamp(29px,3.4vw,38px);font-weight:700;line-height:1.02;letter-spacing:.005em;text-transform:uppercase;margin:0 0 22px;color:#000}
.h2-tight{line-height:1;margin:0}
.h2-onDark{color:#fff}
.body-text{font-size:clamp(15px,1.15vw,17.5px);line-height:1.75;color:#5c5c5c;margin:0}
.body-text + .body-text{margin-top:18px}
.body-text-lg{font-size:clamp(15px,1.2vw,18px);line-height:1.75}
.on-dark{color:rgba(255,255,255,.88)}
.h2-light{font-family:'Science Gothic',Montserrat,sans-serif;font-size:clamp(29px,3.4vw,38px);font-weight:700;line-height:1;letter-spacing:.005em;text-transform:uppercase;margin:0;color:#000}
.body-text.mb-28{margin-bottom:28px}
.body-text-lg.mb-30{margin-bottom:30px}
.container.cta-stack{max-width:860px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.container.cta-stack.cta-stack-tight{gap:18px}
.body-text-lg.cta-note{margin:0;max-width:52ch}
.body-text-lg.cta-note.cta-note-wide{max-width:60ch}

.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:clamp(34px,5vw,76px);align-items:center}
.grid-2 img.feature{width:100%;object-fit:cover;display:block}
.grid-2 img.feature-h480{height:clamp(280px,34vw,480px)}
.grid-2 img.feature-h460{height:clamp(280px,34vw,460px)}
.grid-2 img.feature-h440{height:clamp(260px,32vw,440px)}

.section-head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(30px,4vw,52px)}
.section-head-row.bordered{padding-bottom:22px;border-bottom:2px solid #000}
.section-head-row .head-note{font-size:15px;line-height:1.7;color:#5c5c5c;margin:0;max-width:calc(52ch - 70px);text-wrap:pretty}

.divider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;background:#ddd9d3;border:1px solid #ddd9d3}
.divider-grid > .card{background:#fff;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:16px}
.card h3{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0;color:#000}
.card p{font-size:15px;line-height:1.72;color:#5c5c5c;margin:0;flex:1;text-wrap:pretty}

.serve-list{display:flex;flex-direction:column}
.serve-item{display:flex;gap:18px;align-items:center;padding:20px 0;border-top:1px solid #e3e1dd}
.serve-item:last-child{border-bottom:1px solid #e3e1dd}
.serve-icon{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--brand-color-primary);color:var(--brand-color-primary)}
.serve-item p{margin:0;font-size:15.5px;line-height:1.7;color:var(--brand-color-secondary);font-weight:600}

.overlay-section{position:relative;padding:clamp(72px,9vw,132px) clamp(18px,3.4vw,48px);overflow:hidden;color:#fff}
.overlay-section img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overlay-section .scrim{position:absolute;inset:0;background:linear-gradient(270deg,rgba(14,10,7,.9) 0%,rgba(14,10,7,.66) 52%,rgba(14,10,7,.34) 100%)}
.overlay-section .scrim.scrim-left{background:linear-gradient(90deg,rgba(14,10,7,.9) 0%,rgba(14,10,7,.66) 52%,rgba(14,10,7,.34) 100%)}
@media(max-width:759px){.overlay-section .scrim,.overlay-section .scrim.scrim-left{background:rgba(14,10,7,.78)}}
.overlay-content{position:relative;max-width:1320px;margin:0 auto}
.overlay-content-inner{max-width:64ch;margin-left:auto}
.overlay-content-inner.overlay-center{margin:0 auto;text-align:center;max-width:72ch}
.overlay-center .h2{max-width:none;margin-left:-10vw;margin-right:-10vw}
@media(max-width:759px){.overlay-center .h2{margin-left:0;margin-right:0}}
.overlay-section .scrim.scrim-solid{background:rgba(14,10,7,.78)}
.overlay-content-inner.left{margin-left:0}

.quad-grid{display:grid;gap:1px;background:#ddd9d3;border:1px solid #ddd9d3;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.quad-card{background:#fff;padding:clamp(26px,2.6vw,38px)}
.quad-card .num{font-family:'Science Gothic',Montserrat,sans-serif;font-size:28px;font-weight:700;color:var(--brand-color-primary);margin:0 0 12px}
.quad-card h3{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;color:#000}
.quad-card p{font-size:15px;line-height:1.7;color:#5c5c5c;margin:0}
.service-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--brand-color-primary);color:var(--brand-color-primary);margin:0 0 18px}

/* Products */
.product-grid{display:grid;gap:1px;background:#ddd9d3;border:1px solid #ddd9d3;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.product-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.product-grid{grid-template-columns:repeat(4,1fr)}}
.product-card{background:#fff;padding:clamp(18px,2.2vw,30px);display:flex;flex-direction:column;gap:16px}
.product-card .thick{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-color-primary);margin:0}
.product-card h3{font-family:'Science Gothic',Montserrat,sans-serif;font-size:clamp(20px,2vw,26px);font-weight:500;line-height:1.05;text-transform:uppercase;margin:0;color:#000}
.product-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.product-card li{font-size:14.5px;color:#5c5c5c;display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #ecebe8}
.product-card li strong{color:#000;font-weight:700}
.construction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(18px,2.4vw,32px)}
.construction-card{background:#fff;border:1px solid #ddd9d3;display:flex;flex-direction:column}
.construction-card .text{padding:clamp(24px,2.6vw,36px)}
.construction-card h3{font-family:'Science Gothic',Montserrat,sans-serif;font-size:clamp(24px,2.4vw,32px);font-weight:500;line-height:1.05;text-transform:uppercase;margin:0 0 12px;color:#000}
.construction-card p{font-size:15.5px;line-height:1.72;color:#5c5c5c;margin:0}
.photo-placeholder{width:100%;background:repeating-linear-gradient(135deg,#ecebe8 0 12px,#e2e0dc 12px 24px);display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}
.photo-placeholder p{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.7;letter-spacing:.06em;text-transform:uppercase;color:#8f4d16}
.photo-placeholder.tall{height:clamp(200px,22vw,300px)}
.construction-card .card-photo{width:100%;height:clamp(200px,22vw,300px);object-fit:cover;display:block}
.photo-placeholder.short{aspect-ratio:3/2}
.product-card .mat-photo{width:100%;height:auto;aspect-ratio:2/1;max-height:180px;object-fit:cover;object-position:center 62%;display:block;background:#fff}
.photo-placeholder.wide{height:clamp(220px,26vw,360px);border:1px solid #ddd9d3;margin-top:clamp(18px,2.4vw,32px)}
.photo-placeholder.wide.flush-top{margin-top:0}
.open-positions{scroll-margin-top:96px}

/* Benefits */
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:1px;background:#ddd9d3;border:1px solid #ddd9d3}
.benefit-card{background:#f6f5f3;padding:clamp(28px,3vw,44px)}
.benefit-card h3{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;color:#000}
.benefit-card p.desc{font-size:15px;line-height:1.7;color:#5c5c5c;margin:0 0 20px}
.benefit-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.benefit-card li{font-size:15px;line-height:1.65;color:#2f2f2f;padding-left:18px;border-left:2px solid var(--brand-color-primary)}

.apply-card{background:#fff;padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:18px}
.apply-card .kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-color-primary)}
.apply-card .phone-lg{display:inline-flex;align-items:center;gap:14px;font-family:'Science Gothic',Montserrat,sans-serif;font-size:clamp(20px,2.6vw,34px);font-weight:500;color:#000}
.apply-card .phone-lg:hover{color:var(--brand-color-primary)}
.apply-card .phone-lg svg{flex:none;color:var(--brand-color-primary)}
.apply-card .phone-lg span{white-space:nowrap}
.apply-card p.addr{margin:0;font-size:15px;line-height:1.7;color:#5c5c5c}
.apply-card .btn-row{margin-top:6px}

/* FAQ */
.faqs{padding:clamp(64px,8.5vw,124px) clamp(18px,3.4vw,48px);background:#f6f5f3}
.faqs-inner{max-width:980px;margin:0 auto}
.faqs-head{margin-bottom:clamp(26px,3.4vw,44px)}
.faq-item{border-bottom:1px solid #ddd9d3}
.faqs-inner .faq-item:first-of-type{border-top:1px solid #ddd9d3}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:none;border:0;padding:clamp(20px,2.2vw,26px) 0;text-align:left;cursor:pointer;font-family:Montserrat,sans-serif}
.faq-q span:first-child{font-size:clamp(15.5px,1.35vw,19px);font-weight:600;line-height:1.45;color:#000}
.faq-sign{font-size:26px;line-height:1;color:var(--brand-color-primary);flex:0 0 auto;font-weight:300}
.faq-answer{display:none;padding:0 0 clamp(22px,2.4vw,30px);max-width:78ch}
.faq-item.is-open .faq-answer{display:block}
.faq-answer p{margin:0;font-size:clamp(15px,1.15vw,17px);line-height:1.75;color:#5c5c5c;text-wrap:pretty}

/* Contact / inquiry */
.contact-section{background:#fff;color:#000;padding:clamp(60px,8vw,110px) clamp(18px,3.4vw,48px)}
.contact-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,72px)}
@media(min-width:900px){.contact-grid{grid-template-columns:58% 1fr}}
.contact-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}
.form-field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#5c5c5c}
.form-field.full{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{background:#f6f5f3;border:1px solid #d8d4ce;color:#000;font-family:Montserrat,sans-serif;font-size:15px;padding:14px 15px;outline:none;width:100%}
.contact-form select{background:#f6f5f3}
.contact-form textarea{resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--brand-color-primary)}
.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.form-note{grid-column:1/-1;margin:0;font-size:12.5px;color:#7a7a7a}
.form-submit{background:var(--brand-color-primary);color:#fff;border:0;font-family:Montserrat,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:18px 40px;cursor:pointer;transition:background .2s}
.form-submit:hover{background:var(--brand-hover)}
.form-status{font-size:14px;color:var(--brand-color-primary);font-weight:600}
.body-text.form-intro{max-width:46ch;margin-bottom:34px}
.body-text.contact-side-note{margin-bottom:22px;max-width:36ch}
.contact-side{display:flex;flex-direction:column;gap:28px}
.contact-side h3{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-color-primary);margin:0 0 18px}
.contact-side .h2{color:#000}
.contact-side .phone-xl{display:inline-flex;align-items:flex-start;gap:13px;font-family:Montserrat,sans-serif;font-size:16px;font-weight:400;color:#2f2f2f;line-height:1.5}
.contact-side .phone-xl svg{margin-top:3px}
.contact-side .phone-xl:hover{color:var(--brand-color-primary)}
.contact-side .phone-xl svg{flex:none;color:var(--brand-color-primary)}
.contact-side .phone-xl span{white-space:nowrap;font-weight:500;font-size:18px}
.contact-address{font-style:normal;font-size:16px;font-weight:400;line-height:1.5;color:#2f2f2f;display:flex;flex-direction:column;gap:12px}
.contact-address a{display:flex;align-items:flex-start;gap:13px;color:#2f2f2f;font-weight:400}
.contact-address a:hover{color:var(--brand-color-primary)}
.contact-address .row{display:flex;align-items:flex-start;gap:13px}
.contact-address .row > span{font-size:18px;font-weight:500}
.contact-address svg{flex:none;margin-top:3px}
.contact-map{width:100%;height:clamp(200px,30vw,400px);border:1px solid #ddd9d3;filter:grayscale(1)}
.contact-map.light{border-color:#ddd9d3;filter:grayscale(1)}
.map-full{background:#e8e3dc;line-height:0}
.map-full-frame{display:block;width:100%;height:clamp(220px,25vw,330px);border:0;filter:grayscale(1)}
.map-section{position:relative;min-height:clamp(380px,42vw,540px);padding:clamp(48px,6vw,88px) clamp(18px,3.4vw,48px);display:flex;align-items:center;background:#e8e3dc;overflow:hidden}
.map-bg{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1)}
.map-overlay{position:relative;width:100%;pointer-events:none;margin-top:80px}
.map-overlay .apply-card{pointer-events:auto;max-width:520px;box-shadow:0 20px 50px rgba(0,0,0,.18)}
@media(max-width:759px){
  .map-section{min-height:0;padding:0;display:flex;flex-direction:column;background:#fff}
  .map-bg{position:relative;display:block;height:320px;order:2}
  .map-overlay{margin-top:0;pointer-events:auto;order:1}
  .map-overlay .apply-card{max-width:none;box-shadow:none}
}

/* Footer */
.site-footer{background:#000;color:#fff;padding:clamp(48px,6vw,72px) clamp(18px,3.4vw,48px) 0}
.footer-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(32px,4vw,60px);padding-bottom:clamp(40px,5vw,64px)}
.footer-brand{display:flex;flex-direction:column;gap:22px}
.footer-brand img{width:min(280px,76%);height:auto}
.footer-brand p{font-size:14px;line-height:1.75;color:rgba(255,255,255,.6);margin:0;max-width:34ch;text-wrap:pretty}
.footer-links{display:flex;flex-direction:column;gap:13px}
.footer-links h3{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#f0a868;margin:0 0 6px}
.footer-links a{font-size:15px;color:rgba(255,255,255,.82)}
.footer-links a:hover{color:#f0a868}
.footer-links address{font-style:normal;font-size:15px;line-height:1.7;color:rgba(255,255,255,.82)}
.footer-parent{display:flex;flex-direction:column;gap:12px}
.footer-parent img{width:200px;height:auto;opacity:.85;transition:opacity .2s}
.footer-parent a:hover img{opacity:1}
.footer-parent .footer-parent-note{margin:0;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.6)}
.footer-bottom{max-width:1320px;margin:0 auto;border-top:1px solid rgba(255,255,255,.14);padding:22px 0 26px;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}
.footer-bottom p{font-size:12.5px;color:rgba(255,255,255,.5);margin:0}
.footer-bottom a{color:inherit;font-weight:inherit}
.footer-bottom a:hover{color:#f0a868}
.footer-credit{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.footer-credit img{height:13px;width:auto;filter:brightness(0) invert(1);opacity:.62;position:relative;top:1px}
