/* Architectural editorial cover, scoped to the homepage hero. */
.hero{min-height:760px;background:#0b1d25}
.hero-photo{object-position:65% 52%}
.hero-shade{background:linear-gradient(90deg,rgba(5,19,27,.93) 0%,rgba(5,19,27,.8) 29%,rgba(5,19,27,.34) 58%,rgba(5,19,27,.04) 83%),linear-gradient(0deg,rgba(5,19,27,.76),transparent 33%)}
.hero-inner{padding:100px 0 125px;width:min(1320px,86%)}
.hero .eyebrow{display:flex;align-items:center;gap:20px;font-size:12px;font-weight:500;letter-spacing:3px;color:#d8c59f;margin-bottom:35px}
.hero .eyebrow:before{content:'';width:36px;height:1px;background:#baa077}
.hero h1{max-width:850px;font-size:clamp(68px,6.6vw,101px);line-height:1.04;letter-spacing:-1.8px;font-weight:500;margin:0 0 32px;color:#f7f5ef;text-shadow:0 2px 24px #04141b22}
.hero h1 em{display:inline-block;margin-top:7px;color:#dbc7a3;font-weight:500}
.hero-description{font-size:17px;line-height:1.9;letter-spacing:.15px;font-weight:400;color:#d8dee0;max-width:430px;margin-bottom:39px}
.hero-actions{align-items:center;gap:30px}
.hero .button-gold{background:#ddc8a3;color:#132831;min-height:56px;padding:16px 25px;font-size:14px;font-weight:500;box-shadow:0 5px 25px #0001}
.hero .button-gold:hover{background:#eedec2}
.hero .button-outline{border:0;border-bottom:1px solid #acb5b56b;padding:10px 0;min-height:40px;font-size:14px;gap:20px;background:none}
.hero .button-outline:hover{border-color:#e2cfab;color:#e2cfab}
.hero-bottom{width:min(1320px,86%);border-top:1px solid #cfdbdf33;padding-top:21px;bottom:26px;font-size:12px;font-weight:400;letter-spacing:1.8px;color:#bdcacd}
@media(min-width:1600px){.hero{min-height:830px}}
@media(max-width:800px){.hero{min-height:710px}.hero-inner{width:88%;padding:80px 0 115px}.hero h1{font-size:68px;max-width:650px}.hero-photo{object-position:64% 50%}.hero-shade{background:linear-gradient(90deg,#071b26e6,#071b2699 56%,#071b2644),linear-gradient(0deg,#071b2699,transparent 60%)}.hero-actions{gap:22px}.hero-bottom{width:88%}.hero .eyebrow{font-size:12px;letter-spacing:1.8px;max-width:none}.hero-description{font-size:16px}}
@media(max-width:480px){.hero{min-height:680px}.hero-inner{padding:65px 0 110px}.hero h1{font-size:clamp(45px,12vw,57px);letter-spacing:-1px;line-height:1.08}.hero h1 em{margin-top:12px}.hero .eyebrow{letter-spacing:1.4px;font-size:12px;gap:12px;margin-bottom:29px}.hero .eyebrow:before{width:20px}.hero-description{font-size:16px;line-height:1.8;margin:25px 0 30px}.hero-actions{gap:15px;align-items:flex-start}.hero .button-gold{padding:14px 19px}.hero-bottom{letter-spacing:.6px;font-size:12px}.hero-photo{object-position:69% 50%}.hero-shade{background:linear-gradient(90deg,#071b26e8,#071b26a6 62%,#071b2670),linear-gradient(0deg,#071b26c7,transparent 75%)}html[lang=zh] .hero h1{font-size:46px;line-height:1.35}}
@media(prefers-reduced-motion:no-preference){.hero-inner{animation:cover-enter .8s ease-out both}@keyframes cover-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}

/* Approved Florida Freedom badge logo. */
.brand-badge{display:block;position:relative;overflow:hidden;width:46px;height:80px;flex:0 0 46px}.brand-badge img{position:absolute;width:232%;max-width:none;height:auto;left:-65.5%;top:-12.8%}header .nav-wrap{min-height:104px}.footer-main .brand-badge{width:55px;height:95px;flex-basis:55px}@media(max-width:800px){header .brand-badge{width:35px;height:61px;flex-basis:35px}header .nav-wrap{min-height:82px}}

.project-links{display:flex;flex-wrap:wrap;gap:24px 44px}.repair-projects{background:#f8f6f1}.maintenance-copy li a{text-decoration:underline;text-decoration-color:#ddbb8070;text-underline-offset:6px}.maintenance-copy li a:hover{color:#ddbb80}.service-grid .text-link{margin-top:10px}#pricing{scroll-margin-top:125px}@media(min-width:801px) and (max-width:1150px){nav{gap:14px}.nav-wrap{gap:15px}}

.project-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:36px 0}.project-category{padding:30px 23px;background:white;border:1px solid #d7d2c7}.project-category:hover{border-color:#a88b54;background:#fffdf7}.project-category h3{font-family:var(--serif);font-size:28px;min-height:76px}.project-category>span{font-size:14px;border-bottom:1px solid #b69a65}.project-galleries{margin-bottom:36px}.project-gallery{border-bottom:1px solid #d7d5cd;scroll-margin-top:125px}.project-gallery summary{cursor:pointer;padding:22px 0;font-size:18px}.project-gallery-content{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:5px 0 32px;align-items:center}.project-photo-placeholder{min-height:210px;border:1px dashed #bdb8ac;display:flex;align-items:center;justify-content:center;background:#efede7;color:#62727a;font-size:14px}@media(max-width:900px){.project-category-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.project-category{padding:22px 15px}.project-category h3{font-size:24px}.project-gallery-content{grid-template-columns:1fr}}

/* Refined editorial typography throughout the site. */
:root{--serif:'Libre Caslon Display','Noto Serif SC',Georgia,serif;--sans:'Manrope','Microsoft YaHei','PingFang SC',Arial,sans-serif}
body{font-family:var(--sans);font-size:16px;line-height:1.85;font-weight:400}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
h1 em,h2 em{font-style:normal;font-weight:400}
.hero h1,.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.08}
.hero h1{font-size:clamp(64px,6.2vw,94px)}
.hero-description{font-size:17px;line-height:1.9;letter-spacing:0}
.section-heading h2,.about-copy h2,.contact h2{font-size:clamp(42px,4.1vw,60px)}
.service-grid h3,.steps h3,.contact-card h3{font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.015em;line-height:1.2}
.service-grid p,.about-copy p,.maintenance-copy p{line-height:1.9}
.brand>span:last-child{font-family:var(--serif);font-size:19px;font-weight:400;letter-spacing:1.5px}
.brand small{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:1.65px}
nav{font-size:14px;font-weight:500;letter-spacing:.1px}
.eyebrow,.hero .eyebrow{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:2.4px}
.button,.text-link{font-family:var(--sans);font-weight:600;letter-spacing:.1px}
.visual-tag{font-family:var(--serif);font-size:32px;line-height:1.2;letter-spacing:-.3px}
html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3,html[lang=zh] .visual-tag{font-family:'Noto Serif SC','Songti SC',SimSun,serif;letter-spacing:.02em;line-height:1.5;font-weight:400}
html[lang=zh] .eyebrow{letter-spacing:2px}
@media(max-width:800px){.brand>span:last-child{font-size:15px;letter-spacing:.6px}.brand small{font-size:9px}.hero h1{font-size:64px}.visual-tag{font-size:27px}.service-grid h3,.steps h3{font-size:26px}}
@media(max-width:480px){.hero h1{font-size:clamp(44px,11.5vw,55px)}.hero-description{font-size:16px}.section-heading h2,.about-copy h2,.contact h2{font-size:42px}.visual-tag{font-size:24px}html[lang=zh] .hero h1{font-size:42px}html[lang=zh] h2{font-size:32px}}

.renovation-showcase{background:#fff}.renovation-visuals{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}.renovation-visuals figure{margin:0}.renovation-panel{position:relative;overflow:hidden;aspect-ratio:1/1.35;background:#f2eee5}.renovation-panel img{position:absolute;width:306%;max-width:none;height:100%;object-fit:fill;top:0}.panel-0 img{left:0}.panel-1 img{left:-103%}.panel-2 img{left:-206%}.renovation-visuals figcaption{font-family:var(--serif);font-size:28px;padding:17px 0;color:var(--navy)}.renovation-note{font-size:13px;margin:14px 0 25px}@media(max-width:600px){.renovation-visuals{grid-template-columns:1fr;gap:25px}.renovation-panel{aspect-ratio:1/1.2}.renovation-visuals figcaption{font-size:26px}}

.worker-showcase{background:#102a35;color:#f8f5ef;padding-top:65px}.worker-showcase>.wrap>p{color:#c6cfd1;font-size:13px}.worker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:35px 0 25px}.worker-grid article{background:#173640}.worker-photo{position:relative;overflow:hidden;aspect-ratio:2/3}.worker-photo img{position:absolute;width:306%;max-width:none;height:100%;object-fit:cover;top:0}.worker-0 img{left:0}.worker-1 img{left:-103%}.worker-2 img{left:-206%}.worker-copy{padding:25px}.worker-copy h3{font-family:var(--serif);font-size:29px;color:#e5cba0}.worker-copy p{color:#d0dadd;font-size:16px}.worker-copy .text-link{color:#e5cba0}@media(max-width:650px){.worker-grid{grid-template-columns:1fr}.worker-photo{aspect-ratio:4/3}.worker-photo img{height:auto}.worker-copy{padding:24px}}

.worker-showcase>.wrap>.worker-team-size{color:#e5cba0;font-size:22px;font-weight:500;line-height:1.5;margin-bottom:22px}
