/*
Theme Name: Firmline Facility
Description: An accessible, typography-led theme for Firmline Facility Services.
Version: 1.0.0
Text Domain: firmline
*/
:root{--navy:#0F2744;--steel:#6E7A86;--orange:#E07A2F;--paper:#F4F3EE;--ink:#24394c;--line:#d5dadd}*{box-sizing:border-box}html{scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;font-size:18px;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,.brand strong{font-family:'Arial Narrow',Impact,Haettenschweiler,sans-serif;color:var(--navy);line-height:1.06;letter-spacing:-.035em}h1{font-size:clamp(3rem,6.7vw,6.4rem);font-weight:800;margin:.25em 0 .35em;max-width:1000px}h2{font-size:clamp(2rem,3.6vw,3.4rem);margin:0 0 .6em}h3{font-size:1.6rem;margin:0 0 .5em}p{margin:0 0 1.3em}p:last-child{margin-bottom:0}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1260px;margin:auto;padding:25px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;flex-direction:column;text-decoration:none;flex-shrink:0}.brand strong{font-size:2rem;letter-spacing:.015em}.brand span:not(.brand-dot){font-size:.64rem;letter-spacing:.27em;font-weight:700}.brand-dot{color:var(--orange)}.menu{display:flex;flex-wrap:wrap;gap:10px 25px;list-style:none;padding:0;margin:0}.menu a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-weight:700;font-size:.9rem}.menu .current-menu-item a{box-shadow:inset 0 -3px var(--orange)}.hero{background:var(--navy);color:#dce2e9;padding:84px max(40px,calc((100vw - 1180px)/2)) 74px}.hero h1{color:white;max-width:1000px}.hero .eyebrow{color:#f2a064}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 22px}.hero p:not(.eyebrow){max-width:670px;font-size:1.2rem}.hero-bottom{border-top:1px solid #456078;margin-top:54px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:.86rem}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:12px 23px;background:var(--orange);color:var(--navy);font-size:.95rem;font-weight:800;text-decoration:none;border:1px solid var(--orange)}.button:hover{background:#ed944e}.button.secondary{background:transparent;color:inherit;border-color:#8da0b3}.section{max-width:1260px;padding:76px 40px;margin:auto}.section.narrow{max-width:940px}.intro{padding-bottom:45px}.intro p{max-width:750px;font-size:1.15rem}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.stream{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:42px 0;border-top:1px solid var(--line)}.stream h3{font-size:2.3rem}.stream ul,.service-list{padding-left:22px}.stream li{margin-bottom:8px}.stream a,.text-link{font-weight:700}.band{background:#e5e9e9}.service-row{display:grid;grid-template-columns:1fr 1.8fr;gap:45px;padding:27px 0;border-top:1px solid var(--line)}.service-row p{max-width:750px}.service-row h3{font-family:inherit;font-size:1.13rem;line-height:1.4;letter-spacing:0}.callout{background:var(--navy);color:#dce2e9}.callout h2{color:white}.callout .section{display:flex;align-items:center;justify-content:space-between;gap:32px}.note{padding:30px;background:#e5e9e9;margin:35px 0}.contact-line{font-size:clamp(1rem,2.5vw,1.5rem);overflow-wrap:anywhere}.contact-line a{display:inline-block;padding:12px 0}details{border-top:1px solid var(--line);padding:22px 0}summary{font-weight:700;cursor:pointer;min-height:44px;font-size:1.1rem}details p{margin-top:15px;max-width:770px}footer{background:#091d32;color:#c6d0da;padding:55px 40px 0;font-size:.88rem}footer .brand strong{color:white}.footer-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:45px}footer a{overflow-wrap:anywhere}footer .eyebrow{color:#d2dae2}.footer-bottom{max-width:1180px;margin:45px auto 0;padding:22px 0;border-top:1px solid #344a61;display:flex;justify-content:space-between;font-size:.75rem}.skip{position:absolute;left:15px;top:-100px;background:white;padding:14px;z-index:10}.skip:focus{top:10px}main{min-height:50vh}@media(max-width:800px){.header-inner{padding:20px 24px;align-items:flex-start;flex-direction:column;gap:15px}.menu{gap:0 21px}.menu a{font-size:.84rem}.hero{padding:55px 24px 40px}.hero-bottom{flex-direction:column;gap:5px;margin-top:35px}.section{padding:48px 24px}.split,.stream,.service-row{grid-template-columns:1fr;gap:22px}.stream{padding:32px 0}.callout .section{align-items:flex-start;flex-direction:column}.footer-inner{grid-template-columns:1fr;gap:30px}footer{padding:40px 24px 0}.footer-bottom{flex-direction:column;gap:10px}h1{font-size:3.35rem}.hero p:not(.eyebrow){font-size:1.05rem}}

/* Home film: the video leads, with the existing headline and description below. */
.home .firmline-film{max-width:1260px;margin:0 auto;padding:28px 40px 0}
.home .firmline-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}
.home .hero{background:var(--paper);color:var(--ink);padding:45px max(40px,calc((100vw - 1180px)/2)) 44px}
.home .hero h1{color:var(--navy);margin-top:.1em}
.home .hero .eyebrow{color:#b95f20}
.home .hero p:not(.eyebrow){max-width:800px}
@media(max-width:800px){.home .firmline-film{padding:0}.home .hero{padding:36px 24px 40px}.home .hero h1{font-size:clamp(2.75rem,10vw,3.35rem)}}

@media(max-width:800px){.menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:0 8px}.menu a{justify-content:center}}
