:root {
  --navy: #112b4d;
  --beige: #d3b98f;
  --beige-deep: #b99a68;
  --white: #ffffff;
  --mist: #f1f1f1;
  --line: rgba(17, 43, 77, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--navy); font-family: Manrope, Arial, sans-serif; }
.site-header { height: 82px; padding: 0 clamp(22px, 5vw, 78px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); position: relative; z-index: 10; background: var(--white); }
.brand { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 11px; }
.brand strong, .brand small { display: block; }
.brand strong { text-transform: uppercase; letter-spacing: -.06em; font-size: 17px; line-height: 16px; }
.brand small { text-transform: uppercase; font: 10px 'DM Mono', monospace; letter-spacing: .14em; margin-top: 4px; }
.brand-mark { width: 32px; height: 31px; position: relative; display: block; }
.brand-mark i { position: absolute; background: var(--beige); border-radius: 9px; transform: rotate(-42deg); height: 9px; }
.brand-mark i:nth-child(1) { width: 29px; top: 3px; left: 1px; }.brand-mark i:nth-child(2) { width: 20px; top: 16px; left: 2px; }.brand-mark i:nth-child(3) { width: 13px; top: 21px; right: 0; transform: rotate(43deg); }
nav { display: flex; align-items: center; gap: 28px; } nav > a { color: var(--navy); text-decoration: none; font-size: 13px; font-weight: 700; }
.nav-cta { background: var(--navy); color: var(--white); padding: 13px 17px; border-radius: 3px; }.nav-cta b, .button b, .contact-button b { color: var(--beige); padding-left: 10px; font-size: 17px; }
.menu-toggle { display: none; }
.hero { min-height: calc(100vh - 82px); display: grid; grid-template-columns: 1.08fr .92fr; padding: clamp(50px, 8vw, 124px) clamp(22px, 8vw, 130px) 75px; overflow: hidden; }
.hero-copy { align-self: center; max-width: 670px; position: relative; z-index: 2; }.eyebrow { font: 11px 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 22px; }.eyebrow span { width: 30px; height: 1px; background: var(--beige-deep); display: inline-block; vertical-align: middle; margin: 0 9px 2px 0; }
h1, h2 { letter-spacing: -.067em; line-height: .95; margin: 0; font-weight: 800; } h1 { font-size: clamp(54px, 7.3vw, 112px); } h1 em, h2 em { font-style: normal; color: var(--beige-deep); }
.intro { max-width: 480px; font-size: 17px; line-height: 1.75; margin: 31px 0; }.hero-actions { display: flex; align-items: center; gap: 26px; }.button { padding: 17px 22px; text-decoration: none; font-size: 13px; font-weight: 800; border-radius: 3px; }.button-dark { background: var(--navy); color: var(--white); }.text-link { font-size: 13px; font-weight: 800; color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--navy); padding: 5px 0; }.text-link span { font-size: 17px; padding-left: 7px; }
.hero-meta { margin-top: 65px; font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; display: flex; gap: 29px; }.hero-meta span:before { content: '+'; color: var(--beige-deep); font-size: 14px; margin-right: 6px; }
.hero-visual { position: relative; min-height: 510px; }.sun { width: min(33vw, 485px); height: min(33vw, 485px); background: var(--mist); border-radius: 50%; position: absolute; top: 3%; right: 2%; }.portrait { position: absolute; margin: 0; right: 7%; bottom: 0; width: min(25vw, 370px); height: min(32vw, 470px); overflow: hidden; border-radius: 200px 200px 0 0; border: 11px solid var(--white); box-shadow: 14px 17px 0 var(--beige); }.portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }.line-art { position: absolute; border: 1px solid var(--navy); width: 210px; height: 110px; border-radius: 55% 45% 0 0; opacity: .25; }.line-one { bottom: 20%; left: 4%; transform: rotate(-30deg); }.line-two { top: 14%; left: 9%; transform: rotate(63deg); width: 130px; }.availability { position: absolute; display: flex; align-items: center; gap: 8px; background: var(--white); left: 0; bottom: 12%; padding: 13px 16px; box-shadow: 0 6px 20px rgba(17,43,77,.1); font: 10px 'DM Mono', monospace; line-height: 1.5; text-transform: uppercase; letter-spacing: .04em; }.availability strong { font-family: Manrope; font-size: 11px; letter-spacing: 0; }.pulse { display: block; width: 9px; height: 9px; background: var(--beige-deep); border-radius: 50%; }
.section { padding: 130px clamp(22px, 8vw, 130px); }.services { background: var(--mist); }.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 54px; }.section-heading h2, .about h2, .process h2, .contact h2 { font-size: clamp(42px, 5vw, 73px); }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.service-card { min-height: 350px; padding: 27px 25px; position: relative; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; background: var(--white); }.service-card.featured { background: var(--navy); color: var(--white); }.service-number { font: 10px 'DM Mono', monospace; color: var(--beige-deep); }.featured .service-number { color: var(--beige); }.service-icon { font-size: 37px; line-height: 1; margin: 48px 0 23px; color: var(--beige-deep); }.featured .service-icon { color: var(--beige); }.service-card h3 { font-size: 21px; line-height: 1.1; margin: 0 0 12px; letter-spacing: -.05em; }.service-card p { font-size: 12px; line-height: 1.7; margin: 0; }.service-card a { margin-top: auto; color: inherit; font-size: 12px; font-weight: 800; text-decoration: none; }.service-card a b { color: var(--beige-deep); margin-left: 5px; }.featured a b { color: var(--beige); }
.about { display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(40px, 9vw, 150px); align-items: center; }.about-image { position: relative; width: 100%; max-width: 430px; aspect-ratio: .83; margin: auto; background: var(--navy); overflow: hidden; }.about-image img { height: 100%; width: 100%; object-fit: cover; object-position: 30% 0; }.about-image:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(17,43,77,.65), transparent 50%); }.about-image span { position: absolute; bottom: 23px; left: 25px; color: var(--white); font: 43px 'DM Mono', monospace; z-index: 1; }.about-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; max-width: 520px; margin: 28px 0; }.check-list { display: grid; gap: 10px; margin-top: 30px; font-size: 13px; font-weight: 700; }.check-list span:first-letter { color: var(--beige-deep); }
.process { background: var(--mist); display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; }.process ol { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }.process li { display: grid; grid-template-columns: 70px 1fr 1.2fr; gap: 15px; align-items: start; padding: 25px 0; border-bottom: 1px solid var(--line); }.process li > b { font: 11px 'DM Mono', monospace; color: var(--beige-deep); }.process li h3 { margin: 0; font-size: 16px; letter-spacing: -.04em; }.process li p { font-size: 12px; line-height: 1.7; margin: 0; }
.contact { margin: 0 clamp(12px, 2vw, 30px) 12px; background: var(--navy); color: var(--white); padding: clamp(55px, 8vw, 125px); display: flex; align-items: end; justify-content: space-between; gap: 40px; }.light span { background: var(--beige); }.contact > div > p:not(.eyebrow) { color: var(--mist); margin: 25px 0 0; font-size: 15px; }.contact-button { color: var(--navy); text-decoration: none; background: var(--beige); width: min(400px, 100%); padding: 22px 24px; position: relative; }.contact-button span, .contact-button strong { display: block; }.contact-button span { text-transform: uppercase; font: 10px 'DM Mono', monospace; letter-spacing: .1em; }.contact-button strong { font-size: clamp(18px, 2vw, 27px); letter-spacing: -.05em; margin-top: 8px; }.contact-button b { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 23px; color: var(--navy); }
footer { padding: 25px clamp(22px, 5vw, 78px); display: flex; justify-content: space-between; gap: 15px; font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .04em; } footer a { color: inherit; }.whatsapp-float { position: fixed; right: 22px; bottom: 22px; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: var(--beige-deep); color: var(--white); text-decoration: none; box-shadow: 0 7px 20px rgba(17,43,77,.22); z-index: 8; font-size: 27px; }
@media (max-width: 800px) { .site-header { height: 70px; }.menu-toggle { display: block; border: 0; background: none; width: 35px; padding: 7px; }.menu-toggle span { display: block; height: 2px; background: var(--navy); margin: 5px 0; } nav { display: none; position: absolute; top: 69px; left: 0; right: 0; background: var(--white); padding: 20px 22px; flex-direction: column; align-items: flex-start; gap: 18px; border-bottom: 1px solid var(--line); } nav.open { display: flex; }.hero { grid-template-columns: 1fr; padding-top: 62px; }.hero-visual { min-height: 440px; margin-top: 45px; }.sun { width: 320px; height: 320px; }.portrait { width: 250px; height: 340px; right: 8%; box-shadow: 10px 12px 0 var(--beige); }.availability { bottom: 11%; left: 1%; }.hero-meta { margin-top: 40px; gap: 12px; flex-direction: column; }.section { padding-top: 85px; padding-bottom: 85px; }.section-heading { display: block; }.section-heading h2 { margin-top: 15px; }.service-grid { grid-template-columns: repeat(2,1fr); }.service-card { min-height: 290px; padding: 20px; }.service-icon { margin: 34px 0 19px; }.about { grid-template-columns: 1fr; gap: 45px; }.about-image { margin: 0; max-width: 100%; height: 380px; aspect-ratio: auto; }.process { grid-template-columns: 1fr; }.process li { grid-template-columns: 43px 1fr; }.process li p { grid-column: 2; }.contact { display: block; }.contact-button { display: block; margin-top: 45px; } footer { flex-direction: column; line-height: 1.6; } }
@media (max-width: 410px) { h1 { font-size: 52px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }.service-grid { grid-template-columns: 1fr; }.service-card { min-height: 240px; }.brand small { font-size: 8px; } }

