@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&display=swap');
:root{--ink:#101d2a;--blue:#172d40;--gold:#d69d53;--paper:#f5f3ee;--white:#fff;--muted:#586777;--line:#d6dce0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.82rem;font-weight:700;color:#ad7331}.site-header{background:var(--blue);color:white;position:relative;z-index:3}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.7rem;font:600 1.65rem/1 'Oswald',sans-serif;letter-spacing:.035em;text-transform:uppercase}.brand-mark{width:35px;height:35px;border:2px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:1.1rem;transform:skew(-8deg)}.nav{display:flex;align-items:center;gap:2.2rem}.nav a{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.nav a:hover,.nav a[aria-current]{color:var(--gold)}.nav .nav-cta{background:var(--gold);color:var(--ink);padding:.7rem 1.05rem}.menu-button{display:none;background:transparent;color:white;border:1px solid #81909c;padding:.4rem .7rem}.hero{background:var(--blue);color:white;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.hero-copy{padding:100px 5vw 105px max(24px,calc((100vw - 1160px)/2));align-self:center}.hero .eyebrow{color:#e9b673}.hero h1,.page-hero h1{font:600 clamp(3.5rem,6vw,6.6rem)/.99 'Oswald',sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:22px 0}.hero h1 span{color:var(--gold)}.hero p{max-width:520px;color:#e2e8ec;font-size:1.12rem}.hero-art{background:#334452 url('hero.png') center/cover no-repeat;position:relative}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,45,64,.3),transparent 45%)}.hero-art:after{content:'RESIDENTIAL  /  COMMERCIAL';position:absolute;bottom:25px;right:25px;color:white;background:#132637cc;padding:.55rem .8rem;letter-spacing:.12em;font-size:.75rem;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;background:var(--gold);color:var(--ink);font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em;border:1px solid var(--gold)}.button:hover{background:#ebba7d}.button.outline{color:#fff;background:transparent;border-color:#fff}.button.outline:hover{background:#fff;color:var(--ink)}.section{padding:88px 0}.section h2,.panel h2,.page-hero h1{font-family:'Oswald',sans-serif;text-transform:uppercase}.section h2,.panel h2{font-size:clamp(2.3rem,4.2vw,4rem);line-height:1.1;margin:12px 0 25px}.intro{max-width:725px;color:var(--muted);font-size:1.08rem}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.card{background:white;border:1px solid var(--line);padding:34px;min-height:250px}.card .num{color:#b57b37;font:600 1.1rem 'Oswald',sans-serif}.card h3{font:600 1.65rem/1.15 'Oswald',sans-serif;text-transform:uppercase;margin:22px 0 12px}.card p{color:var(--muted);margin:0}.dark-band{background:var(--blue);color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.dark-band .split p{color:#d2dce3}.steps{border-top:1px solid #6e7f8b}.step{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:19px 0;border-bottom:1px solid #6e7f8b}.step strong{color:var(--gold)}.step p{margin:0;color:white}.panel{background:#dce5e9;padding:55px;display:flex;justify-content:space-between;align-items:center;gap:35px}.panel h2{margin:12px 0}.panel p{max-width:650px;margin:0;color:#425461}.page-hero{background:var(--blue);color:white;padding:92px 0 100px}.page-hero h1{font-size:clamp(3.5rem,6vw,6rem);margin:15px 0}.page-hero p{max-width:750px;font-size:1.13rem;color:#d5dfe5}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}.service{padding:30px;background:white;border-left:4px solid var(--gold)}.service h3{font:600 1.55rem 'Oswald',sans-serif;text-transform:uppercase;margin:0 0 8px}.service p{color:var(--muted);margin:0}.note{font-size:.9rem;color:var(--muted);max-width:760px}.contact-box{background:white;padding:48px;border:1px solid var(--line);max-width:760px}.contact-box h2{margin-top:0}.contact-box p{color:var(--muted)}.needed{border-left:4px solid var(--gold);padding:14px 20px;background:#fff8ee}.site-footer{background:#0d202e;color:white;padding:55px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.site-footer p{color:#bdc9d1;max-width:360px}.site-footer h3{font:600 1.1rem 'Oswald';text-transform:uppercase}.footer-links{display:grid;gap:8px}.footer-links a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #4b5e6b;margin-top:40px;padding-top:20px;color:#a8b8c2;font-size:.85rem;display:flex;justify-content:space-between;gap:20px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:760px){.wrap{width:min(100% - 32px,1160px)}.header-inner{min-height:70px}.brand{font-size:1.4rem}.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:70px;background:#172d40;padding:16px 24px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 20px #0003}.nav.open{display:flex}.nav a{padding:12px 0}.nav .nav-cta{text-align:center;margin-top:10px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:68px 24px 70px}.hero-art{min-height:290px;grid-row:1}.hero h1{font-size:clamp(3.4rem,12vw,5.4rem)}.section{padding:65px 0}.grid3,.split,.service-list,.footer-grid{grid-template-columns:1fr}.card{min-height:0}.panel{padding:35px 25px;display:block}.panel .button{margin-top:25px}.page-hero{padding:65px 0}.contact-box{padding:28px}.footer-bottom{display:block}}

.brand{display:inline-flex;line-height:1}.brand-logo{width:205px;height:auto;display:block;background:#fff;border-radius:5px;padding:3px}.site-footer .brand-logo{width:220px}@media(max-width:390px){.brand-logo{width:185px}}

.site-footer .footer-logo{width:min(320px,100%)}

.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.contact-email{background:var(--blue);border-color:var(--blue);color:#fff}.contact-email:hover{background:#27445d;color:#fff}.text-link{color:#9a5f1d;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.footer-links a{overflow-wrap:anywhere}

.nav .nav-cta:hover,.nav .nav-cta:focus-visible,.nav .nav-cta[aria-current="page"]{color:var(--ink);background:#ebba7d}

/* Compact home hero slogan and keep each intentional line together. */
.hero-grid{min-height:490px}.hero-copy{padding-top:66px;padding-bottom:70px}.hero h1{font-size:clamp(2.7rem,4.05vw,4.25rem);line-height:1.06;letter-spacing:-.025em;margin:18px 0 20px}.hero h1 span{white-space:nowrap}@media(max-width:760px){.hero-art{min-height:235px}.hero-copy{padding-top:48px;padding-bottom:52px}.hero h1{font-size:clamp(2.55rem,8.7vw,3.8rem);line-height:1.07}}

.inquiry-form{display:grid;gap:19px;margin-top:28px}.form-row{display:grid;gap:6px}.form-row label{font-weight:700}.form-row input,.form-row textarea{width:100%;border:1px solid #8a9aa5;border-radius:3px;background:#fff;color:var(--ink);padding:12px 14px;font:inherit}.form-row textarea{resize:vertical}.form-row input:focus-visible,.form-row textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.optional{font-weight:400;color:var(--muted)}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.inquiry-form .button{justify-self:start;cursor:pointer}.inquiry-form .button:disabled{opacity:.55;cursor:not-allowed}.form-status{padding:13px 18px;margin-top:20px;border-left:4px solid var(--gold);background:#fff8ee;color:var(--ink)}

.reverse-contact{display:inline-block;direction:rtl;unicode-bidi:bidi-override}.contact-reveal{border:0;background:none;padding:0;text-align:left;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.contact-reveal:hover{color:#a46523}.contact-reveal:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.site-footer .contact-reveal{color:#fff}.site-footer .contact-reveal:hover{color:var(--gold)}.direct-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.direct-contact>div{background:#f5f3ee;padding:18px;display:grid;gap:7px}.direct-contact strong{font:600 1.15rem 'Oswald',sans-serif;text-transform:uppercase}.contact-method{color:var(--ink);font-weight:700;overflow-wrap:anywhere}@media(max-width:600px){.direct-contact{grid-template-columns:1fr}}

.contact-reveal.decoded-contact .reverse-contact{direction:ltr;unicode-bidi:normal}

.success-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow:auto;border:0;border-radius:4px;background:#fff;color:var(--ink);padding:38px;box-shadow:0 25px 80px #0005}.success-dialog::backdrop{background:#0d202ec4}.success-dialog h2{font:600 clamp(1.8rem,4vw,2.7rem)/1.12 'Oswald',sans-serif;text-transform:uppercase;margin:12px 0 20px}.success-dialog p{font-size:1.08rem}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1;cursor:pointer}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}.success-dialog .button.contact-reveal{background:var(--gold);border:1px solid var(--gold);padding:10px 22px;color:var(--ink);text-decoration:none;min-height:48px}.success-dialog .button.contact-reveal:hover{background:#ebba7d}.dialog-number{color:#9a5f1d;font-weight:700}@media(max-width:600px){.success-dialog{padding:30px 22px}.dialog-actions .button{flex:1}}

/* Torres It + The Bid Book contractor connection */
.bidbook-home{background:#fff}.bidbook-home-grid,.bidbook-showcase{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:42px;align-items:center}.bidbook-mini-card{background:var(--blue);color:#fff;border-top:5px solid var(--gold);padding:32px;box-shadow:0 16px 38px #10202d1c}.bidbook-mini-card strong{display:block;font:600 2rem/1.05 'Oswald',sans-serif;text-transform:uppercase;margin:16px 0 12px}.bidbook-mini-card p{color:#d5dfe5}.bidbook-mini-card a{color:#f0ba75;font-weight:700}.bidbook-badge{display:inline-block;border:1px solid #e4b169;color:#f2c180;padding:5px 8px;font-size:.75rem;font-weight:700;letter-spacing:.12em}.bidbook-secondary{background:transparent;border-color:var(--blue);color:var(--blue)}.bidbook-secondary:hover{background:var(--blue);color:#fff}.dark-band .bidbook-secondary{border-color:#fff;color:#fff}.dark-band .bidbook-secondary:hover{background:#fff;color:var(--ink)}.bidbook-demo-link{align-self:center;font-weight:700}.contractor-hero .actions{margin-top:28px}.contractor-choice b{color:#fff}.bidbook-showcase{background:#fff;border:1px solid var(--line);padding:42px}.bidbook-phone{max-width:330px;justify-self:center;background:#f8fafb;border:9px solid #172d40;border-radius:28px;padding:24px 20px;box-shadow:0 18px 40px #10202d26;text-align:center}.bidbook-phone-top{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:#ad7331;margin-bottom:22px}.bidbook-phone strong{display:block;font:600 1.7rem 'Oswald',sans-serif}.bidbook-phone>span{display:block;color:var(--muted);font-size:.9rem;margin:6px 0 18px}.bidbook-phone-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}.bidbook-phone-actions i{font-style:normal;background:var(--blue);color:#fff;padding:8px 4px;font-size:.7rem;border-radius:4px}.bidbook-phone p{font-size:.85rem;color:var(--muted);line-height:1.45}.contractor-panel-actions{margin-top:0;justify-content:flex-end}@media(max-width:760px){.bidbook-home-grid,.bidbook-showcase{grid-template-columns:1fr}.bidbook-showcase{padding:28px 22px}.bidbook-phone{width:min(100%,330px)}.contractor-panel-actions{justify-content:flex-start}}

/* Torres It video player and video pages */
.torres-video-shell{width:100%;max-width:980px;margin:1.4rem auto 0;background:#090d12;border:2px solid #344455;border-radius:14px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.2)}
.torres-video{display:block;width:100%;height:auto;max-height:75vh;aspect-ratio:16/9;object-fit:contain;background:#000}
.torres-video-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem}
.torres-about-video{margin-top:2rem}.torres-about-video h3{text-align:center}
.torres-feature-video .intro{margin-bottom:1.2rem}
@media(max-width:600px){.torres-video-shell{border-radius:9px}.torres-video{max-height:70vh}}

/* Mobile responsive story player and pop-up */
.torres-video-shell,.torres-modal-panel{box-sizing:border-box}
.torres-video-actions .torres-popup-trigger{cursor:pointer;font:inherit;min-height:48px}
.torres-modal[hidden]{display:none!important}
.torres-modal{position:fixed;inset:0;z-index:99999;background:rgba(4,11,19,.9);display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,28px);box-sizing:border-box}
.torres-modal-panel{position:relative;width:min(100%,1060px);max-height:calc(100dvh - 24px);background:#050505;border:1px solid #536273;border-radius:12px;padding:clamp(6px,2vw,14px);box-shadow:0 16px 55px #0009}
.torres-modal-video{display:block;width:100%;max-height:calc(100dvh - 95px);aspect-ratio:16/9;object-fit:contain;background:#000}
.torres-modal-close{position:absolute;z-index:1;right:8px;top:8px;border:1px solid #fff9;border-radius:50%;width:44px;height:44px;color:#fff;background:#17232ded;font:normal 32px/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.torres-modal-close:focus-visible,.torres-popup-trigger:focus-visible{outline:3px solid #efb971;outline-offset:3px}
body.torres-modal-open{overflow:hidden}
@media(max-width:600px){.torres-video-actions{flex-direction:column;align-items:stretch}.torres-video-actions>*{width:100%;box-sizing:border-box;text-align:center;justify-content:center}.torres-video-shell{max-width:100%;}.torres-video{max-height:60dvh}.torres-modal{padding:8px}.torres-modal-panel{padding:6px;border-radius:8px}.torres-modal-video{max-height:calc(100dvh - 72px)}.torres-modal-close{top:-18px;right:0}}
