.lb-nav { position: fixed; inset: 0 0 auto; z-index: 1000; background: rgba(248,247,243,.97); border-bottom: 1px solid rgba(36,40,35,.13); transition: background .25s ease, box-shadow .25s ease; }
.lb-nav.lb-scrolled { background: rgba(248,247,243,.98); box-shadow: 0 9px 30px rgba(20,25,22,.055); }
.lb-nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 82px; }
.lb-nav-logo { display: inline-flex; align-items: center; flex: none; text-decoration: none; }
.lb-nav-logo img { display: block; max-width: 210px; max-height: 48px; width: auto; object-fit: contain; }
.lb-nav-logo img.lb-brand-logo { width: min(210px, 100%); height: auto; }
.lb-logo-text { color: var(--lb-ink); font-family: var(--lb-body); font-size: 1.13rem; font-weight: 700; letter-spacing: .11em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.lb-nav-links { display: flex; align-items: center; gap: clamp(14px, 1.65vw, 30px); list-style: none; margin: 0; padding: 0; }
.lb-nav-links a { color: var(--lb-ink); font-family: var(--lb-body); font-size: .67rem; font-weight: 700; letter-spacing: .105em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.lb-nav-links a:hover, .lb-nav-links a[aria-current="page"] { color: var(--lb-amber); }
.lb-nav-links a i { margin-left: 3px; font-size: .8em; }
.lb-nav-actions { display: flex; align-items: center; flex: none; }
.lb-nav-burger { display: none; position: relative; z-index: 1002; width: 46px; height: 46px; flex: none; padding: 10px; border: 1px solid var(--lb-line); background: transparent; color: var(--lb-ink); cursor: pointer; }
.lb-nav-burger span { display: block; position: absolute; left: 10px; right: 10px; height: 1px; background: currentColor; transition: transform .25s ease, top .25s ease; }
.lb-nav-burger span:nth-child(1) { top: 15px; }
.lb-nav-burger span:nth-child(2) { top: 22px; }
.lb-nav-burger span:nth-child(3) { top: 29px; }
.lb-nav-mobile { position: fixed; inset: 0 0 0 auto; z-index: 1001; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; width: min(100%, 500px); padding: 80px clamp(25px, 7vw, 70px); background: var(--lb-paper); box-shadow: -20px 0 60px rgba(20,25,22,.12); transform: translateX(110%); visibility: hidden; transition: transform .45s var(--lb-ease), visibility .45s; }
.lb-nav-mobile.active { transform: translateX(0); visibility: visible; }
.lb-nav-mobile-close { position: absolute; top: 22px; right: 22px; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--lb-line); background: transparent; color: var(--lb-ink); font-size: 18px; cursor: pointer; }
.lb-nav-mobile a { display: inline-block; padding: 7px 0; color: var(--lb-ink); font-family: var(--lb-head); font-size: clamp(2.1rem, 6vw, 3.25rem); font-weight: 700; line-height: 1.05; text-decoration: none; }
.lb-nav-mobile a:hover { color: var(--lb-amber); }
@media (max-width: 1120px) { .lb-nav-links, .lb-nav-actions { display: none; } .lb-nav-burger { display: block; } }
@media (max-width: 600px) { .lb-nav-inner { min-height: 69px; } .lb-logo-text { font-size: 1rem; } .lb-nav-logo img { max-height: 38px; max-width: 180px; } }

.lb-hero { position: relative; display: flex; align-items: flex-end; min-height: min(920px, 100svh); min-height: max(660px, min(920px, 100svh)); overflow: hidden; background: #313b35; }
.lb-hero-bg, .lb-hero-overlay { position: absolute; inset: 0; }
.lb-hero-bg { background-color: #313b35; background-position: center; background-size: cover; transform: scale(1.005); }
.lb-hero-overlay { background: linear-gradient(90deg, rgba(12,19,16,.74) 0%, rgba(12,19,16,.38) 52%, rgba(12,19,16,.08) 100%), linear-gradient(0deg, rgba(12,19,16,.30), transparent 40%); }
.lb-hero-content { width: min(100% - 64px, var(--lb-container)); max-width: var(--lb-container); padding-top: 180px; padding-bottom: clamp(80px, 10vw, 140px); }
.lb-hero-content h1 { max-width: 12ch; color: var(--lb-paper); font-size: clamp(4.1rem, 8.5vw, 8.5rem); font-weight: 700; line-height: .88; letter-spacing: -.035em; }
.lb-hero-content .lb-text-amber { color: #d8c4a1; }
.lb-hero-content p { max-width: 47ch; margin: 30px 0 38px; color: #f1eee6; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.7; }
.lb-hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.lb-hero .lb-btn-primary { background: var(--lb-paper); border-color: var(--lb-paper); color: var(--lb-ink); }
.lb-hero .lb-btn-primary:hover { background: #d9c7a9; border-color: #d9c7a9; color: var(--lb-ink); }
.lb-hero .lb-btn-ghost { color: white; border-color: rgba(255,255,255,.72); }
.lb-hero .lb-btn-ghost:hover { background: white; color: var(--lb-ink); }
@media (max-width: 600px) { .lb-hero { min-height: 720px; min-height: 94svh; } .lb-hero-content { width: min(100% - 32px, var(--lb-container)); padding-top: 145px; padding-bottom: 72px; } .lb-hero-content h1 { font-size: clamp(4rem, 17vw, 6rem); } .lb-hero-overlay { background: linear-gradient(0deg, rgba(12,19,16,.79), rgba(12,19,16,.28) 78%); } .lb-hero-buttons { gap: 8px; } }

.lb-stats { padding: 0; background: var(--lb-cream); }
.lb-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.lb-stat-card { min-height: 180px; padding: 36px 28px 32px; border-right: 1px solid var(--lb-line); text-align: left; }
.lb-stat-card:first-child { border-left: 1px solid var(--lb-line); }
.lb-stat-number { display: block; margin-bottom: 12px; color: var(--lb-ink); font-family: var(--lb-head); font-size: clamp(3rem, 4.5vw, 5.1rem); font-weight: 700; line-height: .95; font-variant-numeric: lining-nums tabular-nums; }
.lb-stat-label { display: block; max-width: 19ch; color: var(--lb-text-muted); font-size: .78rem; font-weight: 600; letter-spacing: .04em; line-height: 1.45; text-transform: uppercase; }
@media (max-width: 760px) { .lb-stats-grid { grid-template-columns: repeat(2,1fr); } .lb-stat-card { min-height: 155px; padding: 28px 20px; border-bottom: 1px solid var(--lb-line); } .lb-stat-card:nth-child(odd) { border-left: 1px solid var(--lb-line); } .lb-stat-number { font-size: 3.65rem; } }
@media (max-width: 380px) { .lb-stat-number { font-size: 3rem; } .lb-stat-card { padding: 26px 12px; } }

.lb-services-preview, .lb-services-full { background: var(--lb-paper); }
.lb-services-grid, .lb-services-full-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--lb-line); }
.lb-service-card, .lb-service-card-full { position: relative; min-height: 245px; display: flex; flex-direction: column; align-items: flex-start; padding: 34px 40px 40px 0; border-bottom: 1px solid var(--lb-line); background: transparent; }
.lb-service-card:nth-child(even), .lb-service-card-full:nth-child(even) { padding-left: 40px; border-left: 1px solid var(--lb-line); }
.lb-service-card h3, .lb-service-card-full h3 { margin-bottom: 16px; max-width: 16ch; }
.lb-service-card p, .lb-service-card-full p { max-width: 48ch; margin: 0; font-size: .95rem; }
.lb-svc-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 25px; color: var(--lb-amber); font-size: 1.12rem; }
.lb-svc-thumb { width: 100%; aspect-ratio: 16/10; margin-bottom: 32px; background-color: var(--lb-cream); background-position: center; background-size: cover; }
.lb-service-number { display: inline-block; margin-bottom: 20px; color: var(--lb-amber); font-size: .72rem; font-weight: 700; letter-spacing: .1em; }
.lb-service-footer { margin-top: auto; padding-top: 28px; }
.lb-services-intro { max-width: 65ch; margin: 0 0 56px; }
.lb-service-card:hover h3, .lb-service-card-full:hover h3 { color: var(--lb-amber-dark); }
@media (max-width: 700px) { .lb-services-grid, .lb-services-full-grid { grid-template-columns: 1fr; } .lb-service-card, .lb-service-card-full, .lb-service-card:nth-child(even), .lb-service-card-full:nth-child(even) { min-height: 0; padding: 28px 0 34px; border-left: 0; } }

.lb-projects-preview { background: var(--lb-cream); }
.lb-projects-full { background: var(--lb-bg); }
.lb-projects-grid, .lb-projects-full-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(36px, 5vw, 72px) clamp(20px, 3vw, 44px); }
.lb-project-card { min-width: 0; background: transparent; }
.lb-project-card:nth-child(even) { transform: translateY(60px); }
.lb-projects-full-grid .lb-project-card:nth-child(even) { transform: none; }
.lb-prj-image, .lb-project-card-media { position: relative; display: block; width: 100%; aspect-ratio: 1.28; overflow: hidden; background-color: #b6b5ae; background-position: center; background-size: cover; }
.lb-prj-placeholder { background: var(--lb-cream-dark); }
.lb-prj-image::after, .lb-project-card-media::after { content: ''; position: absolute; inset: 0; background: rgba(15,22,18,.03); transition: background .35s ease; pointer-events: none; }
.lb-project-card:hover .lb-prj-image::after, .lb-project-card:hover .lb-project-card-media::after { background: rgba(15,22,18,.15); }
.lb-prj-overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 20px; pointer-events: none; }
.lb-prj-content { padding: 23px 0 0; }
.lb-prj-cat, .lb-project-card-meta { display: inline-block; margin: 0 0 12px; color: var(--lb-amber-dark); font-size: .68rem; font-weight: 700; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.lb-prj-content h3 { max-width: 19ch; font-size: clamp(2rem, 3.5vw, 3.5rem); }
.lb-prj-content h3 a { color: inherit; text-decoration: none; }
.lb-prj-content h3 a:hover { color: var(--lb-amber-dark); }
.lb-prj-location { margin: 10px 0 0; font-size: .84rem; }
.lb-prj-location i { margin-right: 6px; color: var(--lb-amber); }
.lb-prj-gallery { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; margin-top: 18px; }
.lb-prj-gallery a { display: block; aspect-ratio: 1.3; overflow: hidden; background: var(--lb-cream); }
.lb-prj-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s var(--lb-ease); }
.lb-prj-gallery a:hover img { transform: scale(1.045); }
.lb-project-gallery-count { color: var(--lb-text-muted); font-size: .75rem; }
.lb-projects-preview .lb-section-action { margin-top: 132px; }
.lb-projects-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 46px; border-bottom: 1px solid var(--lb-line); }
.lb-project-count { color: var(--lb-text-muted); font-size: .75rem; font-weight: 600; letter-spacing: .08em; white-space: nowrap; }
.lb-filter-bar { display: flex; flex-wrap: wrap; gap: 28px; margin: 0; }
.lb-filter-btn { padding: 0 0 17px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--lb-text-muted); font-size: .73rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.lb-filter-btn:hover, .lb-filter-btn.active, .lb-filter-btn[aria-pressed="true"] { color: var(--lb-ink); border-bottom-color: var(--lb-amber); }
@media (max-width: 700px) { .lb-projects-grid, .lb-projects-full-grid { grid-template-columns: 1fr; gap: 44px; } .lb-project-card:nth-child(even) { transform: none; } .lb-projects-preview .lb-section-action { margin-top: 54px; } .lb-prj-content h3 { font-size: 2.65rem; } .lb-projects-toolbar { display: block; } .lb-project-count { display: block; margin-bottom: 18px; } .lb-filter-bar { gap: 20px; overflow-x: auto; flex-wrap: nowrap; } .lb-filter-btn { white-space: nowrap; } }

.lb-cta { overflow: hidden; background: var(--lb-charcoal); }
.lb-cta-inner { max-width: 930px; margin: 0 auto; text-align: center; }
.lb-cta h2 { max-width: 14ch; margin: 0 auto 22px; color: var(--lb-paper); font-size: clamp(3.6rem, 7vw, 6.8rem); }
.lb-cta h2 .lb-text-amber { color: #cfb996; }
.lb-cta p { max-width: 48ch; margin: 0 auto 34px; color: #d0d4cb; }
.lb-cta-buttons { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.lb-cta .lb-btn-primary { background: var(--lb-paper); border-color: var(--lb-paper); color: var(--lb-ink); }
.lb-cta .lb-btn-primary:hover { background: #d9c7a9; border-color: #d9c7a9; }
.lb-cta .lb-btn-ghost { color: var(--lb-paper); border-color: #a9b1a7; }
.lb-cta .lb-btn-ghost:hover { background: var(--lb-paper); color: var(--lb-ink); }

.lb-about { background: var(--lb-bg); }
.lb-about-intro { max-width: 1100px; margin: 0 auto clamp(86px, 10vw, 150px); }
.lb-about-intro h2 { max-width: 16ch; margin-bottom: 36px; }
.lb-about-intro p { max-width: 70ch; margin: 0 0 20px; }
.lb-about-lead { font-size: clamp(1.1rem, 1.7vw, 1.4rem); line-height: 1.62; }
.lb-about-pillars { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(20px, 3vw, 48px); margin-bottom: clamp(90px, 11vw, 170px); border-top: 1px solid var(--lb-line); }
.lb-pillar-card { padding: 34px 0 0; }
.lb-pillar-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 26px; color: var(--lb-amber); font-size: 1.15rem; }
.lb-pillar-card h3 { margin-bottom: 14px; }
.lb-pillar-card p { max-width: 33ch; margin: 0; }
.lb-about-why { margin-bottom: 130px; }
.lb-about-why > h2 { max-width: 13ch; margin-bottom: 48px; }
.lb-why-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--lb-line); border: 1px solid var(--lb-line); }
.lb-why-item { min-height: 235px; padding: 28px 22px; background: var(--lb-paper); }
.lb-why-item i { display: block; margin-bottom: 24px; color: var(--lb-amber); font-size: 1.25rem; }
.lb-why-item h4 { margin-bottom: 10px; font-size: 1.55rem; }
.lb-why-item p { margin: 0; font-size: .86rem; }
@media (max-width: 900px) { .lb-about-pillars { grid-template-columns: 1fr 1fr; } .lb-why-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .lb-about-pillars, .lb-why-grid { grid-template-columns: 1fr; } .lb-about-why { margin-bottom: 90px; } .lb-pillar-card { padding-top: 25px; } .lb-why-item { min-height: 0; } }

.lb-contact { background: var(--lb-bg); }
.lb-contact-grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(48px, 8vw, 130px); align-items: start; }
.lb-contact-info, .lb-contact-aside { display: flex; flex-direction: column; gap: 28px; }
.lb-contact-item, .lb-contact-direct { display: flex; align-items: flex-start; gap: 16px; padding-bottom: 28px; border-bottom: 1px solid var(--lb-line); }
.lb-contact-icon { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; color: var(--lb-amber); font-size: 1rem; }
.lb-contact-item h4 { margin: 0 0 5px; font-family: var(--lb-head); font-size: 1.65rem; }
.lb-contact-item p { margin: 0; }
.lb-contact-item a { color: var(--lb-ink); }
.lb-contact-item a:hover { color: var(--lb-amber-dark); }
.lb-contact-hours { padding: 28px 0; border-top: 1px solid var(--lb-line); }
.lb-contact-hours h4 { margin-bottom: 8px; color: var(--lb-ink); }
.lb-contact-hours p { margin: 0; }
.lb-contact-map { overflow: hidden; background: var(--lb-cream); }
.lb-contact-map iframe { display: block; width: 100%; min-height: 320px; border: 0; filter: grayscale(.6); }
.lb-contact-form-section { background: var(--lb-cream); }
.lb-contact-form-section .lb-container { max-width: 900px; }
.lb-contact-form-section .lb-sec-head { grid-template-columns: 1fr; gap: 12px; margin-bottom: 45px; }
.lb-contact-form-intro { max-width: 56ch; margin-bottom: 36px; }
@media (max-width: 800px) { .lb-contact-grid { grid-template-columns: 1fr; gap: 42px; } }

.lb-careers { background: var(--lb-cream); }
.lb-careers-form-wrap { max-width: 780px; margin: 0 auto; }
.lb-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.lb-form-group { margin-bottom: 24px; }
.lb-form-group label { display: block; margin-bottom: 10px; color: var(--lb-ink); font-size: .72rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.lb-required { color: var(--lb-amber-dark); }
.lb-form-group input, .lb-form-group textarea, .lb-form-group select { display: block; width: 100%; min-height: 56px; padding: 14px 15px; border: 1px solid #aaa99f; border-radius: 0; background: var(--lb-paper); color: var(--lb-ink); font-size: 1rem; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.lb-form-group textarea { min-height: 160px; resize: vertical; }
.lb-form-group input::placeholder, .lb-form-group textarea::placeholder { color: #687067; opacity: 1; }
.lb-form-group input:focus, .lb-form-group textarea:focus, .lb-form-group select:focus { border-color: var(--lb-amber-dark); box-shadow: 0 0 0 2px rgba(128,99,63,.18); }
.lb-form-group input[type="file"] { padding: 14px; background: var(--lb-paper); }
.lb-form-feedback, .lb-contact-feedback { display: none; margin-bottom: 22px; padding: 14px 18px; border: 1px solid var(--lb-line); background: var(--lb-paper); color: var(--lb-ink); font-size: .9rem; }
.lb-form-feedback.success, .lb-contact-feedback.success { display: block; border-color: #73957b; background: #e8f0e6; color: #173f25; }
.lb-form-feedback.error, .lb-contact-feedback.error { display: block; border-color: #bd7e74; background: #f7e8e3; color: #713027; }
.lb-btn-submit { min-width: 190px; }
@media (max-width: 600px) { .lb-form-grid { grid-template-columns: 1fr; gap: 0; } .lb-btn-submit { width: 100%; } }

.lb-blog { background: var(--lb-bg); }
.lb-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 52px 26px; }
.lb-blog-card { min-width: 0; background: transparent; }
.lb-blog-thumb { position: relative; display: block; aspect-ratio: 1.2; overflow: hidden; background-color: var(--lb-cream); background-position: center; background-size: cover; }
.lb-blog-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: var(--lb-amber-border); font-size: 2rem; }
.lb-blog-content { padding: 22px 0 0; }
.lb-blog-date { display: block; margin-bottom: 10px; color: var(--lb-amber-dark); font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.lb-blog-card h3 { margin-bottom: 12px; }
.lb-blog-card h3 a { color: var(--lb-ink); text-decoration: none; }
.lb-blog-card h3 a:hover { color: var(--lb-amber-dark); }
.lb-blog-more { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; color: var(--lb-ink); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.lb-blog-empty { padding: 70px 0; border-top: 1px solid var(--lb-line); }
@media (max-width: 900px) { .lb-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .lb-blog-grid { grid-template-columns: 1fr; } }

.lb-footer-main { padding: clamp(80px, 9vw, 140px) 0 0; background: var(--lb-charcoal); color: #d0d4cb; }
.lb-footer-grid { display: grid; grid-template-columns: minmax(250px,1.6fr) repeat(3,minmax(130px,.7fr)); gap: clamp(30px, 4vw, 70px); }
.lb-footer-logo { display: block; max-height: 48px; width: auto; margin-bottom: 22px; object-fit: contain; }
.lb-footer-logo.lb-brand-logo { width: min(210px, 100%); height: auto; max-height: 42px; }
.lb-footer-logo-text { margin-bottom: 22px; color: var(--lb-paper); font-size: 1.15rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.lb-footer-brand p { max-width: 38ch; margin: 0; color: #c6cdc4; font-size: .93rem; }
.lb-footer-main h4 { margin: 0 0 22px; color: var(--lb-paper); font-family: var(--lb-body); font-size: .7rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.lb-footer-links ul, .lb-footer-contact ul { list-style: none; margin: 0; padding: 0; }
.lb-footer-links li, .lb-footer-contact li { margin-bottom: 11px; }
.lb-footer-links a, .lb-footer-contact a { color: #d0d4cb; font-size: .86rem; line-height: 1.55; text-decoration: none; }
.lb-footer-links a:hover, .lb-footer-contact a:hover { color: #e1cba5; }
.lb-footer-contact li i { width: 18px; margin-right: 6px; color: #c8af86; }
.lb-social-icons { display: flex; gap: 8px; }
.lb-social-icons a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #6f766d; border-radius: 50%; color: #d0d4cb; text-decoration: none; }
.lb-social-icons a:hover { background: #e1cba5; color: var(--lb-ink); }
.lb-footer-topline { padding-bottom: 60px; margin-bottom: 60px; border-bottom: 1px solid #5b655b; }
.lb-footer-cta { color: var(--lb-paper); font-family: var(--lb-head); font-size: clamp(3rem, 6vw, 6rem); line-height: 1; text-decoration: none; }
.lb-footer-cta:hover { color: #d9c7a9; }
.lb-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 76px; padding: 23px 0; border-top: 1px solid #536057; color: #bcc6ba; font-size: .75rem; }
.lb-footer-bottom p { color: inherit; }
.lb-footer-bottom a { color: #d0d4cb; }
@media (max-width: 900px) { .lb-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .lb-footer-grid { grid-template-columns: 1fr 1fr; gap: 42px 24px; } .lb-footer-brand { grid-column: 1 / -1; } .lb-footer-bottom { flex-direction: column; align-items: flex-start; margin-top: 58px; } }
.lb-editorial-hero { min-height: 780px; min-height: min(920px, 100svh); padding: 160px 0 95px; background: #eeeae1; }
.lb-editorial-hero::before { content: ''; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(248,246,240,.92) 0%, rgba(248,246,240,.78) 35%, rgba(248,246,240,.08) 68%); pointer-events: none; }
.lb-editorial-hero .lb-hero-bg { opacity: 1; background-position: center right; }
.lb-editorial-hero .lb-hero-overlay { display: none; }
.lb-editorial-hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(30px, 5vw, 90px); min-height: 560px; }
.lb-hero-copy { position: relative; z-index: 2; max-width: 690px; }
.lb-editorial-hero .lb-badge, .lb-hero-meta { color: var(--lb-amber-dark); font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.lb-editorial-hero h1 { max-width: 11ch; color: var(--lb-ink); font-size: clamp(4.3rem, 8vw, 8.5rem); line-height: .88; }
.lb-editorial-hero h1 .lb-text-amber { color: var(--lb-amber-dark); }
.lb-editorial-hero p { max-width: 50ch; margin: 28px 0 34px; color: #3c433c; }
.lb-editorial-hero .lb-btn-primary { background: var(--lb-ink); color: white; }
.lb-editorial-hero .lb-btn-primary:hover { background: var(--lb-amber-dark); color: white; }
.lb-editorial-hero .lb-btn-ghost { border-color: var(--lb-ink); color: var(--lb-ink); }
.lb-editorial-hero .lb-btn-ghost:hover { background: var(--lb-ink); color: white; }
.lb-hero-visual { position: relative; min-width: 0; min-height: 520px; }
.lb-hero-visual img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.lb-hero-visual-caption { position: absolute; right: 0; bottom: 0; max-width: 280px; padding: 18px 22px; background: var(--lb-paper); color: var(--lb-ink); font-size: .72rem; font-weight: 600; letter-spacing: .06em; line-height: 1.5; text-transform: uppercase; }
.lb-hero-meta { display: block; margin-top: 40px; }
@media (max-width: 850px) { .lb-editorial-hero { min-height: 0; padding: 135px 0 70px; } .lb-editorial-hero::before { background: linear-gradient(0deg, rgba(248,246,240,.75), rgba(248,246,240,.90)); } .lb-editorial-hero-grid { grid-template-columns: 1fr; min-height: 0; } .lb-hero-copy { max-width: 620px; } .lb-hero-visual { min-height: 0; } .lb-hero-visual img { min-height: 0; max-height: 560px; aspect-ratio: 1.3; } }
@media (max-width: 600px) { .lb-editorial-hero { padding-top: 122px; padding-bottom: 56px; } .lb-editorial-hero h1 { font-size: clamp(3.9rem, 17vw, 6rem); } .lb-hero-visual img { aspect-ratio: .95; } .lb-hero-visual-caption { max-width: 65%; padding: 12px; } }

.lb-stat-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); gap: 48px; align-items: end; padding: 0 0 55px; }
.lb-stat-intro h2 { max-width: 15ch; }
.lb-stat-intro p { max-width: 45ch; margin: 0; }
.lb-services-editorial { background: var(--lb-paper); }
.lb-services-editorial .lb-services-intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 48px; align-items: end; max-width: none; }
.lb-services-editorial .lb-services-intro p { max-width: 43ch; margin: 0 0 8px; }
.lb-services-list { border-top: 1px solid var(--lb-line); }
.lb-service-row { display: grid; grid-template-columns: 80px minmax(0,1.1fr) minmax(0,.9fr) 56px; gap: 25px; align-items: center; min-height: 170px; padding: 24px 0; border-bottom: 1px solid var(--lb-line); color: var(--lb-ink); text-decoration: none; }
.lb-service-row-index { align-self: start; padding-top: 20px; color: var(--lb-amber-dark); font-size: .68rem; font-weight: 700; letter-spacing: .1em; }
.lb-service-row-content h3 { margin: 0; color: var(--lb-ink); font-size: clamp(2.25rem, 4.5vw, 4.25rem); }
.lb-service-row p { max-width: 42ch; margin: 0; color: var(--lb-text-muted); font-size: .92rem; }
.lb-service-row-link { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid var(--lb-line); border-radius: 50%; color: var(--lb-ink); transition: background .3s ease, color .3s ease, transform .35s var(--lb-ease); }
.lb-service-row:hover .lb-service-row-link { background: var(--lb-ink); color: white; transform: rotate(45deg); }
.lb-service-row:hover h3 { color: var(--lb-amber-dark); }
.lb-projects-portfolio { background: var(--lb-cream); }
.lb-projects-intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 48px; align-items: end; margin-bottom: 70px; }
.lb-projects-intro p { max-width: 43ch; margin: 0 0 8px; }
.lb-projects-portfolio .lb-project-card { display: block; color: var(--lb-ink); text-decoration: none; }
.lb-projects-portfolio .lb-project-card:nth-child(even) { transform: translateY(75px); }
.lb-projects-portfolio .lb-prj-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s var(--lb-ease); }
.lb-projects-portfolio .lb-project-card:hover .lb-prj-image img { transform: scale(1.035); }
.lb-projects-foot { margin-top: 140px; }
.lb-cta-editorial { background: var(--lb-charcoal); }
.lb-about-editorial { background: var(--lb-bg); }
.lb-about-hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(45px, 7vw, 110px); align-items: center; }
.lb-about-copy h1, .lb-about-copy h2 { max-width: 13ch; margin-bottom: 32px; }
.lb-about-copy p { max-width: 57ch; font-size: clamp(1.02rem, 1.45vw, 1.25rem); }
.lb-about-image { min-width: 0; overflow: hidden; background: var(--lb-cream); }
.lb-about-image img { display: block; width: 100%; aspect-ratio: .83; object-fit: cover; }
.lb-about-story { margin: clamp(95px, 10vw, 160px) 0; }
.lb-about-story-block { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 50px; padding: 42px 0; border-top: 1px solid var(--lb-line); }
.lb-about-story-block:last-child { border-bottom: 1px solid var(--lb-line); }
.lb-about-story-block h2, .lb-about-story-block h3 { max-width: 16ch; }
.lb-about-story-block p { max-width: 67ch; margin: 0; font-size: 1.05rem; }
.lb-about-license { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(32px, 5vw, 70px); background: var(--lb-charcoal); color: #e9eee6; }
.lb-about-license h2, .lb-about-license h3, .lb-about-license p { color: inherit; }
.lb-about-license h2 { max-width: 14ch; }
.lb-about-license p { max-width: 44ch; margin: 0; }
.lb-about-trajectory { margin-top: clamp(110px, 12vw, 190px); }
.lb-about-trajectory-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(35px, 7vw, 120px); align-items: start; }
.lb-about-trajectory h2 { max-width: 14ch; }
.lb-about-trajectory p { max-width: 65ch; }
@media (max-width: 850px) { .lb-stat-intro, .lb-services-editorial .lb-services-intro, .lb-projects-intro, .lb-about-hero, .lb-about-story-block, .lb-about-trajectory-grid { grid-template-columns: 1fr; gap: 20px; } .lb-service-row { grid-template-columns: 45px minmax(0,1fr) 50px; gap: 16px; } .lb-service-row p { grid-column: 2; } .lb-service-row-link { grid-column: 3; grid-row: 1 / span 2; } .lb-about-image img { aspect-ratio: 1.3; } }
@media (max-width: 600px) { .lb-service-row { grid-template-columns: 35px minmax(0,1fr) 42px; gap: 10px; min-height: 0; } .lb-service-row-content h3 { font-size: 2.55rem; } .lb-service-row-link { width: 40px; height: 40px; } .lb-projects-portfolio .lb-project-card:nth-child(even) { transform: none; } .lb-projects-foot { margin-top: 56px; } .lb-about-license { display: block; } .lb-about-license p { margin-top: 22px; } }

.lb-project-lightbox { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; padding: 60px; background: rgba(12,18,15,.94); }
.lb-project-lightbox.active, .lb-project-lightbox.is-open, .lb-project-lightbox[aria-hidden="false"] { display: flex; }
.lb-project-lightbox img { display: block; max-width: 100%; max-height: calc(100svh - 120px); object-fit: contain; }
.lb-project-lightbox button { min-width: 44px; min-height: 44px; border: 1px solid rgba(255,255,255,.5); background: transparent; color: white; cursor: pointer; }
@media (max-width: 600px) { .lb-project-lightbox { padding: 54px 12px; } }
.lb-editorial-hero::before { display: none; }

/* Signature hero — real project photography framed like an architectural monograph. */
.lb-editorial-hero {
  position: relative;
  display: flex;
  min-height: min(900px, 100svh);
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 24% 78%, rgba(218, 204, 181, .24), transparent 36%),
    #f4f1ea;
}
.lb-editorial-hero::before {
  display: block;
  content: '';
  position: absolute;
  z-index: -1;
  top: 12%;
  left: 34%;
  width: clamp(250px, 31vw, 480px);
  aspect-ratio: 1;
  background: url('../images/architectural-elevation.svg') center / contain no-repeat;
  opacity: .10;
  transform: translateY(12px);
  animation: lb-elevation-drift 24s ease-in-out infinite alternate;
  pointer-events: none;
}
.lb-editorial-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(38px, 6vw, 100px);
  width: 100%;
  max-width: none;
  min-height: min(900px, 100svh);
  margin: 0;
  padding: 142px 0 96px max(32px, calc((100vw - 1320px) / 2));
}
.lb-hero-copy { max-width: 660px; padding: 22px 0 0; animation: lb-copy-arrive .85s .12s both var(--lb-ease); }
.lb-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 30px;
  color: var(--lb-amber-dark);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.5;
  text-transform: uppercase;
}
.lb-hero-eyebrow > span { width: 28px; height: 1px; background: var(--lb-amber); }
.lb-editorial-hero h1 {
  max-width: 10ch;
  color: #242823;
  font-size: clamp(4.1rem, 7vw, 7.15rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .87;
}
.lb-editorial-hero h1 em { color: #80633f; font-style: normal; font-weight: 700; }
.lb-editorial-hero .lb-hero-copy > p {
  max-width: 47ch;
  margin: 30px 0 30px;
  color: #50564f;
  font-size: clamp(.97rem, 1.2vw, 1.08rem);
  line-height: 1.75;
}
.lb-editorial-hero .lb-hero-buttons { gap: 12px; }
.lb-editorial-hero .lb-btn-primary { min-height: 55px; background: #252b26; color: white; }
.lb-editorial-hero .lb-btn-primary:hover { background: #584222; }
.lb-editorial-hero .lb-btn-ghost { min-height: 55px; border-color: #bcb8ad; color: #252b26; }
.lb-editorial-hero .lb-btn-ghost:hover { border-color: #252b26; background: #252b26; color: white; }
.lb-hero-credential { display: flex; align-items: center; gap: 14px; margin-top: 43px; }
.lb-hero-credential-mark {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  border: 1px solid #bba783;
  border-radius: 50%;
  color: #584222;
  font-family: var(--lb-head);
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: -.06em;
}
.lb-hero-credential strong, .lb-hero-credential small { display: block; }
.lb-hero-credential strong { color: #343a34; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lb-hero-credential small { margin-top: 3px; color: #656b63; font-size: .72rem; letter-spacing: .04em; }
.lb-hero-visual {
  position: relative;
  align-self: stretch;
  min-width: 0;
  min-height: 570px;
  margin: 0;
  overflow: hidden;
  background: #d4d0c7;
  animation: lb-photo-open 1.2s .05s both var(--lb-ease);
}
.lb-hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 570px;
  max-height: 760px;
  object-fit: cover;
  object-position: center 53%;
  transform: scale(1.025);
  animation: lb-photo-settle 1.7s .15s both var(--lb-ease);
}
.lb-hero-visual::before {
  content: '';
  position: absolute;
  z-index: 2;
  inset: 20px;
  border: 1px solid rgba(255, 254, 250, .66);
  pointer-events: none;
}
.lb-hero-visual::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 48% 0 0;
  background: linear-gradient(180deg, transparent, rgba(23, 27, 23, .47));
  pointer-events: none;
}
.lb-hero-drawing {
  position: absolute;
  z-index: 2;
  top: 8%;
  right: 6%;
  width: min(47%, 340px);
  height: 72%;
  stroke: rgba(255, 254, 250, .48);
  stroke-width: .75;
  vector-effect: non-scaling-stroke;
  opacity: .62;
  pointer-events: none;
}
.lb-hero-photo-index {
  position: absolute;
  z-index: 3;
  top: 42px;
  left: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: white;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-shadow: 0 1px 12px rgba(0,0,0,.2);
}
.lb-hero-photo-index i { display: block; width: 31px; height: 1px; background: rgba(255,255,255,.72); }
.lb-hero-visual-caption {
  position: absolute;
  z-index: 3;
  right: 42px;
  bottom: 39px;
  left: 42px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 0;
  background: transparent;
  color: white;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}
.lb-hero-visual-caption span:last-child { font-size: .58rem; font-weight: 500; letter-spacing: .1em; text-align: right; }
.lb-hero-bottomline {
  position: absolute;
  z-index: 2;
  right: max(32px, calc((100vw - 1320px) / 2));
  bottom: 24px;
  left: max(32px, calc((100vw - 1320px) / 2));
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 13px;
  border-top: 1px solid rgba(87, 81, 69, .22);
  color: #666a61;
  font-size: .57rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lb-hero-bottomline span:last-child { display: flex; align-items: center; gap: 9px; }
.lb-hero-bottomline i { width: 3px; height: 3px; border-radius: 50%; background: #80633f; }

/* Authored elevation linework adds quiet depth to section transitions. */
.lb-stats, .lb-services-preview, .lb-projects-preview { position: relative; isolation: isolate; overflow: hidden; }
.lb-stats::after, .lb-services-preview::after, .lb-projects-preview::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: clamp(250px, 34vw, 470px);
  aspect-ratio: 1;
  background: url('../images/architectural-elevation.svg') center / contain no-repeat;
  opacity: .075;
  pointer-events: none;
  transition: opacity 1.2s ease, transform 1.8s var(--lb-ease);
}
.lb-stats::after { top: 3%; right: -5%; transform: translate(24px, 15px) rotate(-5deg); }
.lb-services-preview::after { top: 7%; right: -7%; transform: translate(20px, 22px) rotate(8deg); }
.lb-projects-preview::after { right: -9%; bottom: -22%; transform: translate(28px, 10px) rotate(-8deg); }
.lb-stats.lb-motion-seen::after, .lb-services-preview.lb-motion-seen::after, .lb-projects-preview.lb-motion-seen::after { opacity: .12; transform: translate(0, 0) rotate(0); }
.lb-stat-intro { position: relative; }
.lb-stat-intro::before {
  content: 'EST. EXPERIENCE';
  position: absolute;
  top: -31px;
  left: 0;
  color: #80633f;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .17em;
}
.lb-stat-card { position: relative; transition: background-color .45s ease, transform .55s var(--lb-ease); }
.lb-stat-card:hover { z-index: 1; background: rgba(255, 254, 250, .55); transform: translateY(-5px); }
.lb-service-row { position: relative; transition: padding-left .45s var(--lb-ease), background-color .35s ease; }
.lb-service-row:hover { padding-left: 12px; background: rgba(255, 255, 255, .34); }
.lb-projects-intro::after { content: ''; display: block; grid-column: 1 / -1; width: 100%; height: 1px; margin-top: 14px; background: linear-gradient(90deg, #80633f 0 12%, rgba(128,99,63,.22) 12% 100%); transform: scaleX(0); transform-origin: left; transition: transform 1.2s var(--lb-ease); }
.lb-projects-preview.lb-motion-seen .lb-projects-intro::after { transform: scaleX(1); }
.lb-projects-portfolio .lb-project-card { transform-origin: 50% 50%; transition: transform .65s var(--lb-ease); }
.lb-projects-portfolio .lb-project-card:hover { transform: translateY(-7px); }
@keyframes lb-copy-arrive { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes lb-photo-open { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes lb-photo-settle { from { transform: scale(1.07); } to { transform: scale(1.025); } }
@keyframes lb-elevation-drift { from { transform: translateY(12px) rotate(-2deg); } to { transform: translateY(-9px) rotate(1deg); } }
@media (max-width: 1000px) {
  .lb-editorial-hero { min-height: auto; }
  .lb-editorial-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 32px; min-height: 760px; padding-left: 32px; }
  .lb-editorial-hero h1 { font-size: clamp(3.8rem, 7.4vw, 5.9rem); }
  .lb-hero-visual, .lb-hero-visual img { min-height: 570px; }
  .lb-hero-bottomline { right: 32px; left: 32px; }
}
@media (max-width: 760px) {
  .lb-editorial-hero-grid { grid-template-columns: 1fr; gap: 35px; min-height: 0; padding: 132px 20px 81px; }
  .lb-hero-copy { max-width: 620px; padding: 0; }
  .lb-editorial-hero h1 { max-width: 11ch; font-size: clamp(4.1rem, 12.5vw, 6.2rem); }
  .lb-editorial-hero .lb-hero-copy > p { margin: 24px 0; }
  .lb-hero-credential { margin-top: 29px; }
  .lb-hero-visual { min-height: 0; aspect-ratio: 1.08; }
  .lb-hero-visual img { min-height: 0; max-height: none; aspect-ratio: 1.08; object-position: center 54%; }
  .lb-hero-drawing { height: 76%; }
  .lb-hero-bottomline { right: 20px; bottom: 16px; left: 20px; font-size: .48rem; }
  .lb-editorial-hero::before { top: 30%; left: 14%; }
  .lb-service-row-content { display: block; }
  .lb-service-row p { margin: 12px 0 0; }
}
@media (max-width: 520px) {
  .lb-editorial-hero-grid { gap: 29px; padding: 120px 16px 77px; }
  .lb-hero-eyebrow { max-width: 31ch; margin-bottom: 22px; font-size: .58rem; }
  .lb-editorial-hero h1 { font-size: clamp(3.55rem, 15.2vw, 5.1rem); }
  .lb-editorial-hero .lb-hero-buttons { flex-direction: column; align-items: stretch; }
  .lb-editorial-hero .lb-hero-buttons a { width: 100%; }
  .lb-hero-visual { aspect-ratio: .9; }
  .lb-hero-visual img { aspect-ratio: .9; }
  .lb-hero-visual::before { inset: 12px; }
  .lb-hero-photo-index { top: 27px; left: 26px; }
  .lb-hero-visual-caption { right: 26px; bottom: 25px; left: 26px; align-items: start; flex-direction: column; gap: 5px; }
  .lb-hero-visual-caption span:last-child { text-align: left; }
  .lb-hero-bottomline { right: 16px; left: 16px; }
  .lb-hero-bottomline span:first-child { max-width: 17ch; }
  .lb-hero-bottomline span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lb-editorial-hero::before, .lb-hero-copy, .lb-hero-visual, .lb-hero-visual img { animation: none !important; }
  .lb-hero-visual { clip-path: none !important; }
  .lb-stat-card:hover, .lb-service-row:hover, .lb-projects-portfolio .lb-project-card:hover { transform: none; }
}
.lb-hero-visual { margin: 0; }
.lb-stats { padding: clamp(90px, 10vw, 150px) 0 0; }
.lb-service-row { grid-template-columns: minmax(0,1fr) 56px; gap: 25px; }
.lb-service-row-content { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); align-items: center; gap: 35px; }
.lb-service-row p { max-width: 37ch; }
.lb-service-row-link { grid-column: 2; }
.lb-link-arrow { display: inline-flex; align-items: center; gap: 15px; padding-bottom: 9px; border-bottom: 1px solid var(--lb-ink); color: var(--lb-ink); font-size: .75rem; font-weight: 700; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.lb-link-arrow:hover { color: var(--lb-amber-dark); border-color: var(--lb-amber-dark); }
.lb-section > .lb-container > .lb-page-intro { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(35px, 6vw, 100px); align-items: end; max-width: none; padding: 62px 0 clamp(65px, 8vw, 120px); margin: 0; background: transparent; }
.lb-section > .lb-container > .lb-page-intro h1 { max-width: 13ch; }
.lb-section > .lb-container > .lb-page-intro em { color: var(--lb-amber); font-weight: 700; font-style: normal; }
.lb-section > .lb-container > .lb-page-intro .lb-editorial-intro { margin: 0 0 8px; }
.lb-service-card-full { padding: 0 30px 62px 0; min-height: 0; }
.lb-service-card-full:nth-child(even) { padding: 0 0 62px 30px; }
.lb-service-card-full .lb-svc-thumb { width: 100%; margin: 0 0 28px; aspect-ratio: 1.35; overflow: hidden; }
.lb-service-card-full .lb-svc-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--lb-ease); }
.lb-service-card-full:hover .lb-svc-thumb img { transform: scale(1.035); }
.lb-service-card-full h2 { max-width: 17ch; margin-bottom: 12px; font-size: clamp(2.4rem, 4vw, 4rem); }
.lb-service-card-full p { max-width: 54ch; }
.lb-services-full .lb-service-footer { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 110px); margin-top: clamp(70px, 9vw, 140px); padding-top: 40px; border-top: 1px solid var(--lb-line); }
.lb-service-footer-label { color: var(--lb-amber-dark); font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.lb-service-footer h2 { max-width: 16ch; margin-bottom: 15px; font-size: clamp(2.2rem, 3.3vw, 3.5rem); }
.lb-service-footer p { max-width: 42ch; }
.lb-projects-full-grid .lb-project-card-featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 40px; align-items: start; padding-bottom: 55px; border-bottom: 1px solid var(--lb-line); }
.lb-projects-full-grid .lb-project-card-featured .lb-project-card-media { aspect-ratio: 1.38; }
.lb-projects-full-grid .lb-project-card-featured .lb-prj-content { padding-top: 0; }
.lb-projects-full-grid .lb-prj-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--lb-ease); }
.lb-projects-full-grid .lb-prj-image:hover img { transform: scale(1.035); }
.lb-projects-full-grid .lb-prj-content h2 { max-width: 18ch; margin: 0 0 12px; font-size: clamp(2.4rem, 3.5vw, 4rem); }
.lb-project-card-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 24px; }
.lb-project-card-meta .lb-prj-cat { margin: 0; font-size: inherit; }
.lb-project-card-meta .lb-prj-location { margin: 0; color: var(--lb-text-muted); font-size: .68rem; }
.lb-project-summary { margin: 0 0 10px; font-size: .93rem; }
.lb-project-visual-note { position: absolute; left: 14px; bottom: 14px; z-index: 2; padding: 7px 10px; background: rgba(248,247,243,.95); color: var(--lb-ink); font-size: .64rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.lb-project-gallery-count { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding: 0 0 7px; border: 0; border-bottom: 1px solid var(--lb-ink); background: transparent; color: var(--lb-ink); font-size: .72rem; font-weight: 700; letter-spacing: .06em; cursor: pointer; text-transform: uppercase; }
.lb-project-gallery-count span { color: var(--lb-text-muted); font-weight: 500; text-transform: none; }
.lb-project-gallery-count:hover { color: var(--lb-amber-dark); border-color: var(--lb-amber-dark); }
.lb-projects-note { margin: 60px 0 0; color: var(--lb-text-muted); font-size: .8rem; }
.lb-projects-empty { grid-column: 1 / -1; padding: 50px 0; border-top: 1px solid var(--lb-line); }
.lb-projects-empty h2 { max-width: 15ch; }
.lb-projects-empty p { max-width: 48ch; }
.lb-contact-aside { gap: 55px; }
.lb-contact-aside h2 { max-width: 14ch; margin: 0 0 15px; font-size: clamp(2.9rem, 4.5vw, 4.6rem); }
.lb-contact-aside-content > p { max-width: 45ch; }
.lb-contact-direct { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 15px; align-items: baseline; padding: 18px 0; }
.lb-contact-direct span { color: var(--lb-text-muted); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.lb-contact-direct a { color: var(--lb-ink); overflow-wrap: anywhere; }
.lb-contact-direct a:hover { color: var(--lb-amber-dark); }
.lb-contact-place { color: var(--lb-text-muted); font-size: .84rem; }
.lb-contact-aside-image { width: 100%; aspect-ratio: 1.25; overflow: hidden; }
.lb-contact-aside-image img { width: 100%; height: 100%; object-fit: cover; }
.lb-contact-grid > .lb-contact-form-section { padding: clamp(28px, 4vw, 62px); background: var(--lb-cream); }
.lb-contact-form-intro h2 { margin-bottom: 8px; font-size: clamp(2.4rem, 3.3vw, 3.3rem); }
.lb-contact-form-intro p { margin: 0 0 34px; }
.lb-form-optional { margin-left: 6px; color: var(--lb-text-muted); font-size: .66rem; font-weight: 400; letter-spacing: normal; text-transform: none; }
.lb-contact-form-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.lb-contact-form-bottom p { margin: 0; font-size: .74rem; }
.lb-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lb-contact-feedback.lb-contact-feedback-success, .lb-contact-feedback.lb-contact-feedback-error { display: block; }
.lb-contact-feedback.lb-contact-feedback-success { border-color: #73957b; background: #e8f0e6; color: #173f25; }
.lb-contact-feedback.lb-contact-feedback-error { border-color: #bd7e74; background: #f7e8e3; color: #713027; }
.lb-project-lightbox[open] { display: flex; flex-direction: column; align-items: stretch; justify-content: stretch; width: 100vw; max-width: 100vw; height: 100svh; max-height: 100svh; margin: 0; padding: 25px; border: 0; }
.lb-project-lightbox::backdrop { background: rgba(12,18,15,.94); }
.lb-lightbox-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; width: 100%; max-width: 1400px; margin: 0 auto 20px; color: white; }
.lb-lightbox-toolbar strong { display: block; font-size: .9rem; }
.lb-lightbox-toolbar span { display: block; color: #cbd3c8; font-size: .75rem; }
.lb-lightbox-stage { display: grid; grid-template-columns: 50px minmax(0,1fr) 50px; gap: 20px; align-items: center; width: 100%; max-width: 1400px; flex: 1; min-height: 0; margin: 0 auto; }
.lb-lightbox-stage figure { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 0; margin: 0; }
.lb-lightbox-stage img { max-height: calc(100svh - 175px); }
.lb-lightbox-stage figcaption { margin-top: 12px; color: #d5dbd2; font-size: .75rem; text-align: center; }
@media (max-width: 850px) { .lb-service-row-content { grid-template-columns: 1fr; gap: 7px; } .lb-section > .lb-container > .lb-page-intro { grid-template-columns: 1fr; padding-top: 40px; } .lb-services-full .lb-service-footer { grid-template-columns: 1fr; } .lb-projects-full-grid .lb-project-card-featured { grid-template-columns: 1fr; gap: 0; } .lb-projects-full-grid .lb-project-card-featured .lb-prj-content { padding-top: 23px; } }
@media (max-width: 700px) { .lb-service-card-full, .lb-service-card-full:nth-child(even) { padding: 0 0 45px; } .lb-contact-grid > .lb-contact-form-section { padding: 28px 20px; } .lb-contact-form-bottom { align-items: stretch; flex-direction: column; } .lb-lightbox-stage { grid-template-columns: 38px minmax(0,1fr) 38px; gap: 4px; } .lb-project-lightbox[open] { padding: 12px; } .lb-lightbox-stage button { min-width: 36px; width: 36px; } .lb-lightbox-stage img { max-height: calc(100svh - 160px); } }
.lb-about-image { margin: 0; }
.lb-about-image img { display: block; }
.lb-about-image figcaption { padding: 11px 0 0; color: var(--lb-text-muted); font-size: .69rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.lb-about-license .lb-link-arrow { color: var(--lb-paper); border-color: #cbd2c8; }
.lb-about-license .lb-link-arrow:hover { color: #dcc5a1; border-color: #dcc5a1; }
.lb-about-trajectory { margin: 0; background: var(--lb-cream); }
.lb-prj-link { display: inline-flex; align-items: center; margin-top: 20px; color: var(--lb-ink); font-size: .8rem; }
.lb-projects-portfolio .lb-project-card:hover .lb-prj-link { transform: translateX(5px); transition: transform .3s var(--lb-ease); }
.lb-projects-portfolio .lb-prj-image img { object-position: center; }
.lb-nav-contact { display: inline-flex; align-items: center; gap: 7px; color: var(--lb-amber-dark); font-size: .76rem; font-weight: 700; letter-spacing: .03em; text-decoration: none; white-space: nowrap; }
.lb-nav-contact:hover { color: var(--lb-ink); }
.lb-nav-mobile-header { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 32px; }
.lb-nav-mobile-title { color: var(--lb-text-muted); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.lb-nav-mobile-header .lb-nav-mobile-close { position: static; }
.lb-nav-mobile-links { display: flex; flex-direction: column; width: 100%; }
.lb-nav-mobile-links a { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 12px 0; border-bottom: 1px solid var(--lb-line); font-family: var(--lb-head); font-size: clamp(2.35rem, 8vw, 3.8rem); font-weight: 700; }
.lb-nav-mobile-links a i { font-size: .3em; }
.lb-nav-mobile-links .lb-nav-mobile-cta { margin-top: 20px; border-bottom: 0; color: var(--lb-amber-dark); font-size: 1.7rem; }
.lb-nav-mobile-license { margin: auto 0 0; color: var(--lb-text-muted); font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
body.lb-menu-open { overflow: hidden; }
.lb-prj-media-note { position: absolute; z-index: 2; right: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 8px 10px; background: var(--lb-paper); color: var(--lb-ink); font-size: .62rem; font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.lb-footer-main h2, .lb-footer-main h3 { color: var(--lb-paper); }
.lb-footer-topline { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); align-items: end; gap: 60px; }
.lb-footer-topline h2 { max-width: 15ch; font-size: clamp(3.3rem, 6vw, 6.5rem); }
.lb-footer-topline h2 em { color: #d8c4a1; font-weight: 700; font-style: normal; }
.lb-footer-prelude { margin: 0 0 16px; color: #cbd3c8 !important; font-size: .71rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.lb-footer-topline .lb-footer-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 15px; width: max-content; max-width: 100%; padding: 0 0 10px; border-bottom: 1px solid #b6c1b3; color: var(--lb-paper); font-family: var(--lb-body); font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.lb-footer-topline .lb-footer-cta:hover { color: #d8c4a1; border-color: #d8c4a1; }
.lb-footer-grid { grid-template-columns: minmax(250px,1.8fr) minmax(130px,.7fr) minmax(190px,1fr); }
.lb-footer-grid h3 { margin: 0 0 22px; font-family: var(--lb-body); font-size: .7rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.lb-footer-logo-text { display: inline-block; text-decoration: none; }
.lb-footer-license { margin-top: 25px !important; color: #c6cdc4; font-size: .75rem !important; line-height: 1.5; }
.lb-footer-license strong { color: var(--lb-paper); font-weight: 600; }
.lb-footer-contact li { color: #d0d4cb; font-size: .86rem; }
.lb-careers-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(45px, 7vw, 110px); }
.lb-careers-intro h2 { max-width: 13ch; margin-bottom: 24px; }
.lb-careers-intro em { color: var(--lb-amber); font-weight: 700; font-style: normal; }
.lb-careers-intro > p { max-width: 42ch; }
.lb-careers-divider { display: block; width: 50px; height: 1px; margin: 42px 0 20px; background: var(--lb-amber); }
.lb-careers-note { font-size: .85rem; }
.lb-careers-form-wrap { width: 100%; }
.lb-careers-form-heading { margin-bottom: 35px; }
.lb-careers-form-heading h3 { margin-bottom: 6px; }
.lb-careers-form-heading p { margin: 0; font-size: .78rem; }
.lb-careers-form-wrap .lb-btn-submit { width: 100%; }
.lb-blog-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lb-blog-card h2 { margin-bottom: 12px; font-size: clamp(2rem, 3vw, 2.8rem); }
.lb-blog-card h2 a { color: var(--lb-ink); text-decoration: none; }
.lb-blog-card h2 a:hover { color: var(--lb-amber-dark); }
.lb-blog-empty { max-width: 750px; }
.lb-blog-empty-line { width: 55px; height: 1px; margin-bottom: 38px; background: var(--lb-amber); }
.lb-blog-empty h2 { margin-bottom: 18px; }
.lb-blog-empty p { max-width: 50ch; margin-bottom: 28px; }
@media (max-width: 900px) { .lb-footer-topline, .lb-careers-layout { grid-template-columns: 1fr; gap: 35px; } }
@media (max-width: 600px) { .lb-footer-grid { grid-template-columns: 1fr 1fr; } .lb-footer-brand { grid-column: 1 / -1; } .lb-footer-topline h2 { font-size: 3.45rem; } .lb-nav-mobile { padding: 20px; } }
.lb-cta-editorial { background: #d5c7ae; }
.lb-cta-editorial h2, .lb-cta-editorial p { color: var(--lb-ink); }
.lb-cta-editorial p { color: #3c433c; }
.lb-cta-editorial .lb-btn-primary { background: var(--lb-ink); border-color: var(--lb-ink); color: var(--lb-paper); }
.lb-cta-editorial .lb-btn-primary:hover { background: var(--lb-amber-dark); border-color: var(--lb-amber-dark); color: white; }
.lb-cta-editorial .lb-btn-ghost { border-color: var(--lb-ink); color: var(--lb-ink); }
.lb-cta-editorial .lb-btn-ghost:hover { background: var(--lb-ink); color: white; }

/* Journal article */
.lb-article { background: var(--lb-bg); }
.lb-article-head { padding: clamp(170px, 17vw, 255px) 0 clamp(74px, 8vw, 125px); background: var(--lb-cream); }
.lb-article-head .lb-container { max-width: 1090px; }
.lb-article-back { display: inline-flex; align-items: center; gap: 11px; margin-bottom: clamp(55px, 7vw, 105px); color: var(--lb-ink); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.lb-article-back span { font-size: 1.25rem; font-weight: 400; line-height: 1; }
.lb-article-back:hover { color: var(--lb-amber-dark); }
.lb-article-eyebrow { display: flex; gap: 13px; align-items: center; margin: 0 0 28px; color: var(--lb-amber-dark); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.lb-article-head h1 { max-width: 15ch; font-size: clamp(4.1rem, 8vw, 8rem); }
.lb-article-deck { max-width: 51ch; margin: 26px 0 0; font-size: clamp(1.1rem, 1.6vw, 1.34rem); }
.lb-article-cover { margin-top: clamp(40px, 6vw, 90px); margin-bottom: 0; }
.lb-article-cover img { display: block; width: 100%; max-height: 760px; aspect-ratio: 1.7; object-fit: cover; }
.lb-article-cover figcaption { padding-top: 12px; color: var(--lb-text-muted); font-size: .76rem; }
.lb-article-layout { display: grid; grid-template-columns: minmax(145px, .25fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); padding-top: clamp(80px, 10vw, 150px); padding-bottom: clamp(85px, 10vw, 145px); }
.lb-article-rail { display: flex; flex-direction: column; gap: 15px; padding-top: 9px; color: var(--lb-amber-dark); font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.lb-article-body { max-width: 76ch; color: var(--lb-ink); font-size: clamp(1.02rem, 1.3vw, 1.16rem); line-height: 1.85; overflow-wrap: anywhere; }
.lb-article-body > *:first-child { margin-top: 0; }
.lb-article-body p, .lb-article-body ul, .lb-article-body ol { margin: 0 0 1.55em; }
.lb-article-body h2, .lb-article-body h3, .lb-article-body h4 { margin: 1.55em 0 .42em; }
.lb-article-body h2 { font-size: clamp(2.5rem, 4.2vw, 4rem); }
.lb-article-body h3 { font-size: clamp(2rem, 3vw, 2.75rem); }
.lb-article-body li { margin: .55em 0; padding-left: .25em; }
.lb-article-body blockquote { margin: 2.5em 0; padding: 8px 0 8px clamp(24px, 3vw, 45px); border-left: 2px solid var(--lb-amber); color: var(--lb-ink); font-family: var(--lb-head); font-size: clamp(2.1rem, 3.2vw, 3.2rem); line-height: 1.14; }
.lb-article-body blockquote p { color: inherit; font: inherit; line-height: inherit; margin: 0; }
.lb-article-body img { display: block; height: auto; }
.lb-article-body figcaption { padding-top: 8px; color: var(--lb-text-muted); font-size: .76rem; }
.lb-article-end { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 36px; padding-bottom: clamp(85px, 9vw, 145px); border-top: 1px solid var(--lb-line); }
.lb-article-end p { margin: 0; color: var(--lb-ink); font-family: var(--lb-head); font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
@media (max-width: 700px) {
  .lb-article-head { padding-top: 142px; }
  .lb-article-head h1 { font-size: clamp(3.35rem, 13vw, 5.5rem); }
  .lb-article-layout { display: block; }
  .lb-article-rail { display: none; }
  .lb-article-cover img { aspect-ratio: 1.15; }
  .lb-article-end { display: block; }
  .lb-article-end p { margin-bottom: 25px; }
}

/* International portfolio, populated only when confirmed work is added. */
.lb-about-international-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 58px); padding-top: clamp(55px, 7vw, 95px); }
.lb-about-international-item { margin: 0; }
.lb-about-international-item a { display: block; aspect-ratio: 1.35; overflow: hidden; background: var(--lb-cream-dark); }
.lb-about-international-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s var(--lb-ease); }
.lb-about-international-item a:hover img { transform: scale(1.035); }
.lb-about-international-item figcaption { display: flex; justify-content: space-between; gap: 18px; padding-top: 18px; border-top: 1px solid var(--lb-line); color: var(--lb-text-muted); font-size: .82rem; }
.lb-about-international-item figcaption strong { color: var(--lb-ink); font-family: var(--lb-head); font-size: 1.5rem; font-weight: 600; line-height: 1.1; }
@media (max-width: 700px) { .lb-about-international-grid { grid-template-columns: 1fr; } .lb-about-international-item figcaption { display: block; } .lb-about-international-item figcaption span { display: block; margin-top: 7px; } }

/* Final mobile contact and media disclosure details */
.lb-prj-gallery a { position: relative; }
.lb-gallery-render-note { position: absolute; z-index: 2; right: 5px; bottom: 5px; max-width: calc(100% - 10px); padding: 5px 7px; background: rgba(255,254,250,.96); color: var(--lb-ink); font-size: .68rem; font-weight: 700; letter-spacing: .045em; line-height: 1.1; text-transform: uppercase; }
@media (max-width: 800px) {
  .lb-contact-grid > .lb-contact-form-section { order: -1; }
}

/* Keep mobile service descriptions on a comfortable, full-width measure. */
@media (max-width: 760px) {
  .lb-service-row-content { display: block; }
  .lb-service-row p { max-width: 42ch; margin: 12px 0 0; }
}