/* Painel de serviços inspirado na organização do material impresso, redesenhado para o site. */
.services-poster {
  width: 100%;
  max-width: 550px;
  min-height: 650px;
  margin: auto;
  padding: 36px 34px 25px;
  position: relative;
  overflow: hidden;
  background: var(--navy);
  color: var(--white);
  box-shadow: 13px 13px 0 var(--beige);
}
.poster-bars { position: absolute; width: 190px; height: 105px; left: -37px; top: -37px; opacity: .95; transform: rotate(-38deg); }
.poster-bars i { background: var(--beige); position: absolute; display: block; height: 20px; border-radius: 20px; }
.poster-bars i:nth-child(1) { width: 148px; top: 10px; left: 1px; }.poster-bars i:nth-child(2) { width: 95px; top: 45px; left: 40px; }.poster-bars i:nth-child(3) { width: 58px; top: 76px; left: 78px; transform: rotate(90deg); }
.poster-brand { position: relative; z-index: 1; margin: 28px 0 36px 105px; font-size: 21px; line-height: 1; text-transform: uppercase; font-weight: 800; letter-spacing: -.06em; }
.poster-brand small { display: block; margin-top: 7px; color: var(--beige); font: 8px 'DM Mono', monospace; letter-spacing: .13em; }
.poster-list { display: grid; gap: 20px; position: relative; z-index: 1; }
.poster-item { display: flex; align-items: center; gap: 15px; min-height: 105px; }
.poster-item:nth-child(even) { margin-left: 50px; }
.poster-photo { width: 100px; height: 100px; flex: 0 0 100px; overflow: hidden; border: 4px solid var(--beige); border-radius: 50%; background: var(--mist); }
.poster-photo img { width: 100%; height: 100%; object-fit: cover; }
.photo-top img { object-position: 50% 0%; }.photo-middle img { object-position: 50% 35%; }.photo-low img { object-position: 50% 63%; }.photo-bottom img { object-position: 50% 100%; }
.poster-item b { display: block; color: var(--beige); font-size: 15px; letter-spacing: -.04em; }.poster-item span { display: block; margin-top: 5px; max-width: 210px; font-size: 10px; line-height: 1.4; color: rgba(255,255,255,.87); }
.poster-footer { position: absolute; left: 34px; right: 34px; bottom: 24px; border-top: 1px solid rgba(255,255,255,.25); padding-top: 15px; color: var(--beige); font: 9px 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }.poster-footer span { float: right; font-size: 17px; line-height: 6px; }
@media (min-width: 801px) { .about { grid-template-columns: 1fr 1fr; gap: clamp(60px, 6vw, 100px); } }
@media (max-width: 800px) { .services-poster { max-width: 100%; min-height: 580px; } }
@media (max-width: 410px) { .services-poster { padding-left: 20px; padding-right: 20px; box-shadow: 9px 9px 0 var(--beige); }.poster-item:nth-child(even) { margin-left: 12px; }.poster-footer { left: 20px; right: 20px; }.poster-brand { margin-left: 76px; } }

