/* Jireh TH Construction — locally hosted, dependency-free website */
:root{--navy:#00205b;--deep:#00183f;--yellow:#ffd700;--red:#bf0a30;--paper:#f7f6f1;--ink:#102444;--muted:#566172;--line:#d9dcd9;--white:#fff;--heading:Impact,"Arial Narrow",sans-serif;--body:Arial,Helvetica,sans-serif;--page:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--heading);font-weight:400;text-transform:uppercase;letter-spacing:-.015em;line-height:.99}h2{font-size:clamp(48px,5.2vw,74px)}h3{line-height:1.25}em{font-style:normal}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:5px}button:disabled{cursor:not-allowed}::selection{background:var(--yellow);color:var(--deep)}.wrap{max-width:var(--page);width:calc(100% - 112px);margin-inline:auto}.section{padding-top:108px;padding-bottom:108px}.eyebrow{font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:12px;margin-bottom:25px}.eyebrow>span{width:29px;height:3px;background:var(--red)}.eyebrow.light{color:#dce4f1}.eyebrow.light>span{background:var(--yellow)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:54px;padding:15px 22px;font-size:13px;font-weight:700;line-height:1.4;border:1px solid transparent;transition:background .2s,transform .2s}.button span{font-size:22px;line-height:1}.button-yellow{color:var(--deep);background:var(--yellow)}.button-yellow:hover{background:#ffe64a;transform:translateY(-2px)}.text-link{font-size:13px;line-height:1.4;font-weight:700;display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link span{font-size:22px;line-height:1}.text-link:hover{color:var(--red)}.light-link:hover{color:var(--yellow)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;background:var(--yellow);z-index:100}.skip-link:focus{top:10px}
.announcement{display:flex;justify-content:center;gap:10px;align-items:center;min-height:35px;background:var(--paper);font-size:10px;font-weight:600;letter-spacing:.02em;padding:6px 20px}.announcement>a{font-weight:400;color:var(--muted)}.announcement>a span{padding-left:6px}.announcement>a:hover{text-decoration:underline}.site-header{background:var(--navy);color:white;position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:102px}.brand{display:block;flex:0 0 155px}.brand img{width:155px;height:88px;object-fit:contain}.main-nav{display:flex;gap:31px;margin-left:auto;margin-right:18px}.main-nav a{font-size:12px;font-weight:600;padding:15px 0;position:relative}.main-nav a:after{content:"";position:absolute;bottom:7px;left:0;right:100%;height:2px;background:var(--yellow);transition:right .2s}.main-nav a:hover:after,.main-nav a[aria-current]:after{right:0}.header-cta{min-height:46px;font-size:11px;gap:24px;padding:12px 18px}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;background:var(--deep);color:white;min-height:646px;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 43%;z-index:-2}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:57% 53%}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--deep) 0%,var(--deep) 36%,#00183fe0 44%,#00183f2b 64%,transparent 100%)}.hero-content{padding-top:66px;padding-bottom:72px}.hero-copy{width:54%;max-width:650px}.hero .eyebrow{margin-bottom:28px}.hero h1{font-size:clamp(64px,6.7vw,100px);line-height:.98;letter-spacing:.004em}.hero h1 em{color:var(--yellow)}.hero-description{font-size:14px;line-height:1.8;color:#d5dce8;max-width:375px;margin:26px 0 29px}.hero-actions{display:flex;align-items:center;gap:26px}.hero-actions .button{font-size:12px;padding:16px 20px;min-height:55px}.hero-actions .text-link{font-size:12px;white-space:nowrap}.hero-contact{display:flex;align-items:center;gap:13px;margin-top:34px;font-size:10px;color:#becadd}.hero-contact a{font-size:14px;letter-spacing:.05em;font-weight:700;color:white}.language-tag{font-size:9px;color:#c1cce0}.photo-caption{position:absolute;right:56px;bottom:50px;display:flex;gap:15px;align-items:center;color:white;font-size:11px;line-height:1.5;padding:15px 20px;background:#00183fdc;backdrop-filter:blur(5px);border-left:3px solid var(--yellow)}.photo-caption small{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#c0ccde;margin-bottom:4px}.caption-marker{font-size:30px}.hero-index{position:absolute;right:28px;top:28px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#ffffffc7}.credentials{border-bottom:1px solid var(--line);background:#f0efe8}.credential-inner{display:flex;justify-content:space-between;gap:28px;padding-top:23px;padding-bottom:23px}.credential-inner>span{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:10px;letter-spacing:.08em;font-weight:700}.credential-inner svg{width:22px;height:22px;color:var(--navy)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px}.section-heading>p{max-width:338px;color:var(--muted);font-size:14px;line-height:1.8;padding-bottom:4px}.services-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:75px}.service-item{border-top:1px solid #bfc6cb}.service-item:last-child{border-bottom:1px solid #bfc6cb}.service-item summary{display:flex;align-items:center;gap:22px;cursor:pointer;list-style:none;padding:27px 0}.service-item summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.service-number{font-size:11px;color:var(--muted);align-self:center;letter-spacing:.03em}.service-item h3{font-size:21px;letter-spacing:-.025em;font-weight:600}.expand-icon{width:22px;height:22px;position:relative;margin-left:auto;flex-shrink:0}.expand-icon:before,.expand-icon:after{content:"";position:absolute;background:var(--navy);top:10px;left:4px;width:14px;height:1.5px;transition:transform .2s}.expand-icon:after{transform:rotate(90deg)}details[open] .expand-icon:after{transform:rotate(0deg)}.service-item[open] summary{padding-bottom:17px}.service-body{padding:0 32px 28px 36px}.service-body>p{color:var(--muted);font-size:13px;max-width:490px;line-height:1.8}.service-tags{display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:20px 0 25px;list-style:none}.service-tags>li{font-size:10px;font-weight:600;line-height:1.5;border:1px solid #cdd1d2;padding:5px 9px;background:#fff9}.service-body .text-link{font-size:11px}.service-body .text-link span{font-size:18px}.service-aside{align-self:start}.aside-photo{position:relative;overflow:hidden;height:330px}.aside-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}.image-label{position:absolute;left:0;bottom:20px;background:var(--yellow);padding:9px 15px;font-size:9px;letter-spacing:.1em;font-weight:700;text-transform:uppercase}.aside-footer{padding:20px 0}.aside-footer p{font-size:12px;color:var(--muted);margin-bottom:8px}.aside-footer .text-link{font-size:12px}
.work-section{background:#eeede6;border-block:1px solid #e5e4dc}.project-layout{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(300px,1fr);gap:40px}.project-visual{min-width:0}.gallery-open{padding:0;position:relative;display:block;width:100%;height:470px;background:var(--deep);overflow:hidden;text-align:left}.gallery-open>img{height:100%;width:100%;object-fit:cover;object-position:center;transition:transform .5s}.gallery-open:hover>img{transform:scale(1.025)}.zoom-label{position:absolute;bottom:18px;right:18px;display:flex;gap:10px;align-items:center;background:var(--white);padding:10px 13px;font-size:10px;font-weight:700;color:var(--ink)}.zoom-label svg{width:17px;height:17px}.project-caption{display:flex;justify-content:space-between;gap:10px;font-size:9px;text-transform:uppercase;letter-spacing:.07em;margin-top:15px}.project-caption>span:last-child{color:var(--muted)}.project-kicker{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.1em;display:flex;justify-content:space-between;padding:4px 0 24px;border-bottom:1px solid #c7cbc9}.project-kicker>span{font-size:16px}.stage{display:flex;align-items:center;gap:16px;padding:23px 13px 23px 0;width:100%;border-bottom:1px solid #c7cbc9;background:transparent;text-align:left;color:var(--ink);transition:background .2s,padding .2s}.stage-num{font-size:10px;opacity:.7;flex:0 0 18px}.stage strong{font-size:12px;line-height:1.4;display:block}.stage small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:5px}.stage-arrow{margin-left:auto;font-size:20px}.stage[aria-pressed=true]{background:var(--navy);color:white;padding-left:14px;padding-right:14px;border-color:var(--navy)}.stage[aria-pressed=true] small{color:#c2cde0}.stage[aria-pressed=true] .stage-num{color:var(--yellow);opacity:1}.stage:hover:not([aria-pressed=true]){background:#e1e1d8;padding-left:10px}.project-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:26px}
.about-section{background:var(--navy);color:var(--white);position:relative;overflow:hidden}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:110px}.about-section h2{font-size:clamp(52px,5.5vw,78px)}.about-section h2 em{color:var(--yellow)}.brand-rule{display:flex;width:82px;margin-top:34px;gap:6px}.brand-rule i{height:5px;flex:1;background:var(--red)}.brand-rule i:nth-child(2){background:white}.brand-rule i:nth-child(3){background:var(--yellow)}.about-copy{padding-top:40px}.about-lead{font-size:25px;line-height:1.35;letter-spacing:-.02em;font-weight:600;margin-bottom:22px}.about-copy>p:not(.about-lead){color:#c9d4e6;font-size:13px;line-height:1.9;margin-bottom:17px}.about-copy .text-link{margin-top:10px}.about-footnote{display:flex;flex-wrap:wrap;gap:18px;border-top:1px solid #ffffff35;margin-top:35px;padding-top:20px;text-transform:uppercase;font-size:9px;letter-spacing:.06em;color:#c9d4e6}.about-footnote span+span:before{content:"/";margin-right:18px;color:#8193b5}
.process-section{padding-bottom:100px}.process-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:48px}.process-intro .eyebrow{margin-bottom:0}.process-intro h2{font-size:44px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process-grid article{border-top:1px solid #bdc4c9;padding-top:23px}.process-number{display:block;color:var(--red);font-size:11px;margin-bottom:22px;font-weight:700}.process-grid h3{font-size:20px;letter-spacing:-.025em;margin-bottom:14px}.process-grid p{font-size:13px;line-height:1.85;color:var(--muted);max-width:310px}
.contact-section{background:#eae9e1;border-top:1px solid #dfdfd4}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-copy h2{font-size:clamp(58px,6vw,82px)}.contact-copy h2 em{color:var(--red)}.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:25px}.contact-numbers{margin:32px 0;display:grid;gap:20px;max-width:350px}.contact-numbers a>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;display:flex;justify-content:space-between;color:var(--muted);margin-bottom:4px}.contact-numbers a>span>span{font-size:18px;color:var(--navy)}.contact-numbers strong{font-size:33px;letter-spacing:-.025em;line-height:1.4;font-weight:700}.contact-numbers a:hover strong{color:var(--red)}.contact-copy>.text-link{font-size:11px}.form-panel{background:var(--white);padding:35px 34px;align-self:start;border-top:5px solid var(--yellow)}.panel-kicker{display:block;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.form-panel h3{font-size:24px;letter-spacing:-.035em}.form-notice{display:flex;gap:10px;padding:15px;background:#f6f4e9;margin:22px 0}.notice-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#977600;margin-top:5px}.form-notice p{font-size:10px;line-height:1.8;color:#61604f}.form-notice strong{color:#484b42;font-weight:600}fieldset{margin:0;padding:0;border:0;min-width:0}fieldset label{display:block;font-size:10px;font-weight:600;margin-bottom:15px;color:#4e5867}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,select,textarea{display:block;width:100%;border:1px solid #dedfdf;border-radius:0;margin-top:6px;padding:11px 12px;background:#f9f9f7;color:#6e7580;font-size:11px;line-height:1.5;opacity:1}input:disabled,select:disabled,textarea:disabled{-webkit-text-fill-color:#73777b;opacity:1;cursor:not-allowed}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#73777b;opacity:1}.form-submit{width:100%;font-size:11px;color:#69717d;background:#e9eced;min-height:46px;padding:12px 15px}.form-footnote{font-size:9px;text-align:center;color:var(--muted);margin-top:14px}
.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:100px}.faq-section h2{font-size:52px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{padding:22px 0;list-style:none;display:flex;align-items:center;gap:22px;justify-content:space-between;font-size:13px;font-weight:600;cursor:pointer;line-height:1.5}.faq-list summary span{font-size:22px;line-height:1;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:12px;color:var(--muted);line-height:1.8;padding:0 26px 22px 0}.faq-list p a{text-decoration:underline;color:var(--navy)}
.site-footer{background:var(--deep);color:white;padding:46px 0 26px}.footer-top{display:flex;align-items:center;gap:35px;margin-bottom:30px}.footer-brand{width:145px;flex-shrink:0}.footer-brand img{width:145px;height:auto}.footer-top>p{font-family:var(--heading);text-transform:uppercase;font-size:35px;line-height:1.05;letter-spacing:.01em}.footer-top>p span{color:var(--yellow)}.footer-back{margin-left:auto;font-size:11px;display:flex;align-items:center;gap:24px}.footer-back>span{width:40px;height:40px;border:1px solid #ffffff45;display:grid;place-items:center;font-size:20px}.footer-middle{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff30;padding:22px 0;color:#b5c4db;font-size:10px}.footer-middle nav{display:flex;gap:25px;color:white}.footer-middle a:hover{color:var(--yellow)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#9caec9}.footer-bottom small{font-size:9px}.mobile-contact{display:none}
.lightbox{position:fixed;inset:0;width:min(1200px,95vw);height:min(880px,94dvh);max-width:none;max-height:none;border:1px solid #ffffff30;background:var(--deep);color:white;padding:0}.lightbox::backdrop{background:#000c;backdrop-filter:blur(6px)}.lightbox[open]{display:flex;flex-direction:column}.lightbox-header,.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;flex-shrink:0}.lightbox-header p{font-size:12px}.lightbox button{color:white;background:transparent;padding:8px 4px;min-height:36px;font-size:12px}.lightbox-close{display:flex;align-items:center;gap:15px}.lightbox-close span{font-size:25px;line-height:1}.lightbox>img{height:0;flex:1;min-height:0;width:100%;object-fit:contain}.lightbox-footer p{font-size:11px;color:#bbc9dc}.lightbox-footer button{display:flex;gap:15px;align-items:center}.lightbox button:hover{color:var(--yellow)}
@media(min-width:1600px){.hero{min-height:710px}.hero-content{padding-top:82px;padding-bottom:92px}.photo-caption{right:calc((100vw - 1320px)/2)}}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.header-inner{gap:22px}.main-nav{gap:22px;margin-right:0}.header-cta{font-size:10px;gap:12px}.hero-actions{gap:20px}.hero-actions .button{font-size:11px;padding-inline:16px;gap:16px}.hero h1{font-size:clamp(67px,7.3vw,87px)}.hero-copy{width:57%}.hero-photo{left:42%}.hero-description{max-width:340px}.hero{min-height:625px}.photo-caption{right:36px;bottom:40px}.services-layout{grid-template-columns:minmax(0,1fr) 285px;gap:40px}.service-item h3{font-size:19px}.project-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:28px}.gallery-open{height:430px}.stage{gap:10px;padding-block:21px}.stage strong{font-size:11px}.project-note{margin-top:20px}.about-layout{gap:65px}.about-section h2{font-size:60px}.contact-layout{gap:55px}.form-panel{padding:28px}.faq-section{gap:65px}.section-heading{gap:35px}.section-heading>p{max-width:300px}}
@media(max-width:900px){.header-inner{gap:18px}.brand{flex-basis:125px}.brand img{width:125px;height:80px}.main-nav{gap:17px}.main-nav a{font-size:11px}.header-cta{padding:11px 13px;gap:9px}.hero-actions{flex-wrap:wrap;gap:18px}.hero-copy{width:58%}.hero-description{max-width:300px}.hero h1{font-size:72px}.hero:after{background:linear-gradient(90deg,var(--deep) 0%,var(--deep) 33%,#00183fdf 45%,#00183f15 74%)}.hero .eyebrow{font-size:9px}.photo-caption{right:24px;bottom:35px;max-width:235px;padding:12px 16px;font-size:10px}.credential-inner{gap:15px}.credential-inner>span{font-size:8px;gap:8px}.section{padding-top:80px;padding-bottom:80px}.section-heading h2{font-size:52px}.section-heading>p{font-size:12px;max-width:260px}.services-layout{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.service-item h3{font-size:17px}.service-item summary{gap:13px}.service-body{padding-left:27px;padding-right:5px}.aside-photo{height:320px}.service-tags{gap:5px}.service-tags li{font-size:9px}.project-layout{grid-template-columns:1fr}.gallery-open{height:470px}.project-stages{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.project-kicker{grid-column:1/-1;padding-bottom:14px}.project-note{grid-column:1/-1;margin-top:15px}.stage{padding:20px 10px 20px 0}.stage strong{font-size:12px}.about-layout{gap:45px}.about-section h2{font-size:50px}.about-copy{padding-top:25px}.about-lead{font-size:22px}.about-copy>p:not(.about-lead){font-size:12px}.about-footnote{gap:10px;font-size:8px}.about-footnote span+span:before{margin-right:10px}.process-grid{gap:25px}.process-grid h3{font-size:18px}.process-grid p{font-size:12px}.process-intro h2{font-size:36px}.process-intro .eyebrow{font-size:9px}.contact-layout{gap:35px}.contact-copy h2{font-size:57px}.contact-numbers strong{font-size:28px}.form-panel{padding:23px}.form-panel h3{font-size:21px}.contact-copy .eyebrow{font-size:9px}.form-row{grid-template-columns:1fr;gap:0}.faq-section{gap:35px}.faq-list summary{font-size:12px}.footer-middle{font-size:9px}}
@media(max-width:760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.announcement{font-size:9px;min-height:31px;padding:7px 12px;gap:0}.announcement{font-size:0}.announcement a{font-size:9px}.header-inner{min-height:79px;position:relative;gap:15px}.brand{flex-basis:118px}.brand img{height:67px;width:118px}.header-cta{margin-left:auto;font-size:9px;min-height:40px;padding:10px 12px;gap:9px}.header-cta span{font-size:19px}.menu-toggle{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:44px;background:transparent;color:white;padding:0;order:3}.menu-lines{width:23px;height:12px;border-top:1.5px solid white;border-bottom:1.5px solid white;position:relative;transition:transform .2s}.menu-label{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.menu-toggle[aria-expanded=true] .menu-lines{border-bottom:0;transform:rotate(45deg);height:0}.menu-toggle[aria-expanded=true] .menu-lines:after{content:"";position:absolute;left:0;top:-1px;width:23px;height:1.5px;background:white;transform:rotate(90deg)}.main-nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;padding:15px 20px 23px;background:var(--navy);border-top:1px solid #ffffff25;box-shadow:0 15px 20px #0002;margin:0;gap:0}.main-nav.is-open{display:flex;flex-direction:column}.main-nav a{padding:13px 10px;font-size:14px;border-bottom:1px solid #ffffff20}.main-nav a:after{display:none}.hero{min-height:0;display:flex;flex-direction:column}.hero-photo{position:relative;inset:auto;order:2;height:315px;z-index:0}.hero-photo img{object-position:50% 58%}.hero:after{display:none}.hero-content{padding-top:46px;padding-bottom:42px;order:1}.hero-copy{width:100%;max-width:none}.hero .eyebrow{font-size:10px;margin-bottom:24px}.hero h1{font-size:clamp(64px,14vw,96px);line-height:.97;letter-spacing:.002em}.hero-description{font-size:13px;max-width:375px;margin:23px 0 25px}.hero-actions{flex-wrap:nowrap;gap:25px}.hero-actions .button{font-size:10px;gap:20px;padding:15px 16px;min-height:50px}.hero-actions .text-link{font-size:10px;gap:12px}.hero-contact{margin-top:24px;font-size:9px}.hero-contact a{font-size:13px}.photo-caption{bottom:20px;left:20px;right:auto;max-width:none;padding:12px 16px;z-index:1}.hero-index{display:none}.credential-inner{justify-content:center;flex-wrap:wrap;gap:12px 22px;padding-block:18px}.credential-inner>span{font-size:8px;gap:7px}.credential-inner svg{height:18px;width:18px}.credential-inner>span:first-child{width:100%;justify-content:center}.section{padding-top:66px;padding-bottom:66px}.eyebrow{font-size:9px;margin-bottom:22px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:clamp(43px,10.7vw,65px)}.section-heading>p{max-width:460px;margin-top:22px;font-size:13px}.services-layout{grid-template-columns:1fr;gap:30px}.service-item h3{font-size:20px}.service-item summary{padding:24px 0;gap:20px}.service-body{padding-left:33px;padding-bottom:26px;padding-right:18px}.service-body>p{font-size:12px}.service-tags>li{font-size:10px}.service-aside{display:none}.project-layout{gap:25px}.gallery-open{height:340px}.project-caption{font-size:8px;gap:15px}.project-caption span:last-child{text-align:right}.project-stages{gap:0 12px}.project-kicker{font-size:9px}.stage{gap:8px;padding:19px 6px 19px 0;align-items:flex-start}.stage-num{font-size:9px;flex-basis:16px;line-height:1.8}.stage strong{font-size:11px}.stage small{font-size:9px}.stage-arrow{display:none}.stage[aria-pressed=true]{padding-left:10px;padding-right:8px}.project-note{font-size:10px;margin-top:18px}.about-layout{grid-template-columns:1fr;gap:32px}.about-section h2{font-size:clamp(48px,12vw,70px)}.about-copy{padding-top:0}.about-lead{font-size:24px}.about-copy>p:not(.about-lead){font-size:13px;max-width:500px}.brand-rule{margin-top:25px}.about-footnote{font-size:9px;gap:15px;margin-top:30px}.about-footnote span+span:before{margin-right:15px}.process-intro{display:block;margin-bottom:32px}.process-intro .eyebrow{margin-bottom:22px}.process-intro h2{font-size:44px}.process-grid{grid-template-columns:1fr;gap:25px}.process-grid article{display:grid;grid-template-columns:40px 1fr;gap:0 12px;padding-top:20px}.process-number{grid-row:1/3;margin:0;line-height:2.2}.process-grid h3{font-size:20px;margin-bottom:10px}.process-grid p{font-size:12px;max-width:400px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-copy h2{font-size:clamp(58px,14vw,82px)}.contact-copy .eyebrow{font-size:9px}.contact-numbers{max-width:360px}.contact-numbers strong{font-size:35px}.contact-copy>p:not(.eyebrow){font-size:13px}.form-panel{padding:28px 23px}.form-panel h3{font-size:25px}.form-row{grid-template-columns:1fr 1fr;gap:12px}.form-notice p{font-size:11px}fieldset label{font-size:11px}input,select,textarea{font-size:12px}.form-submit{font-size:11px;min-height:50px}.form-footnote{font-size:10px}.faq-section{grid-template-columns:1fr;gap:30px}.faq-section h2{font-size:44px}.faq-list summary{font-size:13px;padding-block:23px}.faq-list p{font-size:13px}.site-footer{padding-top:33px;padding-bottom:88px}.footer-top{gap:20px;flex-wrap:wrap;margin-bottom:24px}.footer-brand,.footer-brand img{width:120px}.footer-top>p{font-size:30px}.footer-back{margin-left:0;width:100%;justify-content:space-between;padding-top:8px}.footer-back>span{width:32px;height:32px}.footer-middle{flex-direction:column;gap:16px;font-size:10px}.footer-middle nav{gap:27px}.footer-bottom{flex-direction:column;gap:8px}.footer-bottom small{font-size:9px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:35;display:grid;grid-template-columns:1.8fr 1fr;gap:1px;background:#fff4;box-shadow:0 -4px 20px #00183f22;padding-bottom:env(safe-area-inset-bottom);background-color:var(--yellow)}.mobile-contact>a{display:flex;align-items:center;justify-content:center;gap:18px;min-height:52px;background:var(--yellow);font-size:11px;font-weight:700;color:var(--deep)}.mobile-contact>a:last-child{color:white;background:var(--navy)}.mobile-contact>a span{font-size:18px}.lightbox{width:100vw;height:100dvh;border:0;max-height:100dvh}.lightbox-header,.lightbox-footer{padding:14px 20px}.lightbox-header p{font-size:11px;max-width:240px}.lightbox-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.header-inner{gap:9px}.header-cta{font-size:8px;padding-inline:10px;gap:7px}.brand,.brand img{width:104px;flex-basis:104px}.hero-actions{gap:18px}.hero-actions .button{font-size:9px;gap:10px;padding-inline:12px}.hero-actions .text-link{font-size:9px}.service-item h3{font-size:18px}.gallery-open{height:290px}.form-row{grid-template-columns:1fr;gap:0}.form-panel h3{font-size:22px}.footer-top>p{font-size:27px}.contact-numbers strong{font-size:32px}.stage strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.announcement,.site-header,.mobile-contact,.lightbox,.form-panel,.footer-back{display:none!important}.hero-photo{position:relative;inset:auto;height:240px}.hero:after{display:none}.hero{color:#000;background:white}.hero-copy{width:100%}.hero-content{padding:20px 0}.hero-description,.hero-contact,.hero-contact a{color:#000}.hero h1{font-size:48px}.hero h1 em,.about-section h2 em{color:var(--navy)}.hero-contact{margin-top:15px}.hero-actions,.photo-caption{display:none}.wrap{width:94%}.section{padding:35px 0}.services-layout,.contact-layout{grid-template-columns:1fr}.service-aside{display:none}.about-section{background:white;color:#000}.about-copy>p:not(.about-lead){color:#333}.about-layout{gap:30px}.site-footer{padding-bottom:20px}.stage{break-inside:avoid}details{break-inside:avoid}}

/* Contact details and inquiry form: awaiting confirmed contact setup. */
.hero-contact { flex-wrap: wrap; }
.contact-status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--yellow); }
.hero-phone-placeholder { color: #dce4f1; font-size: 12px; }
.contact-layout { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(36px, 6vw, 88px); align-items: start; }
.contact-copy, .form-panel { min-width: 0; }
.contact-availability { margin-top: 36px; padding: 26px 0; border-block: 1px solid #c8cbd0; scroll-margin-top: 125px; }
.contact-availability-heading { font-size: 16px; font-weight: 700; margin-bottom: 22px; letter-spacing: -.02em; }
.phone-placeholder + .phone-placeholder { margin-top: 20px; }
.phone-language { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; margin-bottom: 4px; }
.phone-placeholder strong { display: block; font-size: clamp(17px, 1.65vw, 23px); line-height: 1.4; font-weight: 600; letter-spacing: -.02em; }
.contact-availability-note { margin-top: 24px; max-width: 330px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.contact-prep { display: flex; gap: 18px; margin-top: 29px; max-width: 380px; }
.prep-number { color: var(--red); font-size: 11px; font-weight: 700; flex: 0 0 27px; padding-top: 2px; }
.contact-prep p { font-size: 12px; color: var(--muted); line-height: 1.85; }
.contact-prep strong { color: var(--ink); font-weight: 600; }
.form-panel { padding: clamp(24px, 3vw, 40px); border-top: 5px solid var(--yellow); box-shadow: 0 16px 45px #00183f08; }
.form-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.form-panel-heading .panel-kicker { margin: 0; font-size: 10px; letter-spacing: .1em; }
.form-status { display: inline-flex; gap: 7px; align-items: center; font-size: 10px; font-weight: 600; color: #625416; padding: 5px 9px; background: #fff8cf; }
.form-status > span { width: 5px; height: 5px; border-radius: 50%; background: #85700a; }
.form-panel h3 { font-size: clamp(23px, 2.3vw, 30px); line-height: 1.18; letter-spacing: -.035em; }
.form-intro { font-size: 12px; color: var(--muted); margin-top: 10px; }
.form-notice { margin: 24px 0 20px; background: #f7f6ef; border-left: 2px solid #d2bd45; padding: 14px; }
.form-notice p { font-size: 12px; line-height: 1.65; color: var(--muted); }
.form-notice strong { color: var(--ink); font-weight: 600; }
.form-requirements { font-size: 10px; color: var(--muted); margin-bottom: 18px; }
#estimate-form .form-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.form-field { min-width: 0; margin-bottom: 19px; }
#estimate-form label { color: var(--ink); font-size: 12px; font-weight: 600; margin: 0 0 7px; line-height: 1.4; }
.field-optional { color: var(--muted); font-weight: 400; font-size: 10px; }
#estimate-form input, #estimate-form select, #estimate-form textarea { margin: 0; border: 1px solid #cfd4db; background: #fafbfc; color: var(--ink); font-size: 14px; padding: 12px 13px; line-height: 1.5; min-height: 46px; }
#estimate-form input:disabled, #estimate-form select:disabled, #estimate-form textarea:disabled { opacity: 1; -webkit-text-fill-color: #626d7c; color: #626d7c; cursor: not-allowed; }
#estimate-form input::placeholder, #estimate-form textarea::placeholder { opacity: 1; color: #626d7c; }
#estimate-form textarea { min-height: 126px; resize: vertical; }
.field-hint { display: block; font-size: 10px; line-height: 1.6; color: var(--muted); margin-top: 7px; }
.field-error { display: block; margin-top: 7px; font-size: 12px; line-height: 1.5; color: #9b102d; }
.field-error[hidden], .form-honeypot[hidden] { display: none; }
#estimate-form [aria-invalid="true"] { border-color: #9b102d; }
.form-submit { padding: 16px 18px; min-height: 53px; background: #e8edf3; color: #43516a; border: 1px solid #d6dee8; gap: 15px; }
.form-submit .submit-label { font-size: 12px; line-height: 1.5; text-align: left; }
.form-submit svg { width: 18px; height: 18px; flex: 0 0 18px; }
.form-footnote { font-size: 10px; line-height: 1.7; margin-top: 14px; }
@media (min-width: 761px) and (max-width: 1050px) { #estimate-form .form-row { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 760px) {
  .contact-layout { grid-template-columns: 1fr; gap: 38px; }
  .contact-availability { margin-top: 28px; padding-block: 22px; scroll-margin-top: 100px; }
  .phone-placeholder strong { font-size: 20px; }
  .contact-prep { margin-top: 23px; }
  .form-panel { padding: 26px 22px; }
  #estimate-form .form-row { grid-template-columns: 1fr; gap: 0; }
  #estimate-form input, #estimate-form select, #estimate-form textarea { font-size: 16px; }
  .form-panel h3 { font-size: 27px; }
  .form-panel-heading { gap: 10px; }
  .mobile-contact { grid-template-columns: 1fr 1fr; }
  .mobile-contact > .mobile-phone-placeholder { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 9px 12px; background: var(--navy); color: #e3eaf5; font-size: 10px; line-height: 1.4; text-align: center; }
  .mobile-contact > a { gap: 10px; font-size: 11px; }
  .hero-phone-placeholder { font-size: 11px; }
}
@media (max-width: 380px) {
  .form-panel { padding: 22px 18px; }
  .form-panel h3 { font-size: 25px; }
  .form-panel-heading .panel-kicker, .form-status { font-size: 9px; }
}

/* Confirmed client phone numbers. */
.contact-phone-link { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; }
.contact-phone-link strong { font-size: clamp(25px, 2.25vw, 33px); letter-spacing: -.025em; }
.contact-phone-link > span { font-size: 21px; color: var(--red); }
.contact-phone-link:hover strong { color: var(--red); }
@media (max-width: 760px) { .contact-phone-link strong { font-size: 29px; } }

/* Curated client media. No automatic video playback or animated carousels. */
.gallery-open > img.portrait-stage { object-fit: contain; }
.details-collection { margin-top: 76px; padding-top: 54px; border-top: 1px solid #c7cbc9; }
.collection-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 30px; }
.collection-heading .eyebrow { margin-bottom: 18px; }
.collection-heading h3 { font-size: clamp(25px, 3vw, 36px); letter-spacing: -.035em; line-height: 1.2; }
.collection-heading > p { max-width: 320px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.detail-card { margin: 0; min-width: 0; }
.detail-card img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; }
.detail-card figcaption { padding-top: 18px; border-top: 3px solid var(--yellow); }
.detail-card h4 { margin: 0 0 9px; font-size: 17px; letter-spacing: -.025em; line-height: 1.35; }
.detail-card p { color: var(--muted); font-size: 12px; line-height: 1.8; }
.film-collection { margin-top: 76px; padding-top: 54px; border-top: 1px solid #c7cbc9; }
.film-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.film-card { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1fr); background: var(--deep); color: white; min-width: 0; }
.film-screen { position: relative; min-width: 0; align-self: center; background: #091526; aspect-ratio: 9/16; }
.film-screen [hidden] { display: none !important; }
.film-load { padding: 0; background: transparent; color: white; width: 100%; height: 100%; position: relative; display: block; }
.film-load img { width: 100%; height: 100%; object-fit: contain; }
.film-load:after { content: ''; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,#00183fd9); }
.film-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background: var(--yellow); color: var(--deep); width: 60px; height: 60px; display: grid; place-items: center; border-radius: 50%; padding-left: 4px; font-size: 21px; box-shadow: 0 3px 20px #0003; z-index: 1; }
.film-load:hover .film-play { background: #ffe64a; }
.film-duration { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; font-size: 10px; font-weight: 700; z-index: 1; }
.film-screen video { display: block; width: 100%; height: 100%; object-fit: contain; }
.film-screen video:focus-visible { outline: 3px solid var(--yellow); outline-offset: -3px; }
.film-copy { padding: 28px 24px; align-self: center; min-width: 0; }
.film-kicker { font-size: 9px; line-height: 1.6; letter-spacing: .09em; text-transform: uppercase; color: var(--yellow); display: block; margin-bottom: 18px; }
.film-copy h4 { font-size: clamp(23px,2vw,30px); letter-spacing: -.035em; line-height: 1.1; margin: 0 0 18px; }
.film-copy p { font-size: 11px; color: #c9d4e6; line-height: 1.8; }
.film-copy .film-meta { margin-top: 22px; padding-top: 14px; border-top: 1px solid #ffffff30; color: white; font-size: 10px; }
.film-status:empty { display: none; }
.film-copy .film-status { margin-top: 15px; color: #ffe679; }
.film-fallback { padding-top: 20px; font-size: 13px; }
.film-fallback a { text-decoration: underline; }
@media (max-width: 1150px) { .film-copy { padding: 22px 17px; } .film-copy h4 { font-size: 24px; } }
@media (max-width: 1000px) { .detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 22px; } .film-grid { grid-template-columns: 1fr; } .film-card { grid-template-columns: minmax(0,.65fr) minmax(0,1fr); } .film-copy { padding: 35px; } .film-copy h4 { font-size: 34px; } .film-copy p { font-size: 13px; } }
@media (max-width: 760px) { .collection-heading { display: block; margin-bottom: 26px; } .collection-heading > p { margin-top: 18px; max-width: 460px; } .details-collection,.film-collection { margin-top: 48px; padding-top: 36px; } .detail-grid { gap: 28px 16px; } .detail-card h4 { font-size: 17px; } .film-card { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } .film-copy { padding: 22px 18px; } .film-copy h4 { font-size: 25px; } .film-copy p { font-size: 11px; } }
@media (max-width: 560px) { .detail-grid { grid-template-columns: 1fr; gap: 32px; } .detail-card img { aspect-ratio: 4/5; object-position: center; } .detail-card h4 { font-size: 21px; } .detail-card p { font-size: 13px; } .film-card { grid-template-columns: 1fr; } .film-screen { width: 100%; max-height: none; } .film-copy { padding: 27px 24px; } .film-copy h4 { font-size: 30px; } .film-copy p { font-size: 13px; } .film-grid { gap: 28px; } }
@media print { .film-load,.film-screen video { display: none !important; } .film-card { display: block; background: white; color: black; } .film-copy p { color: #333; } .detail-grid { grid-template-columns: repeat(4,1fr); } }

@media (max-width: 760px) { .service-aside { display: block; } .aside-photo { height: 330px; } }

.form-submit:not(:disabled){background:var(--yellow);color:var(--deep);border-color:var(--yellow);cursor:pointer}.form-submit:not(:disabled):hover{background:#ffe36b}.form-footnote{overflow-wrap:anywhere}

#form-open[hidden]{display:none}.form-notice{scroll-margin-top:130px}

.service-area{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;margin-top:70px;padding-top:56px;border-top:1px solid #00205b26}.area-copy h3{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:0 0 20px;color:var(--navy)}.area-copy>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:430px;margin-bottom:22px}.area-copy .area-note{font-size:11px!important;color:var(--muted);margin-top:22px}.area-map{min-height:360px;background:#f4f6ef;position:relative;border:1px solid #00205b26;overflow:hidden}.area-map iframe{display:block;width:100%;height:100%;min-height:360px;border:0}.map-cover{min-height:360px;padding:32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:linear-gradient(135deg,#f2f3e7,#e3e9df)}.map-mark{font-size:36px;color:var(--navy);line-height:1}.map-cover strong{font-size:24px;margin:8px 0 12px;color:var(--navy)}.map-cover p{font-size:12px;line-height:1.6;max-width:310px;margin-bottom:23px}.map-cover .button{font-size:12px}.map-status{font-size:11px;padding:12px}@media(max-width:760px){.service-area{grid-template-columns:1fr;gap:24px;margin-top:45px;padding-top:35px}.area-map,.area-map iframe,.map-cover{min-height:320px}.map-cover{padding:24px}}

/* Primary click-to-call action stays visible beside the navigation. */
.header-phone { flex-shrink: 0; white-space: nowrap; font-size: 14px; letter-spacing: .01em; }
@media (max-width: 900px) { .header-phone { font-size: 12px; } }
@media (max-width: 760px) { .header-phone { font-size: 12px; min-height: 44px; padding: 10px 12px; } }
@media (max-width: 380px) { .header-phone { font-size: 11px; padding-inline: 9px; } .main-nav { left: -16px; right: -16px; } }
