@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#102f36;--ink2:#25434a;--paper:#f8f9f7;--orange:#edb081;--rust:#ad542e;--line:#d8dfda;--muted:#526568;--white:#fff;--font:'DM Sans','Microsoft YaHei',sans-serif;--heading:'Manrope','Microsoft YaHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--rust);outline-offset:5px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading)}h2{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.18;font-weight:600;letter-spacing:-.045em}h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em}em{font-style:normal;color:var(--rust)}p{color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.notice{padding:7px 24px;background:#eadfd0;color:#4d3b29;text-align:center;font-size:.75rem;letter-spacing:.04em}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(248,249,247,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:42px;height:44px;background:var(--ink);border-radius:4px;display:grid;place-items:center}.brand-icon svg{width:30px;stroke:var(--orange);fill:none;stroke-width:2.4}.brand b{font-size:1.08rem;letter-spacing:.08em;display:block;line-height:1.25}.brand small{display:block;font-size:.625rem;letter-spacing:.14em;margin-top:5px}.header nav{display:flex;align-items:center;gap:28px;font-size:.875rem;font-weight:500}.header nav a:hover{color:var(--rust)}.header-actions{display:flex;gap:18px;align-items:center}.language{border:0;background:none;font-size:.875rem;font-weight:600;padding:9px 4px;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:52px;background:var(--ink);color:white;padding:14px 24px;border:1px solid var(--ink);border-radius:3px;font-size:.9375rem;line-height:1.5;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--ink2);transform:translateY(-1px)}.button.small{min-height:43px;padding:11px 18px;font-size:.875rem}#menu{display:none;background:transparent;border:1px solid var(--line);font-size:1.4rem;min-width:44px;min-height:44px}.hero{display:grid;grid-template-columns:52% 48%;min-height:680px}.hero-copy{padding:76px 7% 64px 9.6%;align-self:center}.eyebrow{display:flex;gap:10px;align-items:center;font-size:.75rem;font-weight:700;letter-spacing:.16em;color:var(--rust);line-height:1.6;margin-bottom:26px}.eyebrow>span:first-child:empty{width:24px;height:2px;background:var(--rust)}h1{font-size:clamp(2.5rem,4.6vw,4.7rem);font-weight:500;line-height:1.14;letter-spacing:-.057em}.hero-description{font-size:1.0625rem;max-width:470px;line-height:1.8;margin-top:30px}.hero-buttons{display:flex;align-items:center;gap:25px;margin-top:32px;flex-wrap:wrap}.text-link{background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 3px;font-size:.9375rem;font-weight:600;line-height:1.6;display:inline-block;width:max-content;max-width:100%;text-align:left}.text-link:hover{color:var(--rust)}.hero-proof{display:flex;gap:20px;font-size:.8125rem;color:var(--muted);margin-top:37px;flex-wrap:wrap}.hero-proof span:before{content:'✓';margin-right:7px;color:var(--rust)}.hero-visual{position:relative;overflow:hidden;background:#526a6b;min-height:650px}.hero-visual>img{display:block;position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;inset:0}.image-shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(7,29,31,.7))}.image-label{position:absolute;bottom:70px;left:44px;right:25px;color:white}.image-label>span{font-size:.75rem;letter-spacing:.2em}.image-label p{color:white;font-size:2rem;font-family:var(--heading);line-height:1.25;margin-top:17px;letter-spacing:-.025em}.image-credit{position:absolute;bottom:19px;left:44px;right:20px;color:#fff;font-size:.75rem;line-height:1.5;text-shadow:0 1px 3px #000}.service-strip{background:var(--ink);color:#fff;display:flex;justify-content:space-evenly;align-items:center;padding:24px 5%;gap:22px;font-size:.75rem;letter-spacing:.14em;line-height:1.7}.service-strip i{color:var(--orange);font-style:normal}.section{padding:100px 7.2%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:52px}.section-heading>p{max-width:390px;font-size:1rem;line-height:1.8}.section-heading .eyebrow{margin-bottom:20px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{padding:35px 28px 30px;background:#fff;border-top:3px solid var(--ink);position:relative;display:flex;flex-direction:column}.number{position:absolute;right:25px;top:30px;color:#718186;font-size:.875rem}.service-icon{width:44px;height:44px;stroke:var(--rust);stroke-width:1.5;fill:none;margin-bottom:28px}.service-card h3{font-size:1.4rem;margin-bottom:16px}.service-card p{font-size:.9375rem;line-height:1.8}.service-card ul{padding:22px 0 25px;margin:0;list-style:none;font-size:.875rem}.service-card li{border-top:1px solid #e8ede9;padding:10px 0}.service-card li:last-child{border-bottom:1px solid #e8ede9}.service-card .text-link{margin-top:auto}.service-note{font-size:.8125rem;max-width:1000px;margin-top:25px}.audience{background:#e9efeb;display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.audience>div>p:last-child{max-width:360px;margin-top:27px}.audience-list>div{display:flex;gap:25px;padding:23px 0;border-bottom:1px solid #c5d2cc}.audience-list>div:first-child{padding-top:0}.audience-list b{font-size:.8125rem;color:var(--rust);padding-top:4px}.audience-list p{font-size:.9375rem;margin-top:10px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.steps article{border-top:1px solid #a4b7af;padding-top:24px}.steps span{display:block;color:var(--rust);font-size:.875rem;margin-bottom:24px}.steps h3{margin-bottom:16px;font-size:1.125rem}.steps p{font-size:.9375rem;line-height:1.8}.projects{background:var(--ink);color:#fff}.projects p{color:#c1cecd}.projects .eyebrow{color:var(--orange)}.project-empty{border:1px solid #51696c;padding:37px;display:flex;align-items:center;gap:28px}.photo-symbol{font-size:2.5rem;color:var(--orange);font-weight:300}.project-empty h3{font-weight:500}.project-empty p{font-size:.875rem;margin-top:10px;max-width:600px}.project-empty .text-link{flex-shrink:0;margin-left:auto;color:#ecc5a7}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.comparison{position:relative;aspect-ratio:4/3;overflow:hidden;background:#203f44;--split:50%}.comparison img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.comparison .before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison:after{content:'';position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white;pointer-events:none}.comparison input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3}.comparison:focus-within{outline:3px solid var(--orange);outline-offset:4px}.comparison .handle{position:absolute;left:var(--split);top:50%;transform:translate(-50%,-50%);padding:10px 11px;border-radius:50%;color:var(--ink);background:white;z-index:2;pointer-events:none}.compare-label{position:absolute;top:16px;padding:4px 10px;background:rgba(16,47,54,.85);font-size:.8125rem;z-index:2}.compare-label.left{left:16px}.compare-label.right{right:16px}.project-card h3{margin-top:22px}.project-card p{margin-top:8px;font-size:.9375rem}.project-card small{color:#c1cecd}.faq{display:grid;grid-template-columns:.9fr 1.3fr;gap:100px}details{border-bottom:1px solid var(--line);padding:22px 0}details:first-child{padding-top:0}summary{list-style:none;font-size:1.0625rem;font-weight:500;cursor:pointer;position:relative;padding-right:32px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:-2px;font-size:1.5rem;color:var(--rust)}details[open] summary:after{content:'−'}details p{font-size:.9375rem;line-height:1.8;margin-top:18px;padding-right:25px}.contact{background:#e9efeb;display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:clamp(2rem,3.6vw,3.6rem)}.contact>div>p:not(.eyebrow){max-width:370px;margin-top:26px}.contact-details{margin-top:38px}.contact-details>span{font-size:.75rem;letter-spacing:.17em;color:var(--rust);font-weight:700}.contact-details address{font-style:normal;font-size:1.125rem;line-height:1.7;margin-top:12px}.contact-details>a{display:inline-block;border-bottom:1px solid;margin-top:13px;font-size:.875rem}#contact-direct{margin-top:20px}#contact-direct a{display:block;width:max-content;max-width:100%;margin:6px 0;overflow-wrap:anywhere}.contact form{background:white;padding:35px;border:1px solid #d5e0da;align-self:start}.contact form h3{margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;margin-bottom:18px}label>span{display:block;font-size:.8125rem;margin-bottom:8px;font-weight:500}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #b8c7bf;border-radius:2px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.5}select{min-height:49px}textarea{resize:vertical}.form-submit{width:100%}.form-note{font-size:.75rem;line-height:1.6;margin-top:14px}.copy-button{border:1px solid var(--ink);background:white;padding:8px 17px}#message-result{margin-top:20px}#copy-status{font-size:.875rem;margin-top:10px}footer{background:var(--ink);color:white;padding:42px 7.2%;display:flex;justify-content:space-between;align-items:center;gap:40px;font-size:.8125rem}footer p{color:#c1cecd;margin-top:10px}footer b{font-size:1rem;letter-spacing:.08em}footer>a{text-decoration:underline;white-space:nowrap}.mobile-contact{display:none}html[lang=zh] h1{font-size:clamp(2.7rem,4.3vw,4.25rem);line-height:1.32;letter-spacing:-.025em}html[lang=zh] h2{line-height:1.4;letter-spacing:-.02em}html[lang=zh] .eyebrow{letter-spacing:.1em}
@media(min-width:1600px){.header,.section,footer{padding-left:max(7.2%,calc((100vw - 1440px)/2));padding-right:max(7.2%,calc((100vw - 1440px)/2))}.hero-copy{padding-left:max(14%,calc((100vw - 1440px)/2))}.hero{min-height:760px}}
@media(max-width:1150px){.header{gap:15px;padding:0 4%;height:90px}.header nav{gap:18px;font-size:.8125rem}.brand b{font-size:.9rem}.brand small{font-size:.6rem}.header-actions{gap:12px}.button.small{padding:10px 12px;font-size:.8125rem}.hero-copy{padding:58px 8%}.hero{min-height:590px}.hero-visual{min-height:590px}.hero-buttons{gap:20px}.section{padding:80px 6%}.service-grid{gap:18px}.service-card{padding:28px 23px}.service-card h3{font-size:1.25rem}.audience,.faq,.contact{gap:55px}.section-heading{gap:45px}.section-heading>p{max-width:340px}.project-empty{flex-wrap:wrap}.project-empty .text-link{margin-left:60px}.hero-proof{gap:10px}.steps{gap:24px}}
@media(max-width:900px){.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px 6%;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;align-items:flex-start;font-size:1rem}.header-actions #menu{display:block}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:55px 10%}.hero h1{font-size:2.9rem}.hero-description{font-size:1rem}.hero-buttons .button{font-size:.875rem;padding:12px 16px}.hero-visual{min-height:640px}.image-label{left:25px}.image-credit{left:25px}.image-label p{font-size:1.8rem}.service-strip{font-size:.65rem;gap:12px;letter-spacing:.08em}.section-heading{align-items:flex-start;gap:35px}.section-heading>p{max-width:300px}.service-grid{grid-template-columns:1fr}.service-card{padding:28px}.service-card h3{font-size:1.5rem}.service-card ul{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:23px}.service-card li{border-bottom:1px solid #e8ede9;font-size:.8125rem}.service-icon{margin-bottom:20px}.steps{grid-template-columns:repeat(2,1fr);gap:35px}.audience,.faq,.contact{gap:36px}.contact form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.project-empty .text-link{margin-left:0}.project-empty{gap:20px}.photo-symbol{display:none}.faq h2{font-size:2rem}.section{padding:70px 6%}footer{gap:30px;flex-wrap:wrap}}
@media(max-width:650px){html{scroll-padding-top:88px}.notice{font-size:.625rem;padding:6px 14px;letter-spacing:0}.header{height:78px;padding:0 5%}.brand-icon{width:35px;height:38px}.brand-icon svg{width:26px}.brand{gap:9px}.brand b{font-size:.84rem;letter-spacing:.06em}.brand small{font-size:.5rem;letter-spacing:.06em}.header-actions{gap:13px}.header-actions .button{display:none}.hero{display:flex;flex-direction:column}.hero-copy{padding:46px 6% 42px}.eyebrow{font-size:.625rem;letter-spacing:.13em;margin-bottom:23px}.hero h1{font-size:clamp(2.6rem,10vw,3.8rem);line-height:1.14;letter-spacing:-.06em}.hero-description{margin-top:24px;font-size:1rem;max-width:470px}.hero-buttons{margin-top:27px;gap:20px}.hero-proof{font-size:.75rem;margin-top:25px;gap:18px}.hero-visual{min-height:380px;max-height:470px;aspect-ratio:1.25}.hero-visual>img{object-position:center 45%}.image-label{bottom:55px;left:6%}.image-label>span{font-size:.625rem}.image-label p{font-size:1.7rem;margin-top:10px}.image-credit{left:6%;font-size:.625rem;bottom:15px}.service-strip{padding:20px 5%;gap:10px;text-align:center;font-size:.5625rem;letter-spacing:.06em}.service-strip i{display:none}.service-strip span{flex:1}.service-strip span+span{border-left:1px solid #53686a;padding-left:10px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:22px;max-width:none;font-size:.9375rem}.section-heading .eyebrow{margin-bottom:16px}h2{font-size:2.2rem}.service-card{padding:28px}.service-card ul{display:block;padding:20px 0}.service-card li{font-size:.875rem;border-bottom:0}.service-card li:last-child{border-bottom:1px solid #e8ede9}.service-note{font-size:.75rem}.audience,.faq,.contact{display:block}.audience-list{margin-top:38px}.audience>div>p:last-child{max-width:none;font-size:.9375rem}.audience-list>div{gap:20px}.steps{gap:30px 24px}.steps h3{font-size:1.0625rem}.steps p{font-size:.875rem}.steps span{margin-bottom:18px}.project-empty{padding:26px}.project-empty h3{font-size:1.125rem}.project-empty .text-link{font-size:.875rem;margin-top:8px}.project-grid{grid-template-columns:1fr}.faq>div+div{margin-top:35px}summary{font-size:1rem}.contact form{margin-top:38px;padding:25px}.contact h2{font-size:2.6rem}.contact-details{margin-top:30px}.contact>div>p:not(.eyebrow){font-size:.9375rem}.contact .eyebrow{margin-bottom:20px}footer{padding:35px 6% 110px;align-items:flex-start;gap:22px;flex-direction:column}footer p{font-size:.75rem}.mobile-contact{position:fixed;bottom:16px;right:6%;left:6%;z-index:8;box-shadow:0 4px 20px #102f3630;background:var(--ink);border:1px solid #73868a;display:flex;min-height:50px}html[lang=zh] h1{font-size:2.9rem;line-height:1.3}html[lang=zh] h2{font-size:2.1rem}html[lang=zh] .hero-proof{font-size:.8125rem}html[lang=zh] .service-strip{font-size:.6875rem}.contact-visible .mobile-contact{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand-logo{width:44px;height:55px;display:block;position:relative;overflow:hidden;flex-shrink:0;background:#fff}.brand-logo img{position:absolute;width:439px;height:87.6px;max-width:none;left:-62px;top:-7px}.brand b{font-size:1.2rem;letter-spacing:.07em}.brand small{font-size:.625rem;letter-spacing:.12em}.hero-visual>img{object-position:60% center}.project-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:32px}.project-tabs button{padding:16px 18px;text-align:left;border:1px solid #526c70;background:transparent;color:#d8e4e2;font-size:.875rem;line-height:1.5;min-height:66px;border-radius:3px}.project-tabs button[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:var(--ink);font-weight:600}.project-tabs button:hover{border-color:var(--orange)}.photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.photo-pair figure{margin:0;position:relative}.photo-pair figcaption{position:absolute;left:18px;top:18px;background:var(--ink);color:#fff;padding:7px 15px;font-size:.75rem;font-weight:600;letter-spacing:.14em;pointer-events:none}.photo-pair figure:last-child figcaption{background:var(--orange);color:var(--ink)}.project-photo{display:block;width:100%;aspect-ratio:4/3;background:#203f44;border:0;padding:0;overflow:hidden;cursor:zoom-in}.project-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.project-photo:hover img{transform:scale(1.02)}.project-info{display:grid;grid-template-columns:1fr 1.1fr;gap:35px;margin-top:28px}.project-info h3{font-size:1.55rem;font-weight:500}.project-info p{font-size:.9375rem}.project-angle-note{font-size:.75rem;margin-top:20px;color:#b9cbca!important}.more-photos{margin-top:24px;border-top:1px solid #526c70;border-bottom:0;padding:20px 0 0}.more-photos summary{font-size:.9375rem}.more-photos summary:after{color:var(--orange)}.site-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.photo-thumb{padding:0;background:#203f44;border:1px solid #526c70;aspect-ratio:4/3;cursor:zoom-in;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}#photo-dialog{background:#0b2429;color:#fff;border:1px solid #536a6d;border-radius:4px;padding:22px;max-width:92vw;max-height:94dvh;overflow:auto}#photo-dialog::backdrop{background:rgba(2,12,16,.9)}#photo-full{display:block;max-width:85vw;max-height:80dvh;object-fit:contain;margin:auto}#photo-close{position:sticky;float:right;right:0;top:0;width:44px;height:44px;margin:0 0 12px 15px;z-index:1;font-size:1.7rem;background:white;color:var(--ink);border:0;border-radius:50%}#photo-caption{font-size:.875rem;color:#e1ebe9;margin-top:14px;clear:both}[hidden]{display:none!important}
@media(max-width:900px){.project-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.brand b{font-size:1rem}.site-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-logo{width:40px}.project-info{gap:25px}}
@media(max-width:650px){.brand-logo{width:35px;height:44px}.brand-logo img{width:351.36px;height:70.08px;left:-49px;top:-6px}.brand b{font-size:1rem}.brand small{font-size:.5rem}.project-tabs{gap:10px;margin-bottom:24px}.project-tabs button{font-size:.8125rem;padding:12px;min-height:63px}.photo-pair{grid-template-columns:1fr;gap:16px}.photo-pair figcaption{top:12px;left:12px;padding:5px 12px;font-size:.6875rem}.project-info{display:block;margin-top:23px}.project-info h3{font-size:1.4rem}.project-info p{margin-top:15px;font-size:.875rem}.site-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#photo-dialog{padding:12px;max-width:96vw}#photo-full{max-width:86vw;max-height:76dvh}.hero-visual>img{object-position:center}.image-label p{font-size:1.7rem}}
/* Original JL mark with a balanced two-line wordmark. */
.header{background:#fff}.brand{gap:14px;flex-shrink:0}.brand .brand-logo{width:40px;height:60px;overflow:hidden;background:#fff}.brand .brand-logo img{position:absolute;display:block;width:527.04px;height:105.12px;max-width:none;left:-78px;top:-16px}.brand-wordmark{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.brand .brand-wordmark b{font-family:var(--heading);font-size:1.47rem;font-weight:800;letter-spacing:.045em;line-height:1.15;color:#16334c;white-space:nowrap}.brand .brand-wordmark small{font-family:var(--font);font-size:.64rem;font-weight:500;letter-spacing:.115em;line-height:1.25;color:#435a68;margin-top:7px;white-space:nowrap}
.fieldwork{background:#fff}.fieldwork-intro{max-width:365px;align-self:end}.fieldwork-intro .text-link{display:inline-block;margin-top:24px}.fieldwork-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.fieldwork-card{margin:0}.fieldwork-card .photo-thumb{width:100%;aspect-ratio:4/4.4;border:0;background:#dbe2df}.fieldwork-card img{object-position:var(--photo-position,center);transition:transform .35s}.fieldwork-card button:hover img{transform:scale(1.025)}.fieldwork-card figcaption{padding-top:20px;border-top:1px solid var(--line);margin-top:17px}.fieldwork-card .photo-kicker{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);display:block;margin-bottom:8px}.fieldwork-card h3{font-size:1.15rem;letter-spacing:-.02em}.fieldwork-card p{font-size:.875rem;margin-top:9px;line-height:1.7}.services{border-top:1px solid var(--line)}
.roof-feature{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center;margin-top:58px;padding-top:45px;border-top:1px solid var(--line)}.roof-feature>div:first-child{max-width:410px}.roof-feature .eyebrow{margin-bottom:15px}.roof-feature h3{font-size:2rem;letter-spacing:-.04em}.roof-feature p:not(.eyebrow){margin:18px 0 24px;font-size:.9375rem}.roof-feature .photo-thumb{width:100%;aspect-ratio:16/9;border:0}.roof-feature figure{margin:0}.roof-feature figcaption{font-size:.75rem;margin-top:10px;color:var(--muted)}
.site-records{background:#f0f3f0}.records-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.records-filters button{background:transparent;border:1px solid #afbeb6;border-radius:3px;padding:10px 18px;font-size:.875rem}.records-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.records-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.record-card{margin:0;min-width:0}.record-card .photo-thumb{width:100%;aspect-ratio:4/3;border:0;background:#dce3df}.record-card img{object-position:var(--photo-position,center)}.record-card figcaption{font-size:.875rem;padding-top:12px}.record-card small{display:block;font-size:.625rem;color:var(--rust);letter-spacing:.1em;margin-bottom:3px}.records-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;padding-top:25px;border-top:1px solid #c7d1ca}.records-bottom p{font-size:.8125rem}
@media(max-width:1150px){.brand{gap:12px}.brand .brand-wordmark b{font-size:1.3rem}.brand .brand-wordmark small{font-size:.57rem;letter-spacing:.09em}}
@media(max-width:900px){.fieldwork-grid{gap:18px}.fieldwork-intro{max-width:300px}.fieldwork-card h3{font-size:1rem}.roof-feature{gap:32px}.records-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand .brand-wordmark b{font-size:1.4rem}.brand .brand-wordmark small{font-size:.625rem}}
@media(max-width:650px){.header{height:82px;gap:10px}.brand{gap:10px}.brand .brand-logo{width:32px;height:50px}.brand .brand-logo img{width:439.2px;height:87.6px;left:-65px;top:-13px}.brand .brand-wordmark b{font-size:1.2rem;letter-spacing:.035em}.brand .brand-wordmark small{font-size:.525rem;letter-spacing:.095em;margin-top:6px}.header-actions{gap:10px}.fieldwork-intro{max-width:none;margin-top:23px}.fieldwork-intro p{font-size:.9375rem}.fieldwork-intro .text-link{margin-top:18px}.fieldwork-grid{grid-template-columns:1fr;gap:32px}.fieldwork-card .photo-thumb{aspect-ratio:4/3}.fieldwork-card figcaption{padding-top:15px;margin-top:12px}.fieldwork-card h3{font-size:1.15rem}.fieldwork-card p{margin-top:6px}.roof-feature{display:block;margin-top:35px;padding-top:32px}.roof-feature h3{font-size:1.65rem}#roof-feature-photo{margin-top:25px}.records-grid{gap:25px 14px}.record-card .photo-thumb{aspect-ratio:1}.record-card figcaption{font-size:.75rem;line-height:1.5}.record-card small{font-size:.5625rem}.records-filters{gap:8px;margin-bottom:25px}.records-filters button{padding:8px 12px;font-size:.75rem}.records-bottom{gap:15px}.records-bottom .text-link{font-size:.8125rem}}
@media(max-width:370px){.header{padding:0 4%;gap:8px}.brand{gap:8px}.brand .brand-wordmark b{font-size:1.07rem}.brand .brand-wordmark small{font-size:.49rem;letter-spacing:.06em}.header-actions{gap:7px}.header-actions #menu{min-width:36px;min-height:40px}.language{font-size:.8125rem;padding:7px 2px}}
/* Wide photographic carousel, with readable content and explicit playback controls. */
.hero{position:relative;display:block;min-height:730px;background:var(--ink);color:#fff;isolation:isolate}.hero-copy{position:relative;z-index:2;width:58%;max-width:860px;padding:82px 0 108px 7.2%;pointer-events:none}.hero-copy a{pointer-events:auto}.hero .eyebrow,.hero h1 em{color:#f2ba8e}.hero .eyebrow>span:first-child:empty{background:#f2ba8e}.hero-description,.hero-proof{color:#f0f4f3}.hero h1{font-size:clamp(2.8rem,4.15vw,4.3rem)}.hero .button{background:var(--orange);border-color:var(--orange);color:var(--ink)}.hero .button:hover{background:#f5c59f}.hero .text-link{color:#fff}.hero-proof span:before{color:var(--orange)}.hero-visual{position:absolute;inset:0;min-height:0;max-height:none;touch-action:pan-y}#hero-slides{position:absolute;inset:0}.hero-slide{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-position);opacity:0;transition:opacity .75s ease;pointer-events:none}.hero-slide.is-active{opacity:1}.hero .image-shade{background:linear-gradient(90deg,rgba(5,24,29,.9) 0%,rgba(5,24,29,.72) 36%,rgba(5,24,29,.08) 77%),linear-gradient(0deg,rgba(5,24,29,.75),transparent 43%);pointer-events:none}.hero .image-label{left:auto;right:7.2%;bottom:116px;max-width:350px;text-align:right;pointer-events:none}.hero .image-label>span{font-size:.625rem;letter-spacing:.14em}.hero .image-label p{font-size:1.55rem;line-height:1.35;margin-top:13px}.hero-controls{position:absolute;right:7.2%;bottom:38px;display:flex;align-items:center;gap:10px;color:white;z-index:3}.hero-controls>button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #ffffff80;border-radius:50%;background:#0b2938a6;color:#fff;font-size:1.15rem}.hero-controls>button:hover{background:#ffffff25}.hero-controls>button:focus-visible,.hero-dot:focus-visible{outline-color:var(--orange)}#hero-pause{font-size:.8125rem}#hero-slide-count{font-size:.6875rem;letter-spacing:.12em;margin:0 4px}#hero-dots{display:flex;gap:0;margin:0 5px}.hero-dot{width:28px;height:44px;border:0;padding:0;background:transparent;display:grid;place-items:center}.hero-dot:after{content:'';width:6px;height:6px;border-radius:50%;background:#fff9;transition:width .25s}.hero-dot[aria-pressed=true]:after{width:20px;border-radius:8px;background:var(--orange)}
@media(max-width:1100px) and (min-width:651px){.hero-copy{width:66%;padding-left:6%;padding-right:5%;padding-top:68px}.hero .image-label{max-width:250px;right:5%;bottom:112px}.hero .image-label p{font-size:1.25rem}.hero-controls{right:5%;gap:7px}.hero-description{font-size:1rem}.hero-proof{max-width:340px}}
@media(max-width:800px) and (min-width:651px){.hero{min-height:790px}.hero-copy{width:82%;padding-bottom:160px}.hero .image-label{display:none}.hero-controls{left:6%;right:auto}}
@media(max-width:650px){.hero{display:flex;flex-direction:column;min-height:0;background:var(--paper);color:var(--ink)}.hero-copy{width:100%;max-width:none;padding:42px 6% 38px;pointer-events:auto}.hero .eyebrow,.hero h1 em{color:var(--rust)}.hero .eyebrow>span:first-child:empty{background:var(--rust)}.hero h1{font-size:clamp(2.6rem,10vw,3.8rem)}.hero-description,.hero-proof{color:var(--muted)}.hero .button{background:var(--ink);border-color:var(--ink);color:white}.hero .text-link{color:var(--ink)}.hero-proof span:before{color:var(--rust)}.hero-visual{position:relative;inset:auto;width:100%;height:440px;min-height:440px;max-height:none;aspect-ratio:auto}.hero-slide{object-position:var(--hero-mobile-position)}.hero .image-shade{background:linear-gradient(0deg,rgba(5,24,29,.85),rgba(5,24,29,.04) 70%)}.hero .image-label{display:block;left:6%;right:6%;bottom:101px;max-width:none;text-align:left}.hero .image-label p{font-size:1.5rem;margin-top:12px}.hero-controls{left:6%;right:6%;bottom:25px;gap:7px;justify-content:flex-start}#hero-dots{margin-left:auto;margin-right:auto}.hero-controls>button{width:42px;height:42px;flex-shrink:0}.hero-dot{width:26px}.hero-copy .hero-proof{margin-top:27px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dot:after{transition:none}}
#hero-slide-count{white-space:nowrap;flex-shrink:0}.hero-visible .mobile-contact{display:none}
@media(max-width:370px){#hero-slide-count{display:none}}
/* Cropped viewports retain the original lettering with a clear space between JL and ADVANCE. */
.brand.uploaded-brand{--brand-mark-height:64px;--brand-word-width:200px;gap:14px;flex-shrink:0;align-items:center}
.brand-artmark,.brand-artword{display:block;position:relative;overflow:hidden;flex-shrink:0;background:#fff}
.brand-artmark{width:calc(var(--brand-mark-height) * .535714286);height:var(--brand-mark-height)}
.brand-artmark img{position:absolute;max-width:none;width:calc(var(--brand-mark-height) * 2.030357143);height:calc(var(--brand-mark-height) * 1.833928571);left:calc(var(--brand-mark-height) * -.675);top:calc(var(--brand-mark-height) * -.158928571)}
.brand-artword{display:flex;flex-direction:column;gap:calc(var(--brand-word-width) * 24 / 894);width:var(--brand-word-width)}
.brand-word-line{display:flex;gap:calc(var(--brand-word-width) * 36 / 894)}
.brand-word-crop{display:block;position:relative;overflow:hidden;flex-shrink:0;width:calc(var(--brand-word-width) * var(--crop-width) / 894);height:calc(var(--brand-word-width) * var(--crop-height) / 894)}
.brand-word-crop img{position:absolute;max-width:none;width:calc(var(--brand-word-width) * 1137 / 894);height:calc(var(--brand-word-width) * 1027 / 894);left:calc(var(--brand-word-width) * var(--crop-x) / -894);top:calc(var(--brand-word-width) * var(--crop-y) / -894)}
.brand-word-jl{--crop-width:146;--crop-height:107;--crop-x:136;--crop-y:715}
.brand-word-advance{--crop-width:709;--crop-height:107;--crop-x:285;--crop-y:715}
.brand-word-company{--crop-width:858;--crop-height:53;--crop-x:136;--crop-y:846;transform-origin:left top;transform:translateX(calc(var(--brand-word-width) * -.298932384 / 894)) scaleX(1.033214709)}
@media(max-width:1150px){.brand.uploaded-brand{--brand-mark-height:58px;--brand-word-width:182px;gap:12px}}
@media(max-width:650px){.brand.uploaded-brand{--brand-mark-height:52px;--brand-word-width:160px;gap:10px}}
@media(max-width:370px){.brand.uploaded-brand{--brand-mark-height:46px;--brand-word-width:144px;gap:9px}}

/* Direct contact links */
.contact-phone{display:flex;align-items:center;gap:10px;min-width:0;margin:10px 0}
.contact-phone>a[href^="tel:"]{white-space:nowrap}
.whatsapp-link,#contact-direct .whatsapp-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0;border-radius:50%;background:#128c4a;transition:background .2s}
.whatsapp-link:hover,#contact-direct .whatsapp-link:hover{background:#0d713b}
.whatsapp-link img{display:block;width:24px;height:24px}
#contact-direct .contact-phone a{margin:0}
.contact-email,#contact-direct .contact-email{display:block;width:fit-content;max-width:100%;min-height:32px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.contact-email:hover{color:var(--rust)}
.footer-contact{min-width:0;max-width:100%;font-size:.875rem}
.footer-contact .contact-email:hover{color:var(--orange)}