.emergency { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(45px, 8vw, 130px); padding: 105px clamp(22px, 8vw, 130px); background: var(--navy); color: var(--white); }
.emergency-intro > p:not(.eyebrow) { max-width: 340px; font-size: 14px; line-height: 1.75; color: rgba(255,255,255,.8); margin: 26px 0 34px; }.emergency .eyebrow { color: var(--beige); }.emergency .eyebrow span { background: var(--beige); }.emergency h2 { font-size: clamp(47px, 5.2vw, 76px); }.emergency h2 em { color: var(--beige); }
.emergency-status { display: inline-flex; align-items: center; gap: 8px; font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .06em; color: var(--beige); }.emergency-status i { width: 9px; height: 9px; border-radius: 50%; background: var(--beige); box-shadow: 0 0 0 6px rgba(211,185,143,.14); }
.emergency-picker { align-self: center; background: var(--white); padding: clamp(24px, 4vw, 46px); color: var(--navy); }.picker-label { margin: 0 0 13px; color: var(--beige-deep); font: 10px 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }.emergency-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }.emergency-option { min-height: 128px; padding: 18px; text-align: left; border: 1px solid var(--line); background: var(--white); color: var(--navy); cursor: pointer; transition: .2s ease; }.emergency-option:hover, .emergency-option.active { border-color: var(--beige-deep); background: #fbf8f2; box-shadow: inset 0 0 0 1px var(--beige-deep); }.emergency-option span, .emergency-option b, .emergency-option small { display: block; }.emergency-option span { color: var(--beige-deep); font-size: 23px; line-height: 1; margin-bottom: 18px; }.emergency-option b { font-size: 13px; letter-spacing: -.04em; }.emergency-option small { margin-top: 5px; font-size: 9px; line-height: 1.35; }.emergency-action { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 27px; padding-top: 24px; border-top: 1px solid var(--line); }.emergency-action .picker-label { margin-bottom: 6px; }.emergency-action strong { font-size: 17px; letter-spacing: -.05em; }.button-emergency { white-space: nowrap; background: var(--beige-deep); color: var(--white); }.button-emergency b { color: var(--white); }
@media (max-width: 800px) { .emergency { grid-template-columns: 1fr; padding-top: 80px; padding-bottom: 80px; }.emergency-intro > p:not(.eyebrow) { max-width: 430px; }.emergency-picker { max-width: 600px; } }
@media (max-width: 480px) { .emergency-options { grid-template-columns: 1fr; }.emergency-option { min-height: 102px; }.emergency-option span { margin-bottom: 12px; }.emergency-action { display: block; }.button-emergency { display: inline-block; margin-top: 18px; } }

/* Piquete 24h e página de serviços */
.button-light { background: var(--beige); color: var(--navy); }.button-light b { color: var(--navy); }.emergency { align-items: center; }.emergency-board { position: relative; min-height: 410px; padding: 26px; overflow: hidden; background: var(--white); color: var(--navy); box-shadow: 14px 14px 0 var(--beige-deep); }.emergency-board:after { content: ''; position: absolute; width: 230px; height: 230px; border: 35px solid var(--mist); border-radius: 50%; right: -93px; top: -102px; }.board-top { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; text-transform: uppercase; font: 9px 'DM Mono', monospace; letter-spacing: .07em; }.board-top strong { margin-left: auto; color: var(--beige-deep); font: inherit; }.board-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--beige-deep); }.board-clock { position: relative; z-index: 1; display: flex; align-items: center; gap: 13px; margin-top: 32px; }.board-clock span { color: var(--navy); font-size: clamp(88px, 10vw, 140px); font-weight: 800; letter-spacing: -.12em; line-height: .7; }.board-clock small { padding-top: 10px; text-transform: uppercase; font: 10px 'DM Mono', monospace; line-height: 1.45; letter-spacing: .08em; }.board-list { position: relative; z-index: 1; margin: 38px 0 23px; }.board-list p { color: var(--beige-deep); margin: 0 0 10px; font: 10px 'DM Mono', monospace; letter-spacing: .07em; text-transform: uppercase; }.board-list ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 18px; padding: 0; margin: 0; list-style: none; font-size: 11px; font-weight: 700; }.board-list li:before { content: '•'; color: var(--beige-deep); margin-right: 6px; }.board-call { position: absolute; z-index: 2; right: 0; bottom: 0; background: var(--beige); color: var(--navy); padding: 15px 21px; text-decoration: none; font-size: 12px; font-weight: 800; }.board-call b { margin-left: 7px; }.services-page-hero { padding: clamp(75px, 11vw, 155px) clamp(22px, 8vw, 130px) 90px; background: var(--mist); }.services-page-hero h1 { font-size: clamp(58px, 9vw, 135px); }.services-page-hero > p:last-child { max-width: 470px; margin: 31px 0 0; font-size: 16px; line-height: 1.7; }.services-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 clamp(22px, 8vw, 130px) 120px; background: var(--mist); }.services-page-grid article { min-height: 300px; padding: 28px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); background: var(--white); }.services-page-grid article:nth-child(3n+1) { border-left: 1px solid var(--line); }.services-page-grid article:nth-last-child(-n+3) { border-bottom: 1px solid var(--line); }.services-page-grid article > span { color: var(--beige-deep); font: 10px 'DM Mono', monospace; }.services-page-grid h2 { margin: 44px 0 20px; color: var(--navy); font-size: 23px; line-height: 1.05; letter-spacing: -.05em; }.services-page-grid ul { margin: 0; padding-left: 16px; font-size: 12px; line-height: 1.75; }.services-page-grid li::marker { color: var(--beige-deep); }.services-page-cta { margin: 0 clamp(12px, 2vw, 30px) 12px; padding: clamp(45px, 7vw, 110px); display: flex; justify-content: space-between; align-items: end; gap: 40px; background: var(--navy); color: var(--white); }.services-page-cta h2 { font-size: clamp(38px, 5vw, 70px); }.services-page-cta .button-light { flex: none; }
@media (max-width: 800px) { .emergency-board { max-width: 600px; width: 100%; }.services-page-grid { grid-template-columns: repeat(2, 1fr); }.services-page-grid article:nth-child(3n+1) { border-left: 0; }.services-page-grid article:nth-child(2n+1) { border-left: 1px solid var(--line); }.services-page-grid article:nth-last-child(-n+3) { border-bottom: 0; }.services-page-grid article:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width: 500px) { .emergency-board { min-height: 455px; padding: 21px; }.board-list ul { grid-template-columns: 1fr; gap: 5px; }.board-call { padding: 13px 16px; }.services-page-grid { grid-template-columns: 1fr; padding-bottom: 70px; }.services-page-grid article, .services-page-grid article:nth-child(n) { min-height: auto; border-left: 1px solid var(--line); border-bottom: 0; }.services-page-grid article:last-child { border-bottom: 1px solid var(--line); }.services-page-cta { display: block; }.services-page-cta .button-light { display: inline-block; margin-top: 32px; } }

