:root{--gold:#ad8801;--red:#79302a;--ink:#231f20}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:300 16px/1.87 Poppins,sans-serif}p,h1,h2{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{width:calc(100% - 80px);max-width:1150px;margin-inline:auto}.header{position:absolute;inset:0 0 auto;z-index:10}.topbar{background:var(--gold);color:white;font-size:14px;padding:8px 20px;line-height:26.18px}.topbar .wrap{width:100%;display:grid;grid-template-columns:28.48% 1fr auto}.navigation{display:flex;align-items:center;height:140px}.brand{flex:none}.brand img{width:146px;height:120px;object-fit:contain}nav{display:flex;align-items:center;justify-content:flex-end;gap:32px;flex:1;color:white;line-height:32px}nav button{color:inherit;background:none;border:0;padding:0}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:white;height:50px;padding:0 20px;line-height:1.2;text-align:center;font-size:16px;font-weight:300}.nav-request{width:250px;margin-left:6px}.services{position:relative}.submenu{position:absolute;top:100%;left:-15px;width:295px;background:#fff;color:var(--ink);padding:10px 0;box-shadow:0 5px 12px #0003}.submenu a{display:block;padding:8px 15px;font-size:14px}.submenu a:hover{background:#f3f3f3}.mobile-phone,.menu-toggle{display:none}.hero{padding:380px 40px 230px;text-align:center;color:white;background:linear-gradient(#0008,#0008),url('/images/home-hero-1920w.webp') 50% 27%/cover}.hero h1{font-size:60px;font-weight:600;line-height:1.2;max-width:972px;margin:auto}.hero p{font-size:20px;line-height:30px;max-width:776px;margin:10px auto 0}.intro{display:grid;grid-template-columns:5fr 1fr 6fr;padding-block:100px 145px;align-items:start}.intro>p{max-width:453px;padding-top:115px}.intro-photo{grid-column:3}.framed{position:relative}.framed img{width:100%;height:544px;object-fit:cover}.framed:after{content:'';position:absolute;inset:45px 45px -45px -45px;border:2px solid var(--gold);pointer-events:none}.callout{padding:320px 40px 0;height:503px;margin-bottom:100px;background:url('/images/pexels-photo-3209049-1920w.webp') center/cover}.callout-card{max-width:990px;margin:auto;padding:18px;background:white;box-shadow:0 6px 12px #0003;text-align:center}.callout-card>div{border:2px solid var(--gold);padding:30px 45px 35px}.callout h2{font-size:30px;line-height:36px;font-weight:600;margin-bottom:20px}.callout .button{min-width:250px}.inspection{display:grid;grid-template-columns:6fr 1fr 5fr;padding-block:145px 100px}.inspection-photo img{height:539.53px}.inspection-photo:after{inset:-45px -45px 45px 45px}.inspection-copy{grid-column:3;padding-top:140px;padding-right:16px}.inspection-copy .button{margin-top:15px;font-size:16px;padding-inline:20px;white-space:nowrap}.footer-main{background:#f7f7f7;padding:100px 0}.footer-grid{display:grid;grid-template-columns:3fr 6fr 3fr}.footer-brand{text-align:center}.footer-brand img{margin:auto}.certifications{display:flex;align-items:flex-start;gap:20px;padding:40px 27px 0}.certifications img{object-fit:contain;min-width:0;height:auto}.certifications img:nth-child(1){width:154px}.certifications img:nth-child(2){width:112px}.certifications img:nth-child(3){width:196px;margin:10px 0 0 18px}.contact{padding:25px 0 0 30px;font-size:14px;line-height:26.18px}.contact h2{font-size:30px;color:var(--red);font-weight:500;line-height:1;margin:0 0 10px}.copyright{background:var(--gold);color:white;text-align:center;font-size:13px;line-height:26px;padding:7px 10px}
@media(min-width:768px) and (max-width:1100px){nav{gap:20px;flex-wrap:wrap}.nav-request{width:172px}.brand img{width:105px;height:auto}.navigation{height:172px}.topbar .wrap{grid-template-columns:26.5% 54% 19.5%}.topbar span:last-child{text-align:right}.intro>p{padding-top:115px}.inspection-copy .button{white-space:normal;height:auto;min-height:50px}.contact{padding-left:0}.contact h2{font-size:28px}.certifications{gap:20px}.certifications img:nth-child(3){margin-left:0}.footer-brand img{width:138px}.callout-card{max-width:calc(100% - 140px)}.callout-card>div{padding-inline:25px}}
@media(max-width:767px){.wrap{width:calc(100% - 30px)}.topbar{display:none}.header{position:absolute;background:white;height:124px}.navigation{height:124px;justify-content:space-between}.brand img{width:104px;height:104px}.mobile-phone{display:flex;color:var(--red);margin-left:15px}.menu-toggle{display:flex;flex-direction:column;gap:4px;background:none;border:0;padding:12px 5px;color:#666}.menu-toggle span{display:block;width:20px;height:2px;background:currentColor}nav{display:none;position:absolute;top:124px;left:0;right:0;background:white;color:var(--ink);padding:20px 25px;box-shadow:0 5px 10px #0003}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:12px}.submenu{position:static;box-shadow:none;width:100%;padding-left:10px}.nav-request{margin:0;width:100%}.hero{padding:146px 15px 70px;background-position:center}.hero h1{font-size:32px;line-height:1.2}.hero p{font-size:18px;line-height:27px;margin-top:10px}.intro{display:flex;flex-direction:column;padding:40px 0;gap:40px}.intro-photo{order:-1;width:calc(100% - 15px);margin-left:8px}.framed img{height:250px}.framed:after{inset:10px 10px -10px -10px}.intro>p{padding:0;max-width:none}.callout{height:auto;padding:40px 15px;margin:0}.callout-card{padding:12px;max-width:none}.callout-card>div{padding:30px 25px}.callout h2{font-size:22px;line-height:1.2;margin-bottom:10px}.callout .button{min-width:0;width:100%;padding:0 8px}.inspection{display:flex;flex-direction:column;padding:50px 0 40px}.inspection-photo{width:calc(100% - 15px);margin-left:8px}.inspection-photo:after{inset:-10px -10px 10px 10px}.inspection-copy{padding:30px 0 0;text-align:center}.inspection-copy .button{margin-top:15px;white-space:normal}.footer-main{padding:40px 0 35px}.footer-grid{display:flex;flex-direction:column}.footer-brand img{width:144px;height:144px}.footer-brand p{margin-top:15px}.certifications{flex-direction:column;align-items:center;gap:15px;padding:30px 0 0}.certifications img:nth-child(1){width:100px}.certifications img:nth-child(2){width:80px}.certifications img:nth-child(3){width:120px;margin:0}.contact{padding:30px 0 0;text-align:center}.contact h2{font-size:22px}.copyright{padding:15px 5px;font-size:13px;white-space:nowrap}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .2s}.button:hover{background:#632720}}
@media(max-width:767px){.callout-card>div{padding-inline:16px}.callout .button{width:240px;max-width:100%}.copyright{white-space:normal}}
@media(min-width:768px) and (max-width:1100px){.topbar span:first-child{padding-right:40px}.topbar span:nth-child(2){padding-right:20px}}
/* Match the live site's white, fixed header after scrolling. */
.header.is-scrolled{position:fixed;background:#fff;box-shadow:0 2px 10px #00000014}
.header.is-scrolled .topbar{display:none}
.header.is-scrolled nav{color:var(--ink)}
@media(min-width:768px){.header.is-scrolled .navigation{height:166px}.header.is-scrolled .brand img{width:146px;height:146px}}
@media(min-width:768px) and (max-width:1100px){.header.is-scrolled .brand img{width:105px;height:105px}}
@media(max-width:767px){.header{position:fixed}nav.open{max-height:calc(100dvh - 124px);overflow-y:auto}}
/* Small interaction cues, with no layout changes or repeating motion. */
.button:hover{background:#632720}
nav>a:not(.button):hover,.services>button:hover{color:var(--gold)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@keyframes menu-appear{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
  .button{transition:background-color 220ms ease}
  nav>a:not(.button),.services>button{transition:color 180ms ease}
  .menu-toggle span{transition:transform 180ms ease,opacity 180ms ease}
  .submenu:not([hidden]),nav.open{animation:menu-appear 180ms ease-out}
  .button:active{transform:translateY(0);box-shadow:none}
}
/* Prepare offscreen content, then reveal once its leading edge is in view. */
@media(prefers-reduced-motion:no-preference){
  .fade-ready{opacity:1;transform:translateY(0);transition:opacity 1500ms cubic-bezier(.25,.1,.25,1),transform 1500ms cubic-bezier(.25,.1,.25,1)}
  .fade-pending{opacity:0;transform:translateY(24px)}
}

/* Hero motion starts with the first paint, avoiding a visible-then-hidden flash. */
@keyframes content-entrance{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:no-preference){
  .hero h1,.hero p,.entrance-now{animation:content-entrance 1500ms cubic-bezier(.25,.1,.25,1) both}
  .hero p{animation-delay:200ms}
}
.nav-support{display:contents}
@media(max-width:767px){
  .nav-support{display:block;background:#efefef;padding:30px 20px 40px;margin:8px -25px -20px}
  .nav-support .nav-request{width:auto;min-height:50px;margin:0 0 10px;padding-inline:20px}
  .header .nav-support .topbar{display:block;background:none;color:var(--ink);padding:0;font-size:14px;line-height:26.18px}
  .nav-support .topbar .wrap{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left}
  .nav-support .topbar a{color:var(--ink)}
}

.mobile-request-link{display:none}
@media(max-width:767px){.mobile-request-link{display:block}.nav-support .nav-request{width:100%}}
/* Keep the drawer CTA at its original phone width on wider touch screens. */
@media(max-width:767px){.nav-support .nav-request{max-width:335px}}
/* Tablet layouts need their own proportions between phone and desktop. */
@media(min-width:600px) and (max-width:1100px){
  .hero{min-height:680px;padding:280px 36px 140px;background-position:50% 40%}
  .hero h1{font-size:clamp(40px,5vw,54px);max-width:900px}
  .hero p{max-width:680px;font-size:20px;line-height:30px;margin-top:18px}
  .intro,.inspection{padding-block:75px;align-items:center}
  .intro>p{padding-top:0}
  .inspection-copy{padding-top:0}
  .framed img{height:auto}
  .framed:after{inset:24px 24px -24px -24px}
  .inspection-photo:after{inset:-24px -24px 24px 24px}
  .callout{height:auto;padding:180px 35px 50px;margin-bottom:0}
  .callout-card{max-width:850px}
  .callout h2{font-size:28px;line-height:1.3}
}
@media(min-width:600px) and (max-width:900px){
  .hero{padding-top:270px}
  .intro,.inspection{display:flex;flex-direction:column;gap:55px;max-width:640px;width:calc(100% - 80px)}
  .intro-photo{order:-1}
  .intro-photo,.inspection-photo{width:100%;margin-left:0}
  .intro>p{max-width:none}
  .inspection-copy{padding:0;text-align:center}
}
@media(min-width:600px) and (max-width:767px){
  .hero{padding-top:230px}
}
/* Keep tablet footer branding and certifications balanced in rows. */
@media(min-width:600px) and (max-width:1100px){
  .footer-main{padding:60px 0}
  .footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:35px 30px;align-items:center}
  .footer-brand img{width:120px;height:120px}
  .footer-brand p{font-size:14px;margin-top:10px}
  .certifications{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:clamp(12px,2vw,24px);padding:0;min-width:0}
  .certifications img:nth-child(1){width:30%;max-width:154px;height:auto}
  .certifications img:nth-child(2){width:22%;max-width:112px;height:auto}
  .certifications img:nth-child(3){width:38%;max-width:196px;height:auto;margin:0}
  .contact{grid-column:1/-1;padding:0;text-align:center}
  .contact h2{font-size:26px}
}
/* Fit the information strip without wrapping on smaller desktop screens. */
@media(min-width:768px) and (max-width:1100px){
 .header>.topbar{font-size:clamp(12px,1.36vw,14px)}
 .header>.topbar .wrap{grid-template-columns:max-content 1fr max-content;gap:20px;align-items:center}
 .header>.topbar span:first-child,.header>.topbar span:nth-child(2){padding-right:0}
 .header>.topbar .wrap>span{white-space:nowrap}
 .header>.topbar span:nth-child(2){text-align:center}
}
/* Refined shared navigation: calm surfaces, clear hierarchy, ample targets. */
nav{font-size:clamp(14px,1.12vw,16px);gap:24px;flex-wrap:nowrap}
nav>a:not(.button),.services>button{white-space:nowrap;padding-block:8px;line-height:28px}
nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:8px}
.services>button{display:flex;align-items:center;gap:9px}
.services>button>span{font-size:0;width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-top:-4px}
.services>button[aria-expanded="true"]>span{transform:rotate(225deg);margin-top:3px}
.submenu{width:350px;left:-18px;top:100%;padding:8px;border:1px solid #e9e5df;border-radius:12px;background:#fff;box-shadow:0 16px 45px #231f2024,0 3px 8px #231f200a}
.submenu a{padding:12px 14px;border-radius:7px;font-size:14px;font-weight:400;line-height:1.5;color:var(--ink)}
.submenu a:hover,.submenu a:focus-visible{background:#f5f2eb;color:var(--red)}
.nav-request{border-radius:6px;font-weight:400}
@media(min-width:1001px) and (max-width:1200px){nav{gap:18px}.nav-request{width:210px;margin-left:0;font-size:14px}.navigation{height:140px}.brand img{width:120px;height:auto}}
@media(max-width:1000px){
 .header,.header.is-scrolled{position:fixed;background:#fff;height:124px;box-shadow:0 2px 12px #231f2010}
 .header>.topbar{display:none}
 .navigation,.header.is-scrolled .navigation{height:124px;justify-content:space-between;position:relative}
 .brand img,.header.is-scrolled .brand img{width:104px;height:104px}
 .mobile-phone{display:flex;color:var(--red);padding:12px;margin:0}
 .menu-toggle{display:flex;flex-direction:column;gap:4px;background:#f5f3ef;border:0;border-radius:8px;padding:14px;color:var(--ink)}
 .menu-toggle span{display:block;width:20px;height:2px;background:currentColor}
 nav{display:none;position:absolute;top:112px;left:auto;right:0;width:min(520px,100%);max-height:calc(100dvh - 136px);overflow-y:auto;overscroll-behavior:contain;background:#fff;color:var(--ink);padding:12px;border:1px solid #e9e5df;border-radius:12px;box-shadow:0 18px 50px #231f2030;line-height:28px;font-size:16px}
 nav.open{display:flex;flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100dvh - 136px)}
 nav>a:not(.button),.services>button{padding:11px 14px;border-radius:7px;display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left}
 nav>a:not(.button):hover,.services>button:hover{background:#f5f2eb;color:var(--red)}
 .mobile-request-link{display:block}
 .submenu{position:static;width:100%;padding:0 0 8px 12px;border:0;border-radius:0;box-shadow:none;background:none}
 .submenu a{font-size:14px;white-space:normal}
 .nav-support{display:block;background:#f3f2ef;padding:20px 16px;margin:10px 0 0;border-radius:8px}
 .nav-support .nav-request{width:100%;max-width:335px;margin:0 0 14px;min-height:48px;font-size:14px}
 .header .nav-support .topbar{display:block;background:none;color:var(--ink);padding:0;font-size:14px;line-height:1.8}
 .nav-support .topbar .wrap{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left}
 .nav-support .topbar .wrap>span{padding:0;text-align:left;white-space:normal}
 .nav-support .topbar a{color:var(--ink)}
}
@media(prefers-reduced-motion:no-preference){.services>button>span{transition:transform 200ms ease}.submenu a{transition:background-color 180ms ease,color 180ms ease}}
@media(max-width:1000px){nav{font-size:clamp(14px,4.25vw,16px)}.submenu a{font-size:clamp(13px,3.6vw,14px);padding-inline:8px;white-space:nowrap}.submenu{padding-left:4px}}

/* Explicit home destination in the compact navigation. */
nav>a.mobile-home-link{display:none}
@media(max-width:1000px){nav>a.mobile-home-link{display:flex}nav>a:not(.button),.services>button,.submenu a{white-space:normal;overflow-wrap:anywhere}}
/* Long words remain readable when visitors enlarge text. */
main{overflow-wrap:anywhere}
/* White text on gold surfaces meets normal-text contrast requirements. */
.header>.topbar,.copyright{background-color:#927100}@media(max-width:767px){.hero{background-image:linear-gradient(#0008,#0008),url('/images/home-hero-1920w-800w.webp')}}