.services-overview { padding: 125px clamp(22px, 8vw, 130px); background: var(--mist); }.overview-heading { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 55px; }.overview-heading h2 { font-size: clamp(44px, 5.4vw, 78px); }.overview-heading > p { max-width: 355px; margin: 0; font-size: 14px; line-height: 1.8; }.overview-content { display: grid; grid-template-columns: 1.35fr .65fr; border: 1px solid var(--line); background: var(--white); }.overview-services { display: grid; grid-template-columns: repeat(2, 1fr); }.overview-services a { min-height: 185px; padding: 23px; position: relative; color: var(--navy); text-decoration: none; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .2s ease; }.overview-services a:nth-child(2n) { border-right: 0; }.overview-services a:nth-last-child(-n+2) { border-bottom: 0; }.overview-services a:hover { background: var(--navy); color: var(--white); }.overview-services span, .overview-services b, .overview-services small { display: block; }.overview-services span { color: var(--beige-deep); font: 10px 'DM Mono', monospace; }.overview-services b { margin-top: 39px; font-size: 18px; letter-spacing: -.05em; }.overview-services small { margin-top: 7px; font-size: 10px; }.overview-services i { position: absolute; right: 23px; bottom: 20px; color: var(--beige-deep); font-style: normal; }.overview-aside { padding: 30px; background: var(--navy); color: var(--white); }.overview-aside .eyebrow { color: var(--beige); }.overview-aside .eyebrow span { background: var(--beige); }.overview-aside h3 { margin: 37px 0 27px; font-size: clamp(23px, 2vw, 30px); line-height: 1.06; letter-spacing: -.06em; }.overview-aside ul { display: grid; gap: 11px; padding: 0; margin: 0 0 40px; list-style: none; font-size: 11px; }.overview-aside li:before { content: '✓'; color: var(--beige); margin-right: 7px; }.overview-aside .button { display: inline-block; background: var(--beige); color: var(--navy); padding: 13px; font-size: 11px; }.overview-aside .button b { color: var(--navy); }
@media (max-width: 800px) { .services-overview { padding-top: 85px; padding-bottom: 85px; }.overview-heading { display: block; }.overview-heading > p { margin-top: 25px; }.overview-content { grid-template-columns: 1fr; }.overview-aside { padding: 35px; }.overview-aside h3 { margin-top: 20px; } }
@media (max-width: 480px) { .overview-services { grid-template-columns: 1fr; }.overview-services a, .overview-services a:nth-child(n) { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--line); }.overview-services a:last-child { border-bottom: 0; }.overview-aside { padding: 26px; } }

.emergency-board { min-height: 505px; }.board-contact { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; margin: 22px 0 18px; text-align: center; }.board-contact span { font: 9px 'DM Mono', monospace; text-transform: uppercase; color: var(--beige-deep); letter-spacing: .06em; }.board-contact a { margin-top: 6px; color: var(--navy); text-decoration: none; font-size: 13px; }.board-contact strong { font-size: 16px; }.board-request { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: end; margin-top: 12px; padding-top: 15px; border-top: 1px solid var(--line); }.board-request label { grid-column: 1 / -1; font: 9px 'DM Mono', monospace; letter-spacing: .05em; text-transform: uppercase; color: var(--beige-deep); }.board-request select { min-width: 0; height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--navy); font: 11px Manrope, sans-serif; font-weight: 700; }.board-request .board-call { position: static; display: block; padding: 14px 17px; white-space: nowrap; }.board-request .board-call b { margin-left: 5px; }
@media (max-width: 540px) { .emergency-board { min-height: 570px; }.board-request { grid-template-columns: 1fr; }.board-request .board-call { text-align: center; }.board-contact { margin-top: 16px; } }

.contact{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start}.contact-copy{max-width:470px}.contact-phone{display:block;margin-top:34px;color:var(--navy);background:var(--beige);padding:17px 19px;text-decoration:none;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.07em}.contact-phone strong{display:block;margin-top:7px;font:700 22px Manrope,sans-serif;letter-spacing:-.05em}.contact-phone b{float:right;margin-top:-29px;font-size:19px}.booking-form{background:var(--white);color:var(--navy);padding:28px;display:grid;gap:13px}.booking-title{display:flex;justify-content:space-between;align-items:start;padding-bottom:12px;border-bottom:1px solid var(--line)}.booking-title span{font-weight:800;font-size:19px;letter-spacing:-.05em}.booking-title small,.field-label,.booking-form label{font:10px 'DM Mono',monospace;letter-spacing:.04em;text-transform:uppercase}.booking-form label{display:grid;gap:7px}.booking-form label small{font-size:8px;color:var(--beige-deep)}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:10px;background:var(--white);color:var(--navy);font:13px Manrope,sans-serif}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid var(--beige-deep);outline-offset:-1px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-slots{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.time-slots>span{font-size:11px;color:#677486}.time-slot{border:1px solid var(--line);padding:8px 11px;background:var(--white);color:var(--navy);cursor:pointer;font-size:11px;font-weight:700}.time-slot.active{background:var(--navy);border-color:var(--navy);color:var(--white)}.booking-submit{border:0;background:var(--beige-deep);color:var(--white);padding:14px;cursor:pointer;font-weight:800}.booking-submit:disabled{opacity:.6;cursor:wait}.booking-feedback{margin:0;font-size:11px;min-height:16px}.booking-feedback.error{color:#a22d2d}.booking-feedback.success{color:#39733a}@media(max-width:800px){.contact{grid-template-columns:1fr;gap:45px}.booking-form{max-width:620px}}@media(max-width:440px){.booking-fields{grid-template-columns:1fr}.booking-form{padding:20px}}

.booking-form #booking-date{display:none}.visual-calendar{border:1px solid var(--line);padding:12px}.visual-calendar>div{display:flex;align-items:center;justify-content:space-between;text-transform:capitalize;font-size:12px}.visual-calendar>div button{border:0;background:transparent;color:var(--navy);font-size:18px;cursor:pointer}.visual-calendar section{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px;text-align:center}.visual-calendar span{font:8px 'DM Mono',monospace;color:var(--beige-deep)}.visual-calendar i{display:block}.visual-calendar section button{aspect-ratio:1;border:0;background:transparent;color:var(--navy);cursor:pointer;font-size:10px}.visual-calendar section button:hover:not(:disabled),.visual-calendar section button.selected{background:var(--beige-deep);color:var(--white)}.visual-calendar section button:disabled{opacity:.25;cursor:not-allowed}

@media(min-width:1100px){.contact{position:relative;grid-template-columns:minmax(360px,.82fr) minmax(400px,.9fr);gap:clamp(70px,8vw,150px);padding-right:clamp(380px,26vw,510px)}.contact-phone{position:absolute;right:clamp(55px,8vw,130px);top:50%;width:min(320px,19vw);margin:0;transform:translateY(-50%)}.booking-form{width:100%;max-width:500px;justify-self:center}.contact-copy{align-self:center}}

.address-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.address-details label{display:grid;gap:7px;font:10px 'DM Mono',monospace;letter-spacing:.04em;text-transform:uppercase}@media(max-width:440px){.address-details{grid-template-columns:1fr}}
.services-back-link{display:inline-flex;align-items:center;gap:9px;margin-bottom:46px;padding:11px 14px;border:1px solid var(--line);color:var(--navy);background:var(--white);text-decoration:none;font-size:11px;font-weight:800;transition:.2s ease}.services-back-link:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}.services-back-link b{font-size:17px;line-height:10px;font-weight:500}
