:root{--black:#060708;--deep:#0b1320;--white:#fff;--muted:#aeb5c0;--orange:#f15a24;--line:rgba(255,255,255,.16);--darktext:#121721}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;background:var(--black);color:var(--white);overflow-x:hidden}img,video{max-width:100%;display:block}.cursor-glow{position:fixed;inset:auto auto 0 0;width:420px;height:420px;background:radial-gradient(circle,rgba(241,90,36,.20),transparent 62%);pointer-events:none;z-index:2;transform:translate(-50%,-50%);filter:blur(8px)}.header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:24px 40px;background:linear-gradient(to bottom,rgba(0,0,0,.62),transparent);transition:.35s}.header.scrolled{background:rgba(6,7,8,.86);backdrop-filter:blur(18px);padding:14px 40px;border-bottom:1px solid rgba(255,255,255,.08)}.brand img{width:136px}.nav{display:flex;gap:28px;align-items:center}.nav a{color:#fff;text-decoration:none;font-size:12px;letter-spacing:.16em;opacity:.82}.contact-link{border:1px solid rgba(255,255,255,.4);padding:12px 18px;border-radius:999px}.menu{display:none;background:none;border:0}.hero{min-height:100vh;position:relative;display:grid;align-items:end;padding:0 7vw 11vh;overflow:hidden}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.18) 55%,rgba(0,0,0,.58)),linear-gradient(0deg,rgba(0,0,0,.66),transparent 55%);z-index:1}.hero-copy{position:relative;z-index:3;max-width:980px}.eyebrow{font-size:12px;letter-spacing:.32em;color:var(--orange);font-weight:700;margin:0 0 22px}.eyebrow.dark{color:var(--orange)}h1{font-size:clamp(46px,8vw,114px);line-height:1.05;margin:0 0 30px;letter-spacing:-.04em;font-weight:800}h2{font-size:clamp(34px,5vw,72px);line-height:1.13;margin:0 0 26px;letter-spacing:-.04em}.lead{max-width:760px;font-size:clamp(16px,2vw,22px);line-height:2;color:#e9edf2}.scroll{position:absolute;right:40px;bottom:40px;z-index:3;writing-mode:vertical-rl;font-size:11px;letter-spacing:.26em;color:#ddd}.section-dark{background:var(--black);color:#fff}.section-light{background:#f4f1eb;color:var(--darktext)}.statement{padding:18vh 7vw;position:relative;overflow:hidden}.big-text{font-family:Arial,sans-serif;font-size:clamp(48px,10vw,150px);line-height:.92;font-weight:900;letter-spacing:-.07em;color:rgba(255,255,255,.92)}.statement-body{max-width:620px;margin:42px 0 0 auto;font-size:19px;line-height:2;color:#c7ccd4}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;align-items:center;padding:14vh 7vw}.split-text p{font-size:16px;line-height:2;color:#47505b}.split-image img{height:640px;width:100%;object-fit:cover;border-radius:4px}.service,.strength,.project,.company,.contact,.message,.gallery{padding:14vh 7vw}.section-head{max-width:900px;margin-bottom:64px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:320px;padding:36px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));transition:.35s}.service-card:hover{background:rgba(241,90,36,.12);transform:translateY(-6px)}.service-card span{color:var(--orange);font-size:12px;letter-spacing:.22em}.service-card h3{font-size:24px;margin:50px 0 20px}.service-card p{line-height:1.9;color:#c6ccd5}.strength-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:center}.strength-photo img{height:560px;width:100%;object-fit:cover}.strength-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(0,0,0,.18)}.strength-list li{display:flex;gap:24px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(0,0,0,.18);font-size:24px}.strength-list strong{color:var(--orange);font-size:13px;letter-spacing:.18em}.marquee{font-family:Arial,sans-serif;white-space:nowrap;overflow:hidden;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.25);font-size:84px;font-weight:900;letter-spacing:-.05em;margin-bottom:60px}.marquee span{display:inline-block;animation:mar 22s linear infinite}@keyframes mar{to{transform:translateX(-100%)}}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery-grid img{height:420px;width:100%;object-fit:cover;filter:saturate(.95) contrast(1.05)}.project-visual img{width:100%;height:620px;object-fit:cover}.project-copy{max-width:780px;margin:42px 0 0 auto;font-size:19px;line-height:2;color:#424b57}.message{display:grid;grid-template-columns:.8fr 1.1fr;gap:7vw;align-items:center}.message-photo img{height:620px;width:100%;object-fit:cover;object-position:center top}.message-text p{line-height:2;color:#c7ccd4;font-size:16px}.signature{color:#fff!important;margin-top:32px}.company-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw;align-items:center}.company-layout img{height:650px;width:100%;object-fit:cover;align-self:center}.company-table{display:grid;grid-template-columns:170px 1fr;border-top:1px solid rgba(0,0,0,.18);margin:0}.company-table dt,.company-table dd{padding:22px 0;border-bottom:1px solid rgba(0,0,0,.18);line-height:1.8}.company-table dt{font-weight:700}.company-table dd{margin:0;color:#424b57}.contact{position:relative;min-height:780px;display:flex;align-items:center}.contact-bg{position:absolute;inset:0;opacity:.28}.contact-bg img{width:100%;height:100%;object-fit:cover}.contact-panel{position:relative;z-index:2;max-width:760px;background:rgba(6,7,8,.78);backdrop-filter:blur(16px);border:1px solid var(--line);padding:64px}.contact-panel p{line-height:2;color:#c8ced6}.button{display:inline-block;margin-top:26px;border:1px solid rgba(255,255,255,.48);border-radius:999px;color:#fff;text-decoration:none;padding:18px 28px;letter-spacing:.04em}.tel{font-size:24px;color:#fff!important}.footer{display:flex;justify-content:space-between;align-items:center;padding:36px 40px;background:#030405;border-top:1px solid rgba(255,255,255,.08);color:#8f96a1;font-size:12px}.footer img{width:120px}.reveal{opacity:0;transform:translateY(42px);transition:opacity 1s ease,transform 1s cubic-bezier(.22,1,.36,1)}.reveal.show{opacity:1;transform:none}@media(max-width:900px){.header{padding:18px 20px}.nav{display:none}.brand img{width:112px}.hero{padding:0 24px 10vh}.split,.strength-wrap,.message,.company-layout{grid-template-columns:1fr}.service-grid,.gallery-grid{grid-template-columns:1fr}.service-card{min-height:auto}.split-image img,.strength-photo img,.project-visual img,.message-photo img,.company-layout img{height:auto}.company-table{grid-template-columns:1fr}.company-table dt{padding-bottom:0}.contact-panel{padding:36px 24px}.footer{display:block}.footer img{margin-bottom:18px}.cursor-glow{display:none}}
.project-button{display:inline-flex;align-items:center;gap:18px;margin-top:30px;border:1px solid rgba(0,0,0,.24);border-radius:999px;color:var(--darktext);text-decoration:none;padding:18px 28px;font-size:13px;font-weight:800;letter-spacing:.16em;transition:.35s}.project-button span{font-size:12px;font-weight:500;letter-spacing:.08em;color:#59616c}.project-button:hover{background:var(--darktext);color:#fff;transform:translateY(-3px)}.project-button:hover span{color:#d9dde3}.project-list-page{background:#060708}.project-list-hero{position:relative;min-height:100vh;display:grid;place-items:center;padding:120px 7vw 80px;overflow:hidden}.project-list-bg,.project-list-shade{position:absolute;inset:0}.project-list-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}.project-list-shade{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.38)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%);z-index:1}.project-list-content{position:relative;z-index:3;text-align:center;max-width:960px}.project-list-content h1{font-size:clamp(42px,7vw,104px);margin-bottom:30px}.project-list-content p{font-size:clamp(16px,2vw,22px);line-height:2;color:#e9edf2}.coming-soon{margin:42px auto 0;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:18px 36px;width:max-content;max-width:100%;letter-spacing:.28em;font-size:13px;color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}.area-words{position:absolute;left:0;right:0;bottom:6vh;z-index:2;display:flex;gap:34px;justify-content:center;flex-wrap:wrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);font-size:clamp(28px,5vw,76px);font-family:Arial,sans-serif;font-weight:900;letter-spacing:-.05em;opacity:.7}@media(max-width:900px){.project-button{display:flex;justify-content:center;flex-direction:column;gap:4px;border-radius:22px;text-align:center}.project-list-hero{padding:110px 24px 70px}.area-words{gap:18px;bottom:4vh}}

.section-lead,.section-lead-dark{max-width:780px;font-size:18px;line-height:2;margin-top:-28px}.section-lead{color:#c7ccd4}.section-lead-dark{color:#47505b}.strength-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:54px}.strength-detail-card{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 18px 60px rgba(0,0,0,.08);overflow:hidden}.strength-detail-card img{height:240px;width:100%;object-fit:cover}.strength-detail-card div{padding:28px}.strength-detail-card span{color:var(--orange);font-size:12px;letter-spacing:.22em;font-weight:800}.strength-detail-card h3{font-size:26px;margin:16px 0}.strength-detail-card p{line-height:1.9;color:#4a5360}.accordion,.faq-list{border-top:1px solid rgba(0,0,0,.16)}.accordion-item,.faq-item{width:100%;display:grid;grid-template-columns:1fr auto;gap:22px;text-align:left;background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.16);padding:28px 0;color:var(--darktext);cursor:pointer;font:inherit}.accordion-item span,.faq-item span{font-size:22px;font-weight:800}.accordion-item b,.faq-item b{font-size:28px;color:var(--orange);font-weight:300}.accordion-item p,.faq-item p{grid-column:1/-1;display:none;margin:0;max-width:860px;line-height:2;color:#4b5460}.accordion-item.open p,.faq-item.open p{display:block}.accordion-item.open b,.faq-item.open b{transform:rotate(45deg)}.landowner-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:start}.landowner-photo img{height:720px;width:100%;object-fit:cover}.landowner-content h3{font-size:28px;margin:0 0 24px}.landowner-content p{line-height:2;color:#c7ccd4;font-size:16px}.tag-list{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.tag-list span{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:10px 16px;color:#fff;background:rgba(255,255,255,.06)}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;padding:0;margin:0;list-style:none;color:#dce2e9}.check-list li:before{content:'✓';color:var(--orange);font-weight:900;margin-right:10px}.flow-image{max-width:860px;margin:0 auto}.flow-image img{width:100%;border-radius:18px;box-shadow:0 24px 90px rgba(0,0,0,.15)}.news-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.news-list article{border:1px solid var(--line);padding:32px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));min-height:260px}.news-list time{color:var(--orange);letter-spacing:.18em;font-size:12px;font-weight:800}.news-list h3{font-size:22px;line-height:1.6;margin:18px 0}.news-list p{line-height:1.9;color:#c7ccd4}.faq{padding:14vh 7vw}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.contact-form label{display:grid;gap:9px;color:#e8edf3;font-size:13px;letter-spacing:.08em}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:12px;color:#fff;padding:14px 15px;font:inherit;outline:none}.contact-form select option{color:#111}.contact-form textarea{resize:vertical}.contact-form input::placeholder{color:#9ca5b0}.submit{background:transparent;cursor:pointer;grid-column:1/-1;width:max-content}.project-button,.button{cursor:pointer}@media(max-width:900px){.strength-cards,.landowner-grid,.news-list,.contact-form{grid-template-columns:1fr}.check-list{grid-template-columns:1fr}.landowner-photo img{height:auto}.accordion-item span,.faq-item span{font-size:18px}.strength-detail-card img{height:220px}.submit{width:100%;text-align:center}.section-lead,.section-lead-dark{margin-top:0}}

/* updated strength and project flow */
.strength-cards-second{margin-top:22px;margin-bottom:0}.strength-detail-card{transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s ease}.strength-detail-card img{transition:transform .6s cubic-bezier(.22,1,.36,1)}.strength-detail-card:hover{transform:translateY(-8px);box-shadow:0 26px 80px rgba(0,0,0,.13)}.strength-detail-card:hover img{transform:scale(1.045)}
#flow{padding:14vh 7vw}.flow-layout{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(420px,1.12fr);gap:6vw;align-items:start}.flow-image{max-width:none;position:sticky;top:110px}.flow-image img{width:100%;border-radius:20px;box-shadow:0 28px 100px rgba(0,0,0,.18)}.flow-steps{border-top:1px solid rgba(0,0,0,.16);background:rgba(255,255,255,.34);backdrop-filter:blur(10px);padding:10px 0 0}.flow-step{display:grid;grid-template-columns:108px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid rgba(0,0,0,.14)}.flow-step span{color:var(--orange);font-size:12px;letter-spacing:.22em;font-weight:900;padding-top:8px}.flow-step h3{font-size:24px;line-height:1.35;margin:0;color:var(--darktext)}.flow-step p{grid-column:2;margin:0;color:#4b5460;line-height:1.9}.flow-contact-button{display:inline-flex;align-items:center;justify-content:center;margin-top:34px;background:var(--orange);color:#fff;text-decoration:none;border-radius:999px;padding:18px 30px;font-size:13px;font-weight:900;letter-spacing:.14em;box-shadow:0 18px 40px rgba(241,90,36,.26);transition:.35s}.flow-contact-button:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(241,90,36,.34)}@media(max-width:900px){#flow{padding:12vh 24px}.flow-layout{grid-template-columns:1fr;gap:34px}.flow-image{position:relative;top:auto}.flow-step{grid-template-columns:1fr;gap:8px;padding:22px 0}.flow-step p{grid-column:1}.flow-contact-button{width:100%;text-align:center}.nav a[href="#flow"]{display:none}}

/* ===== 2026 update: SERVICE zigzag / LAND OWNER premium ===== */
.service-updated{position:relative;overflow:hidden;padding:14vh 7vw 10vh}.service-updated:after{content:"";position:absolute;right:-5vw;top:7vh;width:42vw;height:18vw;background:radial-gradient(circle at 30% 50%,rgba(241,90,36,.18),transparent 60%);opacity:.75;pointer-events:none}.service-updated .section-head{position:relative;z-index:2;margin-bottom:48px}.service-updated .section-lead{margin-top:0;max-width:620px;color:#e8edf2;font-weight:600}.service-zigzag{position:relative;z-index:2;max-width:1180px;margin:0 auto;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));box-shadow:0 24px 120px rgba(0,0,0,.34)}.service-row{display:grid;grid-template-columns:1.05fr 1fr;min-height:300px;border-bottom:1px solid rgba(255,255,255,.10)}.service-row:last-child{border-bottom:0}.service-row.reverse{grid-template-columns:1fr 1.05fr}.service-row.reverse .service-photo{grid-column:2}.service-row.reverse .service-text{grid-column:1;grid-row:1}.service-photo{overflow:hidden;background:#111}.service-photo img{width:100%;height:100%;min-height:300px;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1),filter .8s ease;filter:saturate(1.02) contrast(1.04)}.service-row:hover .service-photo img{transform:scale(1.045)}.service-text{position:relative;padding:48px 56px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.015))}.service-text:before{content:"";position:absolute;left:-8px;top:50%;width:16px;height:16px;border-radius:50%;background:var(--orange);box-shadow:0 0 22px rgba(241,90,36,.95)}.service-row.reverse .service-text:before{left:auto;right:-8px}.service-num{display:flex;align-items:center;gap:18px;color:var(--orange);margin-bottom:22px}.service-num span{font-size:clamp(34px,4vw,54px);font-family:Arial,sans-serif;font-weight:900;line-height:1;border-bottom:2px solid var(--orange)}.service-num b{font-size:32px;font-weight:400;color:var(--orange);opacity:.9}.service-text h3{font-size:clamp(24px,2.4vw,34px);margin:0 0 18px}.service-text p{line-height:2;color:#e1e6ee;margin:0;max-width:520px}.service-row.reverse .service-text p{max-width:500px}

.landowner-updated{padding:14vh 0 10vh;overflow:hidden}.landowner-updated>.landowner-hero-grid,.landowner-updated>.landowner-main,.landowner-worries,.landowner-flow,.landowner-scroll{width:min(1180px,86vw);margin-left:auto;margin-right:auto}.landowner-hero-grid{display:grid;grid-template-columns:1fr .98fr;gap:6vw;align-items:end;margin-bottom:44px}.landowner-updated .section-head{margin-bottom:0}.landowner-updated .section-lead{margin-top:0;color:#e8edf2}.landowner-summary h3,.landowner-worries h3,.landowner-flow h3,.landowner-scroll h3{font-size:28px;margin:0 0 24px}.landowner-summary p{line-height:2;color:#c7ccd4}.landowner-main{display:grid;grid-template-columns:.92fr 1fr;gap:56px;align-items:stretch;margin-bottom:70px}.landowner-updated .landowner-photo img{height:560px;border-radius:0;object-fit:cover}.landowner-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-content:center}.feature-box{border:1px solid rgba(255,255,255,.18);padding:22px 18px;min-height:118px;background:rgba(255,255,255,.035);display:grid;gap:5px}.feature-box span{color:var(--orange);font-size:30px;line-height:1}.feature-box b{font-size:18px}.feature-box small{color:#c4cad3;line-height:1.5}.landowner-worries{border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);padding:52px 0;margin-bottom:64px;text-align:center}.landowner-worries h3{color:var(--orange)}.check-list.wide{grid-template-columns:repeat(3,1fr);text-align:left;max-width:1050px;margin:0 auto}.landowner-flow{text-align:center;margin-bottom:64px}.mini-flow{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr;align-items:start;gap:12px;margin-top:34px}.mini-flow div{display:grid;gap:8px;justify-items:center}.mini-flow div:before{content:"";width:78px;height:78px;border:1px solid var(--orange);border-radius:50%;display:block;background:rgba(241,90,36,.06);box-shadow:0 0 24px rgba(241,90,36,.10)}.mini-flow span{color:var(--orange);font-weight:900;letter-spacing:.14em}.mini-flow b{font-size:15px}.mini-flow small{color:#c8ced7;line-height:1.7}.mini-flow i{height:1px;background:rgba(255,255,255,.38);margin-top:39px;position:relative}.mini-flow i:after{content:"";position:absolute;right:-1px;top:-4px;border-left:7px solid rgba(255,255,255,.55);border-top:4px solid transparent;border-bottom:4px solid transparent}.landowner-scroll{border:1px solid rgba(255,255,255,.13);padding:38px 34px 28px;background:rgba(255,255,255,.025)}.landowner-scroll h3{text-align:center;color:var(--orange);font-size:22px}.land-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.land-cards article{position:relative;min-height:260px;overflow:hidden;background:#111}.land-cards img{width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1);filter:brightness(.86) contrast(1.08)}.land-cards article:hover img{transform:scale(1.06)}.land-cards div{position:absolute;left:0;right:0;bottom:0;padding:28px;background:linear-gradient(transparent,rgba(0,0,0,.86))}.land-cards h4{font-size:26px;margin:0 0 8px}.land-cards p{margin:0;line-height:1.7;color:#e0e5eb}.landowner-note{text-align:center;color:#d8dde5;margin:26px 0 0;letter-spacing:.04em}

@media(max-width:900px){.service-updated{padding:11vh 24px}.service-zigzag{border:0;background:transparent;box-shadow:none}.service-row,.service-row.reverse{grid-template-columns:1fr;border:1px solid rgba(255,255,255,.12);margin-bottom:22px}.service-row.reverse .service-photo,.service-row.reverse .service-text{grid-column:auto;grid-row:auto}.service-photo img{min-height:220px}.service-text{padding:30px 24px}.service-text:before,.service-row.reverse .service-text:before{display:none}.service-num span{font-size:38px}.service-num b{font-size:26px}.landowner-updated{padding:11vh 0}.landowner-updated>.landowner-hero-grid,.landowner-updated>.landowner-main,.landowner-worries,.landowner-flow,.landowner-scroll{width:calc(100% - 48px)}.landowner-hero-grid,.landowner-main{grid-template-columns:1fr;gap:28px}.landowner-updated .landowner-photo img{height:auto}.landowner-features{grid-template-columns:1fr 1fr}.check-list.wide{grid-template-columns:1fr}.mini-flow{grid-template-columns:1fr;gap:18px}.mini-flow i{display:none}.land-cards{grid-template-columns:1fr}.landowner-scroll{padding:30px 20px}.feature-box{min-height:auto}.landowner-summary h3,.landowner-worries h3,.landowner-flow h3,.landowner-scroll h3{font-size:24px}}


/* ===== LAND OWNER final correction ===== */
.landowner-final{padding:12vh 0 9vh;overflow:hidden;background:#050607;color:#fff}.landowner-final-inner{width:min(1180px,86vw);margin:0 auto}.landowner-final-top{display:grid;grid-template-columns:1fr .92fr;gap:6vw;align-items:start}.landowner-final-left h2{font-size:clamp(46px,6vw,82px);line-height:1.18;margin:0 0 22px;letter-spacing:-.04em}.landowner-final-left .section-lead{margin:0 0 28px;color:#f0f3f7;font-weight:700;line-height:1.9}.landowner-final-photo{width:100%;overflow:hidden;background:#111}.landowner-final-photo img{width:100%;height:290px;object-fit:cover;display:block;filter:saturate(1.04) contrast(1.04) brightness(.92)}.landowner-final-right{padding-top:34px}.landowner-final-right h3{font-size:28px;margin:0 0 22px}.final-tags{margin-bottom:22px}.final-tags span{padding:8px 18px;border-color:rgba(255,255,255,.32);background:transparent;color:#fff;font-weight:700}.landowner-final-right p{line-height:2;color:#c9d0da;margin:0 0 28px}.landowner-final-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.landowner-final .feature-box{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.20);min-height:118px;padding:21px 18px;display:grid;align-content:center}.landowner-final .feature-box span{color:var(--orange);font-size:34px}.landowner-final .feature-box b{font-size:18px}.landowner-final .feature-box small{color:#c8ced7}.landowner-final .landowner-worries{width:100%;margin:64px 0 0;padding:48px 0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);text-align:center}.landowner-final .landowner-worries h3{color:var(--orange);font-size:24px;margin:0 0 26px}.landowner-final .check-list.wide{grid-template-columns:repeat(3,1fr);gap:16px 64px;text-align:left;max-width:960px}.landowner-final .landowner-flow{width:100%;margin:0;padding:54px 0 48px;text-align:center;border-bottom:1px solid rgba(255,255,255,.06)}.landowner-final .landowner-flow h3{font-size:26px;margin:0 0 30px}.landowner-final .mini-flow{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr;gap:12px;align-items:start}.landowner-final .mini-flow div{display:grid;justify-items:center;gap:7px;position:relative}.landowner-final .mini-flow div:before{content:"";width:78px;height:78px;border:1px solid var(--orange);border-radius:50%;display:block;background:rgba(241,90,36,.06);box-shadow:0 0 20px rgba(241,90,36,.12)}.landowner-final .mini-flow span{color:var(--orange);font-weight:900;letter-spacing:.14em}.landowner-final .mini-flow b{font-size:15px}.landowner-final .mini-flow small{color:#d1d6de;line-height:1.7}.landowner-final .mini-flow i{height:1px;background:rgba(255,255,255,.45);margin-top:39px;position:relative}.landowner-final .mini-flow i:after{content:"";position:absolute;right:-1px;top:-4px;border-left:7px solid rgba(255,255,255,.6);border-top:4px solid transparent;border-bottom:4px solid transparent}.landowner-final .landowner-scroll{width:100%;margin:0;padding:38px 70px 30px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02);position:relative}.landowner-final .landowner-scroll h3{font-size:22px;text-align:center;color:var(--orange);margin:0 0 28px}.land-cards-final{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.land-cards-final article{position:relative;min-height:205px;overflow:hidden;background:#111}.land-cards-final img{width:100%;height:100%;min-height:205px;object-fit:cover;filter:brightness(.82) contrast(1.08);transition:transform .7s cubic-bezier(.22,1,.36,1)}.land-cards-final article:hover img{transform:scale(1.06)}.land-cards-final div{position:absolute;left:0;right:0;bottom:0;padding:26px;background:linear-gradient(transparent,rgba(0,0,0,.9))}.land-cards-final h4{font-size:24px;margin:0 0 8px}.land-cards-final p{font-size:14px;line-height:1.7;margin:0;color:#ecf1f6}.land-arrow{position:absolute;top:58%;transform:translateY(-50%);background:transparent;border:0;color:#fff;font-size:58px;line-height:1;cursor:pointer;opacity:.9}.land-arrow-left{left:22px}.land-arrow-right{right:22px}.land-dots{display:flex;gap:14px;justify-content:center;margin-top:22px}.land-dots span{width:9px;height:9px;background:#fff;border-radius:50%;opacity:.8}.land-dots span.active{background:var(--orange);opacity:1}@media(max-width:900px){.landowner-final{padding:10vh 0}.landowner-final-inner{width:calc(100% - 48px)}.landowner-final-top{grid-template-columns:1fr;gap:34px}.landowner-final-photo img{height:auto}.landowner-final-right{padding-top:0}.landowner-final-features{grid-template-columns:1fr 1fr}.landowner-final .check-list.wide{grid-template-columns:1fr;gap:14px}.landowner-final .mini-flow{grid-template-columns:1fr;gap:18px}.landowner-final .mini-flow i{display:none}.landowner-final .landowner-scroll{padding:30px 20px}.land-cards-final{grid-template-columns:1fr}.land-arrow{display:none}}

/* LAND OWNER carousel fix */
.landowner-final .landowner-scroll{
  overflow:hidden;
}
.landowner-final .landowner-scroll h3{
  position:relative;
  z-index:2;
  line-height:1.4;
  margin-bottom:30px !important;
}
.landowner-final .land-cards-final{
  display:flex !important;
  gap:4px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding-bottom:0;
  scrollbar-width:none;
}
.landowner-final .land-cards-final::-webkit-scrollbar{display:none;}
.landowner-final .land-cards-final article{
  flex:0 0 calc((100% - 8px) / 3);
  scroll-snap-align:start;
  min-height:220px;
}
.landowner-final .land-cards-final img{
  min-height:220px;
}
.landowner-final .land-arrow{
  z-index:5;
  width:54px;
  height:74px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.36);
  backdrop-filter:blur(8px);
  border-radius:8px;
  transition:.25s ease;
}
.landowner-final .land-arrow:hover{
  border-color:var(--orange);
  color:var(--orange);
  background:rgba(241,90,36,.08);
}
.landowner-final .land-dots span{
  cursor:pointer;
  transition:.25s ease;
}
.landowner-final .land-dots span.active{
  transform:scale(1.25);
}
@media(max-width:1100px){
  .landowner-final .land-cards-final article{flex-basis:calc((100% - 4px) / 2);}
}
@media(max-width:700px){
  .landowner-final .land-cards-final article{flex-basis:100%;}
  .landowner-final .land-arrow{display:none;}
}


/* LAND OWNER transformation story */
.landowner-transform{margin-top:58px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.015));padding:44px 48px 48px;position:relative;overflow:hidden}
.landowner-transform:before{content:"";position:absolute;inset:auto -12% -40% auto;width:420px;height:420px;background:radial-gradient(circle,rgba(241,90,36,.16),transparent 62%);pointer-events:none}
.transform-head{text-align:center;margin-bottom:34px}.transform-head .eyebrow{color:var(--orange);margin-bottom:10px}.transform-head h3{font-size:34px;margin:0 0 14px}.transform-head p{margin:0 auto;color:#c8ced7;line-height:1.9;max-width:780px}
.transform-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.transform-card{position:relative;background:#0b0d0f;border:1px solid rgba(255,255,255,.12);overflow:hidden;min-height:430px;display:flex;flex-direction:column}.transform-card:after{content:"";position:absolute;right:-10px;top:42%;width:20px;height:20px;border-top:1px solid rgba(241,90,36,.7);border-right:1px solid rgba(241,90,36,.7);transform:rotate(45deg);z-index:3}.transform-card:last-child:after{display:none}.transform-image{height:210px;overflow:hidden}.transform-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.82) contrast(1.08) saturate(1.06);transition:transform .8s cubic-bezier(.22,1,.36,1)}.transform-card:hover .transform-image img{transform:scale(1.07)}.transform-text{padding:28px 26px 30px;position:relative;z-index:2}.transform-text span{display:inline-block;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.18em;margin-bottom:16px}.transform-text h4{font-size:26px;margin:0 0 14px}.transform-text p{margin:0;color:#d6dbe2;line-height:1.9;font-size:15px}.transform-card:nth-child(even){margin-top:34px}.transform-card:nth-child(1){animation-delay:.05s}.transform-card:nth-child(2){animation-delay:.15s}.transform-card:nth-child(3){animation-delay:.25s}.transform-card:nth-child(4){animation-delay:.35s}
@media(max-width:1000px){.landowner-transform{padding:34px 22px}.transform-steps{grid-template-columns:1fr 1fr}.transform-card:nth-child(even){margin-top:0}.transform-card:after{display:none}}
@media(max-width:640px){.transform-steps{grid-template-columns:1fr}.transform-head h3{font-size:28px}.transform-card{min-height:auto}.transform-image{height:220px}}

/* final adjustment: LAND OWNER flow removed, land value story uses supplied photos */
.landowner-transform{margin-top:56px;}
.transform-image img{object-position:center center;}
.transform-card:first-child .transform-image img{object-position:center center;}
@media(max-width:900px){.landowner-transform{margin-top:38px;}}

/* PHOTO GALLERY final */
.photo-gallery{padding:12vh 3.5vw 12vh;position:relative;overflow:hidden;background:#050607;}
.photo-gallery .marquee{font-size:clamp(54px,8vw,120px);margin:-2vh -3.5vw 8vh;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);opacity:.8;}
.photo-gallery-head{max-width:980px;margin:0 0 56px 1.2vw;}
.photo-gallery-head h2{font-family:Arial,sans-serif;font-size:clamp(48px,6vw,86px);letter-spacing:.02em;line-height:1;margin:0 0 28px;text-shadow:0 0 18px rgba(255,255,255,.16);}
.photo-gallery-head p:not(.eyebrow){color:#e7edf5;line-height:1.9;font-size:17px;margin:0;}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.photo-card{position:relative;height:640px;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:#111;cursor:pointer;}
.photo-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.58) contrast(1.08) saturate(1.05);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .8s ease;}
.photo-card:hover img{transform:scale(1.06);filter:brightness(.48) contrast(1.12) saturate(1.08);}
.photo-card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;padding:46px 42px;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.22) 45%,rgba(0,0,0,.80));}
.photo-card-overlay span{color:var(--orange);font-size:30px;font-weight:900;letter-spacing:.08em;display:inline-block;margin-bottom:26px;position:relative;}
.photo-card-overlay span:after{content:"";display:block;width:72px;height:1px;background:var(--orange);margin-top:13px;}
.photo-card-overlay h3{font-size:clamp(28px,2.4vw,38px);margin:0 0 22px;line-height:1.25;}
.photo-card-overlay p{max-width:360px;color:#eef3f8;font-size:16px;line-height:1.9;margin:0;}
.photo-card-overlay b{margin-top:auto;color:var(--orange);font-size:14px;letter-spacing:.16em;font-weight:900;transition:.35s;}
.photo-card:hover .photo-card-overlay b{letter-spacing:.22em;text-shadow:0 0 12px rgba(241,90,36,.45);}
@media(max-width:1000px){.photo-gallery-grid{grid-template-columns:1fr}.photo-card{height:520px}.photo-gallery{padding-left:24px;padding-right:24px}.photo-gallery-head{margin-left:0}}


/* Photo Gallery clickable cards and coming soon page */
.photo-card{color:#fff;text-decoration:none;display:block;}
.photo-card:visited{color:#fff;}
.coming-page{min-height:100vh;background:#050607;color:#fff;padding:150px 7vw 90px;position:relative;overflow:hidden;}
.coming-page:before{content:"PHOTO GALLERY";position:absolute;top:96px;left:3vw;font-family:Arial,sans-serif;font-size:clamp(56px,10vw,150px);font-weight:900;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.10);white-space:nowrap;pointer-events:none;}
.coming-hero{position:relative;z-index:1;max-width:1040px;margin-bottom:58px;}
.coming-hero h1{font-family:Arial,sans-serif;font-size:clamp(48px,7vw,96px);line-height:1;margin:0 0 24px;letter-spacing:.02em;}
.coming-hero p{color:#dce2e9;line-height:2;font-size:17px;max-width:760px;}
.coming-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.coming-card{min-height:430px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));padding:38px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;}
.coming-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(241,90,36,.18),transparent 42%);opacity:.8;}
.coming-card>*{position:relative;z-index:1;}
.coming-card span{color:var(--orange);font-size:28px;font-weight:900;letter-spacing:.12em;display:inline-block;margin-bottom:20px;}
.coming-card span:after{content:"";display:block;width:70px;height:1px;background:var(--orange);margin-top:12px;}
.coming-card h2{font-size:32px;line-height:1.35;margin:0 0 18px;letter-spacing:-.03em;}
.coming-card p{color:#d3d9e2;line-height:1.9;margin:0;}
.coming-badge{align-self:flex-start;border:1px solid rgba(241,90,36,.7);color:var(--orange);border-radius:999px;padding:11px 18px;font-size:12px;font-weight:800;letter-spacing:.18em;background:rgba(241,90,36,.08);}
.back-link{display:inline-block;margin-top:42px;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:16px 24px;letter-spacing:.12em;font-size:13px;}
.back-link:hover{border-color:var(--orange);color:var(--orange);}
@media(max-width:900px){.coming-page{padding:120px 24px 70px}.coming-grid{grid-template-columns:1fr}.coming-card{min-height:300px}}

.coming-card[href]{ color:inherit; text-decoration:none; display:flex; }
.coming-card[href]:hover{ border-color:rgba(255,92,35,.65); transform:translateY(-4px); }


.single-coming{ grid-template-columns:minmax(0, 760px); }
.page-links{ display:flex; gap:18px; flex-wrap:wrap; margin-top:34px; }

/* Project CTA refinement */
.project-copy .project-button-wide{
  width:min(360px,100%);
  min-height:72px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:34px;
  padding:18px 24px 18px 30px;
  border:1px solid var(--orange);
  border-radius:0;
  color:var(--orange);
  background:transparent;
  letter-spacing:normal;
  transition:background .35s ease,color .35s ease,transform .35s ease,box-shadow .35s ease;
}
.project-button-wide .project-button-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.project-button-wide .project-button-text strong{
  font-size:18px;
  line-height:1;
  letter-spacing:.28em;
  font-weight:800;
}
.project-button-wide .project-button-text small{
  font-size:12px;
  line-height:1.2;
  letter-spacing:.14em;
  color:inherit;
  opacity:.82;
}
.project-button-wide .project-button-arrow{
  font-size:34px;
  line-height:1;
  color:inherit;
  transition:transform .35s ease;
}
.project-copy .project-button-wide:hover{
  background:var(--orange);
  color:#fff;
  transform:translateY(-4px);
  box-shadow:0 18px 45px rgba(241,90,36,.18);
}
.project-button-wide:hover .project-button-arrow{transform:translateX(8px)}
@media(max-width:900px){
  .project-copy .project-button-wide{
    width:100%;
    border-radius:0;
    flex-direction:row;
    text-align:left;
  }
}


/* ===== NEWS archive / detail pages ===== */
.news .section-lead{margin-top:0;max-width:760px;color:#c7ccd4}.news-list .news-card{display:block;border:1px solid var(--line);padding:32px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));min-height:260px;color:#fff;text-decoration:none;transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease}.news-list .news-card:hover{transform:translateY(-6px);border-color:rgba(241,90,36,.65);background:linear-gradient(180deg,rgba(241,90,36,.12),rgba(255,255,255,.018));box-shadow:0 22px 60px rgba(0,0,0,.28)}.news-list .news-card time{color:var(--orange);letter-spacing:.18em;font-size:12px;font-weight:800}.news-list .news-card h3{font-size:22px;line-height:1.6;margin:18px 0;color:#fff}.news-list .news-card p{line-height:1.9;color:#c7ccd4}.news-card-more{display:inline-block;margin-top:18px;color:var(--orange);font-size:12px;letter-spacing:.18em;font-weight:800}.news-more,.news-back{display:flex;justify-content:center;margin-top:42px}.news-more-button{width:min(360px,100%);min-height:72px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px 18px 30px;border:1px solid var(--orange);color:var(--orange);background:transparent;text-decoration:none;transition:background .35s ease,color .35s ease,transform .35s ease,box-shadow .35s ease}.news-more-button span{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.news-more-button strong{font-size:18px;line-height:1;letter-spacing:.28em;font-weight:800}.news-more-button small{font-size:12px;line-height:1.2;letter-spacing:.14em;color:inherit;opacity:.82}.news-more-button b{font-size:34px;line-height:1;font-weight:400;transition:transform .35s ease}.news-more-button:hover{background:var(--orange);color:#fff;transform:translateY(-4px);box-shadow:0 18px 45px rgba(241,90,36,.18)}.news-more-button:hover b{transform:translateX(8px)}.news-page{background:#060708}.news-hero{position:relative;min-height:64vh;display:grid;place-items:center;text-align:center;padding:130px 7vw 80px;overflow:hidden}.news-hero-bg,.news-hero-shade{position:absolute;inset:0}.news-hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.06)}.news-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.46)),linear-gradient(0deg,rgba(0,0,0,.78),transparent 55%);z-index:1}.news-hero-content{position:relative;z-index:3;max-width:960px}.news-hero-content h1{font-size:clamp(44px,7vw,96px);line-height:1.05;margin:0 0 24px}.news-hero-content p{font-size:18px;line-height:2;color:#dce2e9}.news-archive{padding:12vh 7vw}.news-archive-head{max-width:900px;margin-bottom:52px}.news-list-archive{grid-template-columns:1fr 1fr}.news-detail{min-height:100vh;padding:150px 7vw 12vh}.news-detail-inner{width:min(940px,100%);margin:0 auto}.news-breadcrumb{display:inline-block;color:var(--orange);text-decoration:none;letter-spacing:.22em;font-size:12px;font-weight:800;margin-bottom:38px}.news-detail time{display:block;color:var(--orange);letter-spacing:.2em;font-weight:800;font-size:13px;margin-bottom:22px}.news-detail h1{font-size:clamp(34px,5.4vw,70px);line-height:1.22;letter-spacing:-.04em;margin:0 0 42px}.news-detail-body{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 0}.news-detail-body p{font-size:17px;line-height:2.25;color:#d8dee7;margin:0 0 24px}.news-detail-body p:last-child{margin-bottom:0}@media(max-width:900px){.news-list .news-card{min-height:auto;padding:28px 24px}.news-more,.news-back{justify-content:stretch}.news-more-button{width:100%}.news-hero{min-height:52vh;padding:110px 24px 64px}.news-archive,.news-detail{padding-left:24px;padding-right:24px}.news-list-archive{grid-template-columns:1fr}.news-detail{padding-top:120px}.news-detail-body{padding:32px 0}.news-detail-body p{font-size:16px}}

.news-ir-link{color:var(--orange);font-weight:800;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.news-ir-link:hover{color:#fff}.news-detail-label{color:#fff;font-weight:800}.news-detail-body br{line-height:2.05}

/* Header navigation alignment: match the actual top-page sections */
.header .nav{
  gap:16px;
  align-items:center;
  flex-wrap:nowrap;
}
.header .nav a{
  white-space:nowrap;
  font-size:11px;
  letter-spacing:.13em;
}
.header .contact-link{
  padding:11px 15px;
}
@media(max-width:1180px){
  .header{padding:20px 24px;}
  .header.scrolled{padding:12px 24px;}
  .brand img{width:118px;}
  .header .nav{gap:11px;}
  .header .nav a{font-size:10px;letter-spacing:.09em;}
  .header .contact-link{padding:10px 12px;}
}


/* Final adjustment: NEWS heading alignment + PHOTO label */
.news{padding:14vh 7vw 12vh;}
.news .section-head{max-width:900px;margin:0 0 56px;}
.news .section-head h2{margin-bottom:24px;}
.news .section-lead{margin-top:0;max-width:760px;}
@media(max-width:900px){.news{padding:10vh 24px;}.news .section-head{margin-bottom:38px;}}


/* QA fix: mobile navigation */
@media(max-width:900px){
  .menu{
    display:flex;
    width:46px;
    height:46px;
    border:1px solid rgba(255,255,255,.36);
    border-radius:50%;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    cursor:pointer;
    position:relative;
    z-index:40;
  }
  .menu span{
    display:block;
    width:18px;
    height:2px;
    background:#fff;
    transition:transform .3s ease,opacity .3s ease;
  }
  .header .nav{
    display:flex;
    position:fixed;
    inset:0;
    z-index:35;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:22px;
    background:rgba(6,7,8,.96);
    backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .32s ease,visibility .32s ease,transform .32s ease;
  }
  .header.nav-open .nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .header .nav a{
    font-size:13px;
    letter-spacing:.18em;
  }
  .header .contact-link{
    padding:13px 24px;
    margin-top:8px;
  }
  .header.nav-open .menu span:first-child{
    transform:translateY(4px) rotate(45deg);
  }
  .header.nav-open .menu span:last-child{
    transform:translateY(-4px) rotate(-45deg);
  }
  body.menu-open{overflow:hidden;}
}


/* Final line-break refinement */
.copy-line{
  display:inline-block;
  white-space:nowrap;
}
.hero-copy{
  max-width:min(1180px,86vw);
}
.hero h1{
  font-size:clamp(42px,7vw,96px);
  line-height:1.12;
  letter-spacing:-.035em;
  word-break:keep-all;
  overflow-wrap:normal;
}
.split-text h2,
.section-head h2,
.project h2,
.message h2,
.contact h2{
  word-break:keep-all;
  overflow-wrap:normal;
}
@media(max-width:900px){
  .copy-line{white-space:normal;}
  .hero h1{
    font-size:clamp(40px,12vw,64px);
    line-height:1.12;
  }
  h2{
    font-size:clamp(31px,8.8vw,52px);
  }
}
@media(max-width:560px){
  .hero h1{
    font-size:clamp(36px,11.4vw,50px);
    word-break:normal;
    overflow-wrap:break-word;
  }
  h2{
    font-size:clamp(29px,8.5vw,42px);
  }
}



/* Final visual QA: paragraph breaks + landowner layout stability */
.nowrap{white-space:nowrap;}
br.pc-br{display:block;}
@media(max-width:700px){br.pc-br{display:none;}}

.landowner-final-inner{
  width:min(1280px,90vw);
}
.landowner-final-top{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.78fr);
  gap:64px;
  align-items:start;
}
.landowner-final-right{
  min-width:0;
  padding-top:38px;
}
.landowner-final-features{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.landowner-final .feature-box{
  min-height:108px;
  padding:18px 16px;
}
.landowner-final .feature-box b{
  font-size:16px;
  line-height:1.45;
  word-break:keep-all;
}
.landowner-final .feature-box small{
  font-size:12px;
  line-height:1.55;
}
.landowner-final .final-tags span{
  white-space:nowrap;
}
.landowner-final .landowner-worries,
.landowner-final .landowner-transform{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:1200px){
  .landowner-final-top{
    grid-template-columns:1fr;
    gap:42px;
  }
  .landowner-final-right{
    padding-top:0;
  }
  .landowner-final-features{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .transform-steps{
    grid-template-columns:repeat(2,1fr);
  }
  .transform-card:nth-child(even){margin-top:0;}
  .transform-card:after{display:none;}
}
@media(max-width:760px){
  .landowner-final-inner{width:calc(100% - 48px);}
  .landowner-final-features{grid-template-columns:1fr 1fr;}
  .transform-steps{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .landowner-final-features{grid-template-columns:1fr;}
}

/* Final QA: natural paragraph breaks and contact layout */
.service-text p,
.strength-detail-card p,
.news-card p,
.project-copy p,
.transform-text p,
.message-text p,
.landowner-final p,
.photo-card-overlay p{
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
}
.news .section-lead,
.news-card p,
.project-copy p{
  max-width:920px;
}
.news-list .news-card p{
  margin-bottom:0;
}
.landowner-final .check-list.wide{
  max-width:1040px;
  grid-template-columns:repeat(3,max-content);
  justify-content:center;
  gap:16px 66px;
}
.landowner-final .check-list.wide li{
  white-space:nowrap;
}
.transform-steps{
  align-items:stretch;
}
.transform-card{
  display:flex;
  flex-direction:column;
}
.transform-text{
  flex:1;
}
.transform-text p{
  font-size:14px;
  line-height:1.95;
}
.message-text{
  max-width:900px;
}
.message-text p{
  line-height:2.12;
  margin:0 0 24px;
}
.contact{
  min-height:960px;
  padding:12vh 6vw;
  align-items:center;
}
.contact-panel{
  width:min(960px,94vw);
  max-width:960px;
  padding:68px 72px;
}
.contact-panel h2{
  font-size:clamp(38px,4.1vw,64px);
  line-height:1.18;
  letter-spacing:-.035em;
  max-width:820px;
}
.contact-panel > p:not(.eyebrow):not(.tel){
  max-width:780px;
}
.contact-form{
  grid-template-columns:1fr 1fr;
  gap:22px 24px;
  margin-top:34px;
}
.contact-form input,
.contact-form select{
  min-height:58px;
  padding:16px 18px;
}
.contact-form textarea{
  min-height:190px;
  padding:18px;
}
@media(max-width:1100px){
  .landowner-final .check-list.wide{
    grid-template-columns:1fr 1fr;
    justify-content:stretch;
  }
  .landowner-final .check-list.wide li{white-space:normal;}
}
@media(max-width:900px){
  .service-text p,
  .strength-detail-card p,
  .news-card p,
  .project-copy p,
  .transform-text p,
  .message-text p,
  .landowner-final p{
    word-break:normal;
    overflow-wrap:anywhere;
  }
  .contact{
    min-height:auto;
    padding:10vh 24px;
  }
  .contact-panel{
    width:100%;
    padding:42px 24px;
  }
  .contact-panel h2{
    font-size:clamp(34px,9vw,52px);
  }
  .contact-form{
    grid-template-columns:1fr;
    gap:18px;
  }
}
@media(max-width:700px){
  .landowner-final .check-list.wide{grid-template-columns:1fr;}
}


/* User-specified line breaks: keep layout stable and prevent overflow */
#service .section-lead,
#service .service-text p,
#strength .section-lead-dark,
#strength .strength-detail-card p,
#landowner .section-lead,
#landowner .landowner-final-right p,
#landowner .transform-text p,
#faq .faq-item p,
.news-detail h1,
.news-detail-body p,
.news-list .news-card h3,
.news-list .news-card p{
  word-break:normal;
  overflow-wrap:anywhere;
}

#landowner .landowner-final-left h2{
  line-height:1.12;
}

#landowner .landowner-final-photo img{
  min-height:290px;
}

#landowner .transform-text p{
  line-height:1.9;
}

.news-detail h1{
  line-height:1.18;
}

.news-detail-body p{
  line-height:2.15;
}

@media(min-width:901px){
  #service .section-lead,
  #strength .section-lead-dark,
  #flow .section-lead-dark{
    max-width:760px;
  }

  #service .service-text p,
  #strength .strength-detail-card p,
  #landowner .transform-text p{
    max-width:100%;
  }

  .news-detail-inner{
    width:min(980px,100%);
  }

  .news-detail h1{
    max-width:980px;
  }

  .news-detail-body p{
    max-width:940px;
  }
}

@media(max-width:900px){
  #landowner .landowner-final-left h2{
    line-height:1.18;
  }
}

/* Project list title: keep on one line */
.project-list-content{
  max-width:1200px;
}
.project-list-content h1{
  white-space:nowrap;
  font-size:clamp(48px,6vw,92px);
  line-height:1.08;
}
@media(max-width:900px){
  .project-list-content h1{
    white-space:normal;
    font-size:clamp(38px,11vw,62px);
  }
}


/* Contact thanks page */
.thanks-page{
  background:#060708;
  color:#fff;
}
.thanks-hero{
  min-height:100vh;
  position:relative;
  display:grid;
  align-items:center;
  padding:140px 7vw 90px;
  overflow:hidden;
}
.thanks-bg,
.thanks-shade{
  position:absolute;
  inset:0;
}
.thanks-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(1.05);
}
.thanks-shade{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.52) 48%,rgba(0,0,0,.72)),
    linear-gradient(0deg,rgba(0,0,0,.72),transparent 56%);
}
.thanks-content{
  position:relative;
  z-index:2;
  width:min(920px,100%);
}
.thanks-content h1{
  font-size:clamp(42px,6vw,82px);
  line-height:1.16;
  letter-spacing:-.04em;
  margin:0 0 30px;
}
.thanks-content p:not(.eyebrow){
  color:#d8dee7;
  font-size:17px;
  line-height:2.1;
  max-width:760px;
}
.thanks-actions{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:42px;
}
.thanks-sub-button{
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.sp-br{display:none;}
@media(max-width:900px){
  .thanks-hero{
    padding:120px 24px 72px;
  }
  .thanks-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .sp-br{display:block;}
}

/* Thanks page center alignment fix */
.thanks-hero{
  place-items:center;
  text-align:center;
}
.thanks-content{
  margin:0 auto;
  text-align:center;
}
.thanks-content p:not(.eyebrow){
  margin-left:auto;
  margin-right:auto;
}
.thanks-actions{
  justify-content:center;
}
.thanks-actions .news-more-button{
  min-width:330px;
}
@media(max-width:900px){
  .thanks-actions .news-more-button{
    min-width:0;
    width:100%;
  }
}


/* Thanks page message two-line fix */
.thanks-content p:not(.eyebrow){
  max-width:1100px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  line-height:2.05;
}
@media(min-width:901px){
  .thanks-content p:not(.eyebrow){
    white-space:normal;
    font-size:clamp(15px,1.1vw,17px);
  }
}


/* Mobile final fixes: PROJECT title overflow + full-screen menu readability */
.project-mobile-br{display:none;}

@media(max-width:900px){
  html,body{
    max-width:100%;
    overflow-x:hidden;
  }

  #project{
    overflow:hidden;
  }
  #project .section-head{
    width:100%;
    max-width:100%;
  }
  #project .section-head h2{
    max-width:100%;
    font-size:clamp(30px,8.5vw,42px);
    line-height:1.24;
    letter-spacing:-.055em;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  #project .section-head h2 .copy-line{
    display:block;
    max-width:100%;
    white-space:normal;
  }
  #project .project-energy-line{
    word-break:keep-all;
  }
  .project-mobile-br{
    display:block;
  }
  #project .project-visual,
  #project .project-visual img,
  #project .project-copy{
    max-width:100%;
  }

  .header{
    z-index:10000;
    background:rgba(6,7,8,.96);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .header .brand,
  .header .menu{
    position:relative;
    z-index:10002;
  }
  .header .nav{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    z-index:10001!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:18px!important;
    padding:112px 24px 42px!important;
    background:#050607!important;
    backdrop-filter:none!important;
    overflow-y:auto!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
  }
  .header.nav-open .nav{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .header .nav a{
    display:block!important;
    width:100%;
    max-width:300px;
    padding:0!important;
    text-align:center;
    font-size:15px!important;
    line-height:1.45;
    letter-spacing:.18em!important;
    opacity:.96;
  }
  .header .nav .contact-link{
    width:auto;
    min-width:220px;
    margin-top:8px!important;
    padding:15px 24px!important;
    border:1px solid rgba(255,255,255,.38);
    border-radius:999px;
  }
  body.menu-open{
    overflow:hidden!important;
    position:fixed;
    width:100%;
  }
}

@media(max-width:420px){
  #project .section-head h2{
    font-size:clamp(28px,8.2vw,36px);
  }
}

/* Fix: remove faint decorative shadow in SERVICE section */
#service.service-updated::after{display:none !important;content:none !important;}


/* Mobile hero video fix: keep wide video from looking distorted/cropped on phones */
@media(max-width:700px){
  .hero{
    min-height:100svh;
    background:#050607;
    overflow:hidden;
  }
  .hero-video{
    object-fit:contain;
    object-position:center center;
    background:#050607;
  }
  .hero-shade{
    background:
      linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.86) 74%,rgba(0,0,0,.96)),
      linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.18));
  }
  .hero-copy{
    max-width:100%;
    padding-bottom:4vh;
  }
}

@media(max-width:430px){
  .hero-video{
    width:100%;
    height:100%;
    object-fit:contain;
  }
}


/* Mobile overall no-cut fix: PC layout unchanged */
@media(max-width:900px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }

  body{
    position:relative;
  }

  .header,
  .hero,
  .statement,
  .split,
  .service,
  .service-updated,
  .strength,
  .landowner-final,
  .flow,
  .photo-gallery,
  .gallery,
  .project,
  .news,
  .faq,
  .message,
  .company,
  .contact,
  .footer,
  .news-hero,
  .news-archive,
  .news-detail,
  .project-list-hero,
  .coming-page{
    max-width:100vw;
    overflow-x:hidden;
  }

  .split,
  .service,
  .service-updated,
  .strength,
  .flow,
  .photo-gallery,
  .gallery,
  .project,
  .news,
  .faq,
  .message,
  .company,
  .contact,
  .news-archive,
  .news-detail{
    padding-left:24px!important;
    padding-right:24px!important;
  }

  .statement{
    padding-left:24px!important;
    padding-right:24px!important;
  }

  .landowner-final{
    padding-left:0!important;
    padding-right:0!important;
  }

  .section-head,
  .hero-copy,
  .split-text,
  .service-text,
  .strength-wrap,
  .strength-cards,
  .landowner-final-inner,
  .project-copy,
  .message-text,
  .company-layout,
  .contact-panel,
  .news-archive-head,
  .news-list,
  .news-list-archive,
  .news-detail-inner,
  .project-list-content{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  img,
  video{
    max-width:100%;
  }

  h1,
  h2,
  h3,
  p,
  .lead,
  .section-lead,
  .section-lead-dark,
  .project-list-content h1,
  .news-detail h1,
  .big-text{
    max-width:100%;
    word-break:keep-all;
    overflow-wrap:break-word;
  }

  .copy-line,
  .nowrap,
  .project-list-content h1{
    white-space:normal!important;
  }

  .big-text{
    font-size:clamp(42px,14vw,72px);
    line-height:1.02;
    letter-spacing:-.06em;
  }

  .split-image,
  .strength-photo,
  .project-visual,
  .message-photo,
  .company-layout,
  .contact-panel,
  .news-card,
  .strength-detail-card,
  .service-row,
  .photo-card,
  .coming-card{
    max-width:100%;
    min-width:0;
  }

  .split-image img,
  .strength-photo img,
  .project-visual img,
  .message-photo img,
  .company-layout img,
  .photo-card img{
    width:100%;
    height:auto;
    object-fit:cover;
  }

  .service-zigzag,
  .strength-cards,
  .news-list,
  .news-list-archive,
  .gallery-grid{
    width:100%;
    max-width:100%;
  }

  .contact-form,
  .company-table,
  .strength-cards,
  .news-list,
  .news-list-archive,
  .gallery-grid,
  .service-row,
  .service-row.reverse{
    grid-template-columns:1fr!important;
  }

  .project-button,
  .news-more-button,
  .button,
  .submit{
    max-width:100%;
  }
}

@media(max-width:560px){
  .header{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .brand img{
    max-width:112px;
    height:auto;
  }

  h1{
    font-size:clamp(36px,11.5vw,50px);
    line-height:1.14;
  }

  h2{
    font-size:clamp(30px,9vw,42px);
    line-height:1.2;
  }

  h3{
    line-height:1.35;
  }

  .lead,
  .section-lead,
  .section-lead-dark,
  .split-text p,
  .service-text p,
  .strength-detail-card p,
  .project-copy p,
  .message-text p,
  .company-table,
  .news-card p,
  .news-detail-body p,
  .faq-item p{
    font-size:15px;
    line-height:1.95;
  }

  .service-text,
  .strength-detail-card div,
  .contact-panel{
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .project-list-content h1,
  .news-hero-content h1{
    font-size:clamp(36px,12vw,54px);
  }
}


/* Mobile fix: LAND OWNER text position + MESSAGE title no clipping */
@media(max-width:900px){
  #landowner.landowner-final{
    padding-top:10vh!important;
    padding-bottom:9vh!important;
  }

  #landowner .landowner-final-inner{
    width:calc(100% - 48px)!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #landowner .landowner-final-top{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    align-items:start!important;
  }

  #landowner .landowner-final-left,
  #landowner .landowner-final-right{
    width:100%!important;
    max-width:100%!important;
    text-align:left!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  #landowner .landowner-final-left h2{
    font-size:clamp(36px,10vw,48px)!important;
    line-height:1.18!important;
    letter-spacing:-.045em!important;
    margin-bottom:20px!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  #landowner .landowner-final-left .section-lead{
    margin:0 0 24px!important;
    text-align:left!important;
    line-height:1.9!important;
  }

  #landowner .landowner-final-right{
    padding-top:0!important;
  }

  #landowner .landowner-final-right h3{
    font-size:24px!important;
    line-height:1.45!important;
    margin-bottom:18px!important;
    text-align:left!important;
  }

  #landowner .final-tags,
  #landowner .tag-list{
    justify-content:flex-start!important;
    align-items:flex-start!important;
  }

  #landowner .landowner-final-right p{
    text-align:left!important;
    line-height:1.9!important;
  }

  #landowner .landowner-final-features{
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }

  #landowner .feature-box{
    text-align:left!important;
    justify-items:start!important;
  }

  #message.message{
    grid-template-columns:1fr!important;
    gap:30px!important;
    align-items:start!important;
  }

  #message .message-text{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  #message .message-text h2{
    font-size:clamp(32px,9vw,44px)!important;
    line-height:1.24!important;
    letter-spacing:-.045em!important;
    max-width:100%!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    margin-bottom:24px!important;
  }

  #message .message-text h2 .copy-line{
    display:inline!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  #message .message-text h2 br{
    display:none!important;
  }
}

@media(max-width:520px){
  #landowner .landowner-final-features{
    grid-template-columns:1fr!important;
  }

  #landowner .landowner-final-left h2{
    font-size:clamp(34px,10.5vw,43px)!important;
  }

  #message .message-text h2{
    font-size:clamp(30px,9.2vw,39px)!important;
  }
}


/* Mobile video speed fix */
@media(max-width:700px){
  .hero-video{
    will-change:auto;
  }
}


/* Hero overlay removal: keep original video brightness, remove dark black haze */
.hero-shade{
  background:transparent !important;
  backdrop-filter:none !important;
}

@media(max-width:700px){
  .hero-shade{
    background:transparent !important;
    backdrop-filter:none !important;
  }
}


/* Subtle readability support without darkening the video */
.hero-copy h1,
.hero-copy .lead,
.hero-copy .eyebrow{
  text-shadow:0 2px 14px rgba(0,0,0,.22);
}


/* Mobile menu visibility fix: prevent header/backdrop clipping */
@media(max-width:900px){
  .header{
    overflow:visible!important;
  }

  .header.nav-open{
    overflow:visible!important;
    backdrop-filter:none!important;
  }

  .header .menu{
    display:flex!important;
    pointer-events:auto!important;
    touch-action:manipulation;
  }

  .header .nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    z-index:2147483000!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:18px!important;
    padding:112px 24px 42px!important;
    background:#050607!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:translateX(100%)!important;
    transition:transform .32s ease!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
  }

  .header.nav-open .nav,
  body.menu-open .header .nav{
    transform:translateX(0)!important;
    pointer-events:auto!important;
  }

  .header .nav a{
    display:block!important;
    width:100%!important;
    max-width:320px!important;
    padding:0!important;
    text-align:center!important;
    color:#fff!important;
  }

  .header.nav-open .menu{
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    z-index:2147483001!important;
  }

  body.menu-open{
    overflow:hidden!important;
    position:relative!important;
    width:100%!important;
  }
}


/* PC representative message layout fix */
@media(min-width:901px){
  #message.message{
    grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);
    gap:clamp(54px,6vw,96px);
    align-items:start;
  }

  #message .message-photo{
    align-self:start;
    width:100%;
    max-width:520px;
  }

  #message .message-photo img{
    width:100%;
    height:auto;
    max-height:680px;
    object-fit:contain;
    object-position:center top;
  }

  #message .message-text{
    width:100%;
    max-width:820px;
    min-width:0;
    padding-top:4px;
  }

  #message .message-text h2{
    font-size:clamp(42px,4.6vw,64px);
    line-height:1.18;
    letter-spacing:-.045em;
    margin-bottom:34px;
    max-width:100%;
    word-break:keep-all;
    overflow-wrap:normal;
  }

  #message .message-text h2 .copy-line{
    display:block;
    white-space:normal;
  }

  #message .message-text p{
    max-width:820px;
    line-height:2.05;
  }
}

@media(min-width:901px) and (max-width:1200px){
  #message.message{
    grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);
    gap:44px;
  }

  #message .message-text h2{
    font-size:clamp(38px,4.2vw,52px);
  }
}


/* Representative message layout unified with the main site sections */
@media (min-width:901px){
  #message.message{
    display:grid !important;
    grid-template-columns:.8fr 1.1fr !important;
    gap:7vw !important;
    align-items:center !important;
    padding:14vh 7vw !important;
  }
  #message .message-photo{
    align-self:center !important;
    width:100% !important;
    max-width:none !important;
  }
  #message .message-photo img{
    width:100% !important;
    height:620px !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  #message .message-text{
    width:100% !important;
    max-width:none !important;
    padding-top:0 !important;
  }
  #message .message-text h2{
    font-size:clamp(34px,5vw,72px) !important;
    line-height:1.13 !important;
    letter-spacing:-.04em !important;
    margin:0 0 26px !important;
    max-width:none !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
  #message .message-text h2 .copy-line{
    display:inline !important;
    white-space:normal !important;
  }
  #message .message-text h2 br{
    display:block !important;
  }
  #message .message-text p{
    max-width:none !important;
    line-height:2 !important;
  }
}


/* MESSAGE eyebrow label fix: match NEWS / FAQ / COMPANY */
#message .eyebrow{
  color:var(--orange) !important;
  font-size:12px !important;
  letter-spacing:.32em !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  margin:0 0 22px !important;
}


/* MESSAGE label position fix: align with other section labels */
@media (min-width:901px){
  #message.message{
    align-items:center !important;
  }
  #message .message-text{
    padding-top:0 !important;
  }
  #message .message-text .eyebrow{
    margin-top:0 !important;
    margin-bottom:22px !important;
    transform:none !important;
  }
}
@media (max-width:900px){
  #message .message-text .eyebrow{
    margin-top:0 !important;
    margin-bottom:22px !important;
  }
}


/* MESSAGE label top-left alignment: match other section labels */
#message.message{
  display:block !important;
  padding:14vh 7vw !important;
}
#message .message-head{
  max-width:900px !important;
  margin:0 0 64px !important;
}
#message .message-head .eyebrow{
  color:var(--orange) !important;
  font-size:12px !important;
  letter-spacing:.32em !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  margin:0 !important;
  transform:none !important;
}
#message .message-body{
  display:grid !important;
  grid-template-columns:.8fr 1.1fr !important;
  gap:7vw !important;
  align-items:center !important;
}
#message .message-photo{
  align-self:center !important;
  width:100% !important;
  max-width:none !important;
}
#message .message-photo img{
  width:100% !important;
  height:620px !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
}
#message .message-text{
  width:100% !important;
  max-width:none !important;
  padding-top:0 !important;
}
#message .message-text h2{
  font-size:clamp(34px,5vw,72px) !important;
  line-height:1.13 !important;
  letter-spacing:-.04em !important;
  margin:0 0 26px !important;
  max-width:none !important;
}
#message .message-text p{
  max-width:none !important;
  line-height:2 !important;
}
@media(max-width:900px){
  #message.message{
    padding:10vh 24px !important;
  }
  #message .message-head{
    margin:0 0 38px !important;
  }
  #message .message-body{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  #message .message-photo img{
    height:auto !important;
    object-position:center center !important;
  }
}

/* MESSAGE photo/text swapped */
@media (min-width:901px){
  #message .message-body{
    grid-template-columns:1.1fr .8fr !important;
    gap:7vw !important;
    align-items:center !important;
  }
  #message .message-text{order:1 !important;}
  #message .message-photo{order:2 !important;align-self:center !important;}
  #message .message-photo img{object-position:center center !important;}
}
@media (max-width:900px){
  #message .message-text{order:1 !important;}
  #message .message-photo{order:2 !important;}
}


.company-contact-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.company-qr-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.company-qr{width:110px;height:110px;object-fit:contain;display:block}.company-contact-copy{display:flex;flex-direction:column;gap:10px;min-width:0}.company-contact-copy p{margin:0;line-height:1.8;color:#424b57}.company-contact-copy a{color:#424b57;text-decoration:underline;text-underline-offset:3px;word-break:break-all}.company-contact-copy a:hover{color:var(--orange)}@media(max-width:900px){.company-contact-row{align-items:flex-start;gap:16px}.company-qr{width:96px;height:96px}}



/* COMPANY editable lists */
.company-entry-list{display:flex;flex-direction:column;gap:4px}
.company-entry-list span{display:block}

/* Company contact QR size fix */
.company-layout img.company-qr{
  width:110px !important;
  height:110px !important;
  max-width:110px !important;
  object-fit:contain !important;
  display:block !important;
}
.company-qr-link{
  width:110px !important;
  height:110px !important;
  flex:0 0 110px !important;
}
@media(max-width:900px){
  .company-layout img.company-qr{
    width:96px !important;
    height:96px !important;
    max-width:96px !important;
  }
  .company-qr-link{
    width:96px !important;
    height:96px !important;
    flex:0 0 96px !important;
  }
}


/* PROJECT LOG redesign */
#news.news{padding:14vh 7vw 12vh;background:#050607;position:relative;overflow:hidden}
#news.news:before{content:"";position:absolute;inset:auto -8vw -18vh auto;width:520px;height:520px;background:radial-gradient(circle,rgba(241,90,36,.12),transparent 68%);pointer-events:none}
.project-log-head{position:relative;z-index:1}
.project-log-tagline{display:inline-block;margin-top:14px;color:#fff;letter-spacing:.12em;font-size:13px;font-weight:700}
.project-log-timeline{position:relative;max-width:1040px;margin:0 auto;padding-left:44px}
.project-log-timeline:before{content:"";position:absolute;left:10px;top:10px;bottom:0;width:1px;background:linear-gradient(var(--orange),rgba(255,255,255,.12))}
.project-log-entry{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);gap:42px;padding:0 0 54px}
.project-log-marker{position:absolute;left:-39px;top:5px;width:13px;height:13px;border-radius:50%;background:#14171b;border:2px solid rgba(255,255,255,.32);box-shadow:0 0 0 7px #050607}
.project-log-entry.is-first .project-log-marker{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 7px #050607,0 0 24px rgba(241,90,36,.55)}
.project-log-date{font-size:13px;letter-spacing:.18em;color:#9da5b0;font-weight:700;padding-top:1px}
.project-log-content{border-top:1px solid rgba(255,255,255,.16);padding-top:24px}
.project-log-label{margin:0 0 14px;color:var(--orange);font-size:12px;letter-spacing:.22em;font-weight:900}
.project-log-content h3{margin:0 0 18px;font-size:clamp(24px,3vw,38px);line-height:1.45;color:#fff}
.project-log-content p:last-child{margin:0;max-width:780px;color:#cbd1da;font-size:16px;line-height:2}
.project-log-link-wrap{display:flex;justify-content:center;margin-top:28px}
.project-log-link{width:min(390px,100%);min-height:76px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 24px;padding:18px 26px;border:1px solid rgba(241,90,36,.8);color:var(--orange);text-decoration:none;transition:.3s}
.project-log-link span{font-size:18px;letter-spacing:.22em;font-weight:900}.project-log-link small{grid-column:1;color:#d1d6dd;letter-spacing:.08em}.project-log-link b{grid-column:2;grid-row:1/3;font-size:30px;font-weight:400}
.project-log-link:hover{background:var(--orange);color:#fff;transform:translateY(-3px)}.project-log-link:hover small{color:#fff}
.project-log-hero{position:relative;min-height:64vh;display:grid;place-items:center;text-align:center;padding:130px 7vw 80px;overflow:hidden}
.project-log-hero-bg,.project-log-hero-shade{position:absolute;inset:0}.project-log-hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.project-log-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.42)),linear-gradient(0deg,rgba(0,0,0,.78),transparent 58%);z-index:1}
.project-log-hero-content{position:relative;z-index:2;max-width:980px}.project-log-hero-content h1{font-size:clamp(48px,8vw,110px);margin:0 0 24px}.project-log-hero-content p{font-size:18px;line-height:2;color:#dce2e9}.project-log-hero-content p span{color:#fff;letter-spacing:.12em;font-weight:700}
.project-log-page{padding:12vh 7vw 14vh}.project-log-page-head{max-width:900px;margin-bottom:64px}.project-log-timeline-page{max-width:1100px}.project-log-back{max-width:1100px;margin:20px auto 0;padding-left:44px}.project-log-back a{color:var(--orange);text-decoration:none;letter-spacing:.14em;font-size:13px;font-weight:800}
@media(max-width:900px){
  #news.news{padding:10vh 24px}.project-log-timeline{padding-left:28px}.project-log-timeline:before{left:5px}.project-log-entry{grid-template-columns:1fr;gap:12px;padding-bottom:42px}.project-log-marker{left:-29px;top:4px;width:12px;height:12px}.project-log-date{padding-top:0}.project-log-content{padding-top:18px}.project-log-content h3{font-size:25px}.project-log-content p:last-child{font-size:15px;line-height:1.9}.project-log-hero{min-height:54vh;padding:110px 24px 64px}.project-log-page{padding:10vh 24px}.project-log-page-head{margin-bottom:42px}.project-log-back{padding-left:28px}
}


/* Final section order and dark PROJECTS styling */
#project.section-dark{
  background:#060708 !important;
  color:#fff !important;
}
#project .section-head h2,
#project .project-copy,
#project .project-copy p{
  color:#fff !important;
}
#project .project-copy p{
  color:#c7ccd4 !important;
}
#project .project-button{
  border-color:rgba(255,255,255,.48) !important;
  color:#fff !important;
}
#project .project-button span,
#project .project-button small{
  color:#d9dde3 !important;
}
#project .project-button:hover{
  background:#fff !important;
  color:#121721 !important;
}
#project .project-button:hover span,
#project .project-button:hover small{
  color:#121721 !important;
}

/* Keep the COMPANY image visually centered against the longer table */
#company .company-layout{
  align-items:center !important;
}
#company .company-building-photo{
  align-self:center !important;
}

/* Slight visual continuity across the opening activity sections */
#news,
#project,
#photo-gallery{
  position:relative;
}
#news + #project,
#project + #photo-gallery{
  border-top:1px solid rgba(255,255,255,.06);
}


/* PROJECTS three-case implementation */
.projects-hero{position:relative;min-height:68vh;display:grid;place-items:center;text-align:center;padding:130px 7vw 90px;overflow:hidden}.projects-hero-bg,.projects-hero-shade{position:absolute;inset:0}.projects-hero-bg img{width:100%;height:100%;object-fit:cover}.projects-hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.62),rgba(0,0,0,.78));z-index:1}.projects-hero-content{position:relative;z-index:2;max-width:980px}.projects-hero-content h1{font-size:clamp(48px,7vw,96px);margin:0 0 28px}.projects-hero-content p{font-size:18px;line-height:2;color:#e6e9ee}.projects-archive{padding:12vh 7vw 14vh;background:#060708}.projects-archive-head{max-width:900px;margin-bottom:54px}.projects-archive-head h2{margin-bottom:18px}.projects-archive-head>p:last-child{color:#b9c0ca;line-height:1.9}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.projects-card{display:block;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.15);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.projects-card:hover{transform:translateY(-8px);border-color:rgba(241,90,36,.7);box-shadow:0 28px 70px rgba(0,0,0,.35)}.projects-card-image{height:360px;position:relative;overflow:hidden}.projects-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}.projects-card:hover .projects-card-image img{transform:scale(1.045)}.project-status{display:inline-flex;align-items:center;width:max-content;padding:9px 14px;border-radius:999px;font-size:11px;letter-spacing:.14em;font-weight:800;color:#fff;background:rgba(241,90,36,.9)}.projects-card-image .project-status{position:absolute;left:22px;top:22px;z-index:2;backdrop-filter:blur(8px)}.project-status.operation{background:rgba(31,145,91,.94)}.project-status.testing{background:rgba(38,105,181,.94)}.project-status.development{background:rgba(241,90,36,.94)}.projects-card-body{padding:30px}.projects-card-area{margin:0 0 12px;color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.18em}.projects-card h2{font-size:clamp(25px,2.4vw,38px);margin:0 0 16px;line-height:1.35}.projects-card-body>p:not(.projects-card-area){color:#c6ccd5;line-height:1.9}.projects-card-meta{margin-top:28px;padding:20px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px}.projects-card-meta span{color:#9098a4}.projects-card-link{margin-top:24px;color:var(--orange);font-size:12px;letter-spacing:.18em;font-weight:800;display:flex;justify-content:space-between}.projects-card-link b{font-size:22px;font-weight:400}
.project-detail-page{background:#060708}.project-detail-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;padding:150px 7vw 10vh;overflow:hidden}.project-detail-hero-img,.project-detail-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-detail-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.24) 70%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 55%);z-index:1}.project-detail-hero-content{position:relative;z-index:2;max-width:980px}.project-breadcrumb{display:block;margin-bottom:28px;color:#d5dae1;text-decoration:none;font-size:12px;letter-spacing:.14em}.project-detail-hero-content .project-status{margin-bottom:22px}.project-detail-hero h1{font-size:clamp(42px,7vw,94px);max-width:1050px;margin:0 0 24px}.project-detail-hero-content>p{font-size:19px;line-height:1.9;color:#e1e5eb}.project-detail-overview{padding:12vh 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:start}.project-overview-copy>p:last-child{font-size:18px;line-height:2.1;color:#cbd1d9}.project-info{margin:0;border-top:1px solid rgba(255,255,255,.18)}.project-info div{display:grid;grid-template-columns:140px 1fr;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.18)}.project-info dt{color:#8f98a4}.project-info dd{margin:0;font-weight:700}.project-gallery-section{padding:4vh 7vw 14vh}.project-gallery-head{max-width:900px;margin-bottom:46px}.project-gallery-head>p:last-child{color:#aeb5c0}.project-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-gallery-item,.project-gallery-video{border:0;padding:0;background:#0d0f12;color:#fff;text-align:left;overflow:hidden}.project-gallery-item{cursor:pointer}.project-gallery-item img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .45s ease,filter .45s ease}.project-gallery-item:hover img{transform:scale(1.04);filter:brightness(1.08)}.project-gallery-item span,.project-gallery-video span{display:block;padding:15px 16px;color:#cfd4dc;font-size:13px}.project-gallery-video-frame{width:100%;height:clamp(240px,22vw,340px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000}.project-gallery-video-frame video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#000}.project-detail-back{padding:0 7vw 12vh}.project-detail-back a{display:inline-block;border:1px solid rgba(255,255,255,.35);padding:16px 24px;color:#fff;text-decoration:none;letter-spacing:.1em;font-size:12px}.project-lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:70px 90px}.project-lightbox.is-open{display:flex}.project-lightbox figure{margin:0;max-width:min(1200px,88vw);max-height:86vh}.project-lightbox figure img{max-height:78vh;max-width:100%;width:auto;margin:auto}.project-lightbox figcaption{text-align:center;color:#d7dbe1;margin-top:14px}.project-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.project-lightbox-close{right:28px;top:22px;width:48px;height:48px;font-size:30px}.project-lightbox-prev,.project-lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:72px;font-size:42px}.project-lightbox-prev{left:24px}.project-lightbox-next{right:24px}
@media(max-width:900px){.projects-hero{min-height:56vh;padding:120px 24px 70px}.projects-hero-content p{font-size:15px}.projects-archive{padding:10vh 24px}.projects-grid{grid-template-columns:1fr}.projects-card-image{height:260px}.projects-card-body{padding:24px}.project-detail-hero{min-height:68vh;padding:120px 24px 64px}.project-detail-overview{grid-template-columns:1fr;padding:10vh 24px;gap:50px}.project-info div{grid-template-columns:110px 1fr}.project-gallery-section{padding:2vh 24px 10vh}.project-gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.project-gallery-item span,.project-gallery-video span{padding:11px;font-size:12px}.project-gallery-video-frame{height:clamp(220px,34vw,300px)}.project-detail-back{padding:0 24px 10vh}.project-lightbox{padding:65px 18px}.project-lightbox-prev,.project-lightbox-next{width:42px;height:58px;font-size:34px;background:rgba(0,0,0,.42)}.project-lightbox-prev{left:5px}.project-lightbox-next{right:5px}}
@media(max-width:560px){.project-gallery-grid{grid-template-columns:1fr}.project-gallery-video-frame{height:clamp(220px,68vw,360px)}.project-detail-hero h1{font-size:38px}.project-info div{grid-template-columns:1fr;gap:8px}}

/* PHOTO GALLERY - storage site */
.storage-gallery-page{padding-bottom:90px}
.storage-gallery-section{position:relative;z-index:1}
.storage-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.storage-gallery-item{border:1px solid rgba(255,255,255,.13);background:#0d0f12}
.storage-gallery-item-wide{grid-column:1/-1}
.storage-gallery-item img{aspect-ratio:16/10}
.storage-gallery-item-wide img{aspect-ratio:21/9}
.storage-gallery-item span{display:flex;flex-direction:column;gap:6px;padding:18px 20px}
.storage-gallery-item span b{font-size:15px;color:#fff;line-height:1.5}
.storage-gallery-item span small{font-size:12px;color:#9fa7b2;letter-spacing:.04em}
.storage-gallery-note{margin:22px 0 0;color:#8e97a3;font-size:12px;letter-spacing:.08em}
.coming-badge.is-open{border-color:rgba(241,90,36,.8);color:var(--orange)}
@media(max-width:900px){
  .storage-gallery-grid{grid-template-columns:1fr;gap:14px}
  .storage-gallery-item-wide{grid-column:auto}
  .storage-gallery-item-wide img,.storage-gallery-item img{aspect-ratio:4/3}
  .storage-gallery-item span{padding:15px 16px}
}

/* Photo gallery albums */
.gallery-page{padding-bottom:90px}.gallery-albums{display:flex;flex-direction:column;gap:72px}.gallery-album{border-top:1px solid rgba(255,255,255,.14);padding-top:28px}.gallery-album-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.gallery-album-head p{margin:0;color:#e67817;font-size:12px;letter-spacing:.14em;font-weight:700}.gallery-album-head h2{margin:0;font-size:clamp(24px,3vw,38px)}.gallery-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.album-item{border:1px solid rgba(255,255,255,.12);background:#0d0f12}.album-item img{aspect-ratio:4/3}.album-item span{padding:14px 16px}.album-item span b{font-size:13px;color:#fff}.album-video{margin:0;background:#0d0f12;border:1px solid rgba(255,255,255,.12);overflow:hidden}.album-video-frame{width:100%;height:clamp(240px,42vw,420px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000}.album-video-frame video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#000}.album-video span{display:block;padding:14px 16px}.album-video span b{font-size:13px}.gallery-note{margin-top:32px}@media(max-width:900px){.gallery-albums{gap:52px}.gallery-album-head{display:block}.gallery-album-head h2{margin-top:8px}.gallery-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.album-item span,.album-video span{padding:11px 12px}.album-video-frame{height:clamp(220px,52vw,380px)}}@media(max-width:560px){.gallery-album-grid{grid-template-columns:1fr}.album-item img{aspect-ratio:4/3}.album-video-frame{height:clamp(220px,68vw,360px)}}


/* Photo gallery index cards: match the HOME photo cards */
.gallery-index-grid{gap:18px}
.gallery-index-card{padding:0;background:#111;min-height:430px;display:block;position:relative;overflow:hidden}
.gallery-index-card:before{display:none}
.gallery-index-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58) contrast(1.08) saturate(1.05);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .8s ease}
.gallery-index-card:hover>img{transform:scale(1.06);filter:brightness(.48) contrast(1.12) saturate(1.08)}
.gallery-index-overlay{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:38px;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.28) 42%,rgba(0,0,0,.88))}
.gallery-index-overlay p{max-width:360px;color:#eef3f8;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.gallery-index-card:hover .coming-badge{border-color:var(--orange);background:rgba(241,90,36,.12)}
@media(max-width:900px){.gallery-index-card{min-height:420px}.gallery-index-overlay{padding:30px}}

/* PROJECT LOG: data-driven updates */
.project-log-title-link{color:inherit;text-decoration:none;transition:color .25s ease}
.project-log-title-link:hover{color:#f47c20}
.project-log-readmore{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.1rem;color:#f47c20;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-decoration:none}
.project-log-readmore span{transition:transform .25s ease}
.project-log-readmore:hover span{transform:translateX(5px)}
.project-log-empty{padding:2rem 0;color:rgba(255,255,255,.65)}
.project-log-detail-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;padding:150px 7vw 70px}
.project-log-detail-section{padding:90px 7vw 120px}
.project-log-detail-card{max-width:920px;margin:0 auto;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.14);padding:52px 0 64px}
.project-log-detail-meta{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.project-log-detail-meta time{font-size:.95rem;letter-spacing:.12em;color:rgba(255,255,255,.7)}
.project-log-detail-meta span{border:1px solid rgba(244,124,32,.65);color:#f47c20;padding:7px 12px;font-size:.67rem;font-weight:700;letter-spacing:.14em}
.project-log-detail-card h1{max-width:820px;margin:0 0 42px;font-size:clamp(2rem,4vw,4rem);line-height:1.35;color:#fff}
.project-log-detail-body{max-width:760px}
.project-log-detail-body p{margin:0 0 1.5em;color:rgba(255,255,255,.78);font-size:1.02rem;line-height:2}
@media(max-width:700px){
  .project-log-detail-hero{min-height:330px;padding:125px 6vw 48px}
  .project-log-detail-section{padding:58px 6vw 85px}
  .project-log-detail-card{padding:38px 0 48px}
  .project-log-detail-meta{align-items:flex-start;flex-direction:column;gap:10px}
  .project-log-detail-card h1{font-size:1.75rem;margin-bottom:30px}
}

/* PROJECT LOG optional image: no element or blank space is rendered when no image is set */
.project-log-detail-image{max-width:920px;margin:0 0 42px;padding:0}
.project-log-detail-image img{display:block;width:100%;max-height:620px;object-fit:contain;background:#0b0c0e;border:1px solid rgba(255,255,255,.10)}
.project-log-detail-video-frame{width:100%;height:clamp(360px,72vh,760px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#050607;border:1px solid rgba(255,255,255,.10)}
.project-log-detail-video-frame video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#050607}
@media(max-width:900px){.project-log-detail-image{margin-bottom:30px}.project-log-detail-image img{max-height:none}.project-log-detail-video-frame{height:clamp(260px,62vh,620px)}}

/* PROJECTS page navigation links */
.projects-page-links{max-width:1200px;margin:0 auto;padding:0 5vw 72px;}
.project-detail-links{max-width:1200px;margin:0 auto;padding:8px 5vw 72px;}
.project-detail-links .back-link,.projects-page-links .back-link{margin-top:0;}
@media (max-width:700px){
  .projects-page-links,.project-detail-links{padding-left:24px;padding-right:24px;padding-bottom:48px;}
  .project-detail-links{gap:12px;}
  .project-detail-links .back-link,.projects-page-links .back-link{padding:14px 18px;font-size:11px;}
}

/* PROJECT LOG return buttons: shared pill style */
.project-log-page-links,.project-log-detail-links{margin-top:42px;}
.project-log-page-links .back-link,.project-log-detail-links .back-link{margin-top:0;}
@media(max-width:560px){
  .project-log-page-links,.project-log-detail-links{gap:12px;}
  .project-log-page-links .back-link,.project-log-detail-links .back-link{padding:14px 18px;font-size:11px;}
}


/* SDGS PARTNER FOOTER — two-tier shared design */
.footer{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:28px 40px;
  padding:44px 48px 34px;
  background:#030405;
  border-top:1px solid rgba(255,255,255,.08);
  color:#8f96a1;
  font-size:12px;
}
.footer > img{
  grid-column:1;
  grid-row:2;
  width:120px;
  margin:0;
}
.footer > p{
  grid-column:2;
  grid-row:2;
  justify-self:end;
  margin:0;
  color:#8f96a1;
  font-size:12px;
  letter-spacing:.02em;
  text-align:right;
}
.footer-certification{
  grid-column:1 / -1;
  grid-row:1;
  width:min(100%,980px);
  margin:0 auto;
  padding:30px 34px;
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  grid-template-areas:
    "eyebrow eyebrow"
    "badge title"
    "badge copy";
  column-gap:30px;
  row-gap:6px;
  align-items:center;
  text-align:left;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
  background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(244,123,32,.035),rgba(255,255,255,.018));
}
.footer-certification-eyebrow{
  grid-area:eyebrow;
  margin:0 0 12px!important;
  color:#f47b20!important;
  font-size:11px!important;
  font-weight:800;
  letter-spacing:.24em;
  text-align:center;
}
.footer-certification img{
  grid-area:badge;
  display:block;
  width:132px;
  max-width:100%;
  height:auto;
  margin:0;
  border-radius:4px;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.footer-certification-title{
  grid-area:title;
  align-self:end;
  margin:0!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:700;
  line-height:1.55;
  letter-spacing:.02em;
}
.footer-certification-copy{
  grid-area:copy;
  align-self:start;
  max-width:650px;
  margin:0!important;
  color:rgba(255,255,255,.64)!important;
  font-size:13px!important;
  line-height:1.85;
}
@media(max-width:900px){
  .footer{
    grid-template-columns:1fr;
    gap:24px;
    padding:36px 24px 30px;
    text-align:center;
  }
  .footer-certification{
    grid-column:1;
    grid-row:1;
    grid-template-columns:1fr;
    grid-template-areas:"eyebrow" "badge" "title" "copy";
    justify-items:center;
    padding:28px 20px 26px;
    text-align:center;
  }
  .footer-certification-eyebrow{margin-bottom:10px!important}
  .footer-certification img{width:116px;margin:0 0 10px}
  .footer-certification-title{font-size:14px!important}
  .footer-certification-copy{font-size:12px!important;line-height:1.75;max-width:520px}
  .footer > img{
    grid-column:1;
    grid-row:2;
    width:108px;
    margin:0 auto;
  }
  .footer > p{
    grid-column:1;
    grid-row:3;
    justify-self:center;
    text-align:center;
    font-size:11px;
    line-height:1.7;
  }
}


/* Related sites: common footer navigation */
.footer-related-sites{
  grid-column:1 / -1;
  grid-row:2;
  width:min(100%,980px);
  margin:0 auto;
  padding:25px 34px 27px;
  border-bottom:1px solid rgba(255,255,255,.14);
  text-align:center;
}
.footer-related-eyebrow{
  margin:0 0 15px!important;
  color:#f47b20!important;
  font-size:11px!important;
  font-weight:800;
  letter-spacing:.24em;
}
.footer-related-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 12px;
}
.footer-related-links a{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-width:310px;
  padding:13px 16px;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease;
}
.footer-related-links a:hover,
.footer-related-links a:focus-visible{
  color:#fff;
  border-color:rgba(244,123,32,.8);
  background:rgba(244,123,32,.08);
  transform:translateY(-2px);
  outline:none;
}
.footer-related-name{
  font-size:13px;
  line-height:1.55;
  text-align:left;
}
.footer-related-arrow{
  flex:0 0 auto;
  color:#f47b20;
  font-size:15px;
}
/* Move company row below RELATED SITES */
.footer > img{grid-row:3}
.footer > p{grid-row:3}
@media(max-width:900px){
  .footer-related-sites{
    grid-column:1;
    grid-row:2;
    padding:24px 0 26px;
  }
  .footer-related-links{
    display:grid;
    grid-template-columns:1fr;
    width:min(100%,520px);
    margin:0 auto;
  }
  .footer-related-links a{
    min-width:0;
    width:100%;
    box-sizing:border-box;
  }
  .footer > img{grid-row:3}
  .footer > p{grid-row:4}
}

/* ABOUT detail page: keeps existing section styles unchanged; only adds page-end spacing. */
.about-detail-page{padding-top:72px;}
.about-page-back{background:#f4f1eb;padding:0 7vw 12vh;}
.about-page-back .project-button{margin-top:0;}
@media(max-width:900px){.about-detail-page{padding-top:58px}.about-page-back{padding:0 24px 9vh}}

/* 2026-08-24 alternating black / white section palette */
/* Color-only overrides. Layout, spacing, sizing and content are unchanged. */

/* HOME: STATEMENT dark -> PROJECT LOG light -> PROJECTS dark -> PHOTO GALLERY light -> ABOUT dark -> MESSAGE light -> COMPANY dark */
.home-page #news{
  background:#f4f1eb !important;
  color:var(--darktext) !important;
}
.home-page #news .section-head h2,
.home-page #news .project-log-content h3{
  color:var(--darktext) !important;
}
.home-page #news .section-lead,
.home-page #news .project-log-tagline,
.home-page #news .project-log-content p:last-child,
.home-page #news .project-log-link small,
.home-page #news .project-log-empty{
  color:#47505b !important;
}
.home-page #news .project-log-date{color:#626b76 !important;}
.home-page #news .project-log-timeline:before{
  background:linear-gradient(var(--orange),rgba(0,0,0,.13)) !important;
}
.home-page #news .project-log-marker{
  background:#f4f1eb !important;
  border-color:rgba(0,0,0,.28) !important;
  box-shadow:0 0 0 7px #f4f1eb !important;
}
.home-page #news .project-log-entry.is-first .project-log-marker{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  box-shadow:0 0 0 7px #f4f1eb,0 0 24px rgba(241,90,36,.35) !important;
}
.home-page #news .project-log-content{border-top-color:rgba(0,0,0,.16) !important;}

.home-page #photo-gallery{
  background:#f4f1eb !important;
  color:var(--darktext) !important;
}
.home-page #photo-gallery .marquee{
  -webkit-text-stroke-color:rgba(0,0,0,.14) !important;
}
.home-page #photo-gallery .photo-gallery-head h2{color:var(--darktext) !important;text-shadow:none !important;}
.home-page #photo-gallery .photo-gallery-head p:not(.eyebrow){color:#47505b !important;}

.home-page #about{
  background:#060708 !important;
  color:#fff !important;
}
.home-page #about .split-text h2{color:#fff !important;}
.home-page #about .split-text p{color:#c7ccd4 !important;}
.home-page #about .project-button{
  border-color:rgba(255,255,255,.48) !important;
  color:#fff !important;
}
.home-page #about .project-button:hover{
  background:#fff !important;
  color:#121721 !important;
}

.home-page #message{
  background:#f4f1eb !important;
  color:var(--darktext) !important;
}
.home-page #message .message-text h2{color:var(--darktext) !important;}
.home-page #message .message-text p,
.home-page #message .signature{color:#47505b !important;}

.home-page #company{
  background:#060708 !important;
  color:#fff !important;
}
.home-page #company .section-head h2{color:#fff !important;}
.home-page #company .company-table{border-top-color:rgba(255,255,255,.18) !important;}
.home-page #company .company-table dt,
.home-page #company .company-table dd{border-bottom-color:rgba(255,255,255,.18) !important;}
.home-page #company .company-table dd,
.home-page #company .company-contact-copy p,
.home-page #company .company-contact-copy a{color:#c7ccd4 !important;}
.home-page #company .company-contact-copy a:hover{color:var(--orange) !important;}

/* ABOUT PAGE: ABOUT light -> SERVICE dark -> STRENGTH light -> LAND OWNER dark -> PROJECT FLOW light -> FAQ dark */
.about-page #faq{
  background:#060708 !important;
  color:#fff !important;
}
.about-page #faq .section-head h2{color:#fff !important;}
.about-page #faq .faq-list{border-top-color:rgba(255,255,255,.16) !important;}
.about-page #faq .faq-item{
  color:#fff !important;
  border-bottom-color:rgba(255,255,255,.16) !important;
}
.about-page #faq .faq-item p{color:#c7ccd4 !important;}
.about-page .about-page-back{background:#060708 !important;}
.about-page .about-page-back .project-button{
  border-color:rgba(255,255,255,.48) !important;
  color:#fff !important;
}
.about-page .about-page-back .project-button:hover{
  background:#fff !important;
  color:#121721 !important;
}

/* Section boundary colors follow the alternating backgrounds. */
.home-page #news + #project{border-top-color:rgba(0,0,0,.08) !important;}
.home-page #project + #photo-gallery{border-top-color:rgba(255,255,255,.08) !important;}


/* 2026-08-24 HOME company QR readability on dark background */
.home-page #company .company-qr-link{
  width:110px !important;
  height:110px !important;
  flex:0 0 auto !important;
  padding:11px !important;
  box-sizing:content-box !important;
  background:#fff !important;
  border-radius:10px !important;
  box-shadow:0 8px 22px rgba(0,0,0,.20) !important;
}
.home-page #company .company-qr{
  width:110px !important;
  height:110px !important;
  max-width:110px !important;
  display:block !important;
}
@media(max-width:900px){
  .home-page #company .company-qr-link{
    width:96px !important;
    height:96px !important;
    padding:9px !important;
  }
  .home-page #company .company-qr{
    width:96px !important;
    height:96px !important;
    max-width:96px !important;
  }
}


/* =========================================================
   2026-08-24 unified motion system
   Display-only enhancement. CMS data structures are unchanged.
   ========================================================= */

/* Restore and standardize scroll reveals across HOME / ABOUT. */
.reveal.motion-ready{
  opacity:0;
  transform:translate3d(0,38px,0);
  transition-property:opacity,transform;
  transition-duration:.9s,1s;
  transition-timing-function:ease,cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform;
}
.reveal.motion-ready.motion-left{transform:translate3d(-46px,0,0)}
.reveal.motion-ready.motion-right{transform:translate3d(46px,0,0)}
.reveal.motion-ready.motion-up{transform:translate3d(0,38px,0)}
.reveal.motion-ready.show{
  opacity:1;
  transform:translate3d(0,0,0);
  will-change:auto;
}

/* PROJECT LOG: individual entries appear in 0.1-second succession. */
.project-log-entry.reveal.motion-ready{
  transition-duration:.76s,.92s;
}

/* PROJECTS: card rises while the image settles from a very small zoom. */
.projects-card.reveal.motion-ready .projects-card-image img{
  transform:scale(1.028);
  transition:transform 1.15s cubic-bezier(.22,1,.36,1);
}
.projects-card.reveal.motion-ready.show .projects-card-image img{transform:scale(1)}
.projects-card.reveal.motion-ready.show:hover .projects-card-image img{transform:scale(1.045)}

/* HOME project key visual gets the same restrained image movement. */
.home-page #project .project-visual{overflow:hidden}
.home-page #project .project-visual.reveal.motion-ready img{
  transform:scale(1.025);
  transition:transform 1.35s cubic-bezier(.22,1,.36,1);
}
.home-page #project .project-visual.reveal.motion-ready.show img{transform:scale(1)}

/* ABOUT: copy rises first; the photo follows and gently settles. */
#about .split-image{overflow:hidden}
#about .split-image.reveal.motion-ready img{
  transform:scale(1.032);
  transition:transform 1.35s cubic-bezier(.22,1,.36,1);
}
#about .split-image.reveal.motion-ready.show img{transform:scale(1)}

/* PHOTO GALLERY marquee is now a transition between PROJECTS (black) and GALLERY (white). */
.section-transition-marquee{
  position:relative;
  z-index:3;
  overflow:hidden;
  padding:24px 0 28px;
  background:linear-gradient(to bottom,#060708 0%,#060708 50%,#f4f1eb 50%,#f4f1eb 100%);
}
.section-transition-marquee .marquee{
  margin:0;
  padding:0;
  font-size:clamp(58px,8vw,118px);
  line-height:.88;
  color:transparent;
  -webkit-text-stroke:1px rgba(241,90,36,.58);
  opacity:.86;
}
.section-transition-marquee .marquee span{animation-duration:25s}
.home-page #photo-gallery{padding-top:10vh}

/* Give HOME photo cards a tiny settle-in zoom while keeping their existing hover effect. */
.home-page .photo-card.reveal.motion-ready img{transform:scale(1.025)}
.home-page .photo-card.reveal.motion-ready.show img{transform:scale(1)}
.home-page .photo-card.reveal.motion-ready.show:hover img{transform:scale(1.06)}

/* Motion should never reduce accessibility or usability. */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal,
  .reveal.motion-ready,
  .reveal.motion-ready.motion-left,
  .reveal.motion-ready.motion-right,
  .reveal.motion-ready.motion-up{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .projects-card .projects-card-image img,
  .home-page #project .project-visual img,
  #about .split-image img,
  .home-page .photo-card img{
    transform:none!important;
    transition:none!important;
  }
  .marquee span{animation:none!important}
}

@media(max-width:900px){
  .reveal.motion-ready.motion-left{transform:translate3d(-28px,0,0)}
  .reveal.motion-ready.motion-right{transform:translate3d(28px,0,0)}
  .reveal.motion-ready.motion-up{transform:translate3d(0,28px,0)}
  .reveal.motion-ready.show{transform:translate3d(0,0,0)}
  .section-transition-marquee{padding:18px 0 20px}
  .section-transition-marquee .marquee{font-size:clamp(44px,14vw,78px)}
  .home-page #photo-gallery{padding-top:9vh}
}


/* =========================================================
   2026-08-24 PHOTO REEL + ABOUT MARQUEE
   Only the newly approved visual-motion areas are affected.
   ========================================================= */
.home-page #photo-gallery{padding-top:12vh}
.photo-reel{
  position:relative;
  width:calc(100% + 7vw);
  margin:0 -3.5vw 72px;
  overflow:hidden;
  border-top:1px solid rgba(0,0,0,.12);
  border-bottom:1px solid rgba(0,0,0,.12);
  background:#ebe7df;
}
.photo-reel:before,.photo-reel:after{
  content:"";position:absolute;top:0;bottom:0;width:7vw;z-index:2;pointer-events:none;
}
.photo-reel:before{left:0;background:linear-gradient(90deg,#f4f1eb,rgba(244,241,235,0))}
.photo-reel:after{right:0;background:linear-gradient(270deg,#f4f1eb,rgba(244,241,235,0))}
.photo-reel-track{display:flex;align-items:center;gap:12px;width:max-content;padding:12px 6px;will-change:transform;transform:translate3d(0,0,0)}
.photo-reel img{width:clamp(260px,25vw,430px);height:clamp(170px,16vw,270px);object-fit:cover;flex:none}
.photo-reel-track img{backface-visibility:hidden;-webkit-backface-visibility:hidden}

/* The moving copy belongs entirely to ABOUT's black background. */
.home-page #about .about-marquee{
  grid-column:1/-1;
  width:calc(100% + 14vw);
  margin:-5vh -7vw 4vh;
  overflow:hidden;
}
.home-page #about .about-marquee .marquee{
  margin:0;
  padding:12px 0;
  font-size:clamp(58px,7.6vw,112px);
  line-height:.92;
  color:transparent;
  -webkit-text-stroke:1px rgba(241,90,36,.58);
  opacity:.86;
}
.home-page #about .about-marquee .marquee span{animation-duration:28s}

@media (prefers-reduced-motion:reduce){
}
@media(max-width:900px){
  .photo-reel{width:calc(100% + 48px);margin-left:-24px;margin-right:-24px;margin-bottom:48px}
  .photo-reel-track{gap:8px;padding:8px 4px}
  .photo-reel img{width:70vw;max-width:340px;height:44vw;max-height:212px}
  .home-page #about .about-marquee{width:calc(100% + 48px);margin:-3vh -24px 3vh}
  .home-page #about .about-marquee .marquee{font-size:clamp(44px,14vw,76px)}
}

/* Custom CMS pages */
.custom-page-main{padding-top:92px}.custom-page-hero{padding:82px 7vw 64px}.custom-page-hero h1{font-size:clamp(38px,6vw,86px);line-height:1.03;margin:8px 0 18px}.custom-page-hero p{max-width:850px;line-height:1.9}.custom-block{padding:72px 7vw}.custom-block-inner{max-width:1180px;margin:auto}.custom-block.section-dark{background:#111;color:#fff}.custom-block.section-light{background:#fff;color:#151515}.custom-block h2{font-size:clamp(30px,4vw,56px);line-height:1.12;margin:0 0 24px}.custom-block p{font-size:16px;line-height:2;white-space:pre-line}.custom-block img{display:block;width:100%;max-height:720px;object-fit:cover}.custom-image-text{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.custom-image-text.reverse{grid-template-columns:.95fr 1.05fr}.custom-image-text.reverse .custom-image-wrap{order:2}.custom-page-button{display:inline-flex;align-items:center;gap:18px;margin-top:22px;padding:15px 24px;border:1px solid currentColor;text-decoration:none;color:inherit;font-weight:800}.custom-page-button:hover{border-color:#f15a24;color:#f15a24}.custom-marquee{overflow:hidden;padding:28px 0}.custom-marquee-track{display:flex;width:max-content;animation:customMarquee 26s linear infinite}.custom-marquee-track span{font-size:clamp(34px,6vw,82px);font-weight:900;white-space:nowrap;padding-right:36px}@keyframes customMarquee{to{transform:translateX(-50%)}}.custom-spacer{height:70px}@media(max-width:760px){.custom-page-main{padding-top:76px}.custom-page-hero,.custom-block{padding:52px 22px}.custom-image-text,.custom-image-text.reverse{grid-template-columns:1fr;gap:24px}.custom-image-text.reverse .custom-image-wrap{order:0}.custom-spacer{height:38px}}@media(prefers-reduced-motion:reduce){.custom-marquee-track{animation:none}}

/* Visual page builder blocks - custom pages only */
.custom-section-lead{max-width:820px;margin:0 0 34px}.custom-image-placeholder{display:grid;place-items:center;min-height:260px;background:repeating-linear-gradient(135deg,#202020,#202020 12px,#272727 12px,#272727 24px);color:#888;font-weight:900;letter-spacing:.18em}.section-light .custom-image-placeholder{background:repeating-linear-gradient(135deg,#eeeeee,#eeeeee 12px,#e5e5e5 12px,#e5e5e5 24px);color:#999}.custom-gallery-grid{display:grid;gap:18px;margin-top:34px}.custom-gallery-2{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-gallery-grid figure{margin:0;min-width:0}.custom-gallery-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.custom-gallery-grid figcaption{margin-top:10px;font-size:13px;line-height:1.6;opacity:.72}.custom-info-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px}.custom-info-card{border:1px solid currentColor;min-width:0;overflow:hidden}.section-dark .custom-info-card{border-color:#3a3a3a;background:#151515}.section-light .custom-info-card{border-color:#dedede;background:#fff}.custom-info-card-image{overflow:hidden;aspect-ratio:4/3}.custom-info-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.25,1)}.custom-info-card:hover .custom-info-card-image img{transform:scale(1.025)}.custom-info-card-copy{padding:24px}.custom-info-card-copy>span{display:block;color:#f15a24;font-size:12px;font-weight:900;letter-spacing:.14em;margin-bottom:18px}.custom-info-card-copy h3{font-size:clamp(21px,2vw,30px);line-height:1.25;margin:0 0 14px}.custom-info-card-copy p{font-size:14px;line-height:1.85;margin:0}.custom-info-card .custom-page-button{font-size:12px;padding:11px 16px;margin-top:18px}.custom-cta{max-width:920px}.custom-spacer-small{height:34px}.custom-spacer-medium{height:70px}.custom-spacer-large{height:120px}.custom-page .footer{margin-top:0}@media(max-width:900px){.custom-gallery-3,.custom-info-card-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.custom-gallery-2,.custom-gallery-3,.custom-info-card-grid{grid-template-columns:1fr}.custom-gallery-grid{gap:14px;margin-top:24px}.custom-info-card-grid{gap:14px;margin-top:26px}.custom-info-card-copy{padding:20px}.custom-spacer-small{height:22px}.custom-spacer-medium{height:38px}.custom-spacer-large{height:70px}}

/* ===== MENU + / secondary navigation ===== */
.header.has-more-menu{gap:18px}
.header.has-more-menu .menu{display:none!important}
.more-menu-trigger{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(6,7,8,.18);
  color:#fff;
  font:800 11px/1 Arial,sans-serif;
  letter-spacing:.16em;
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.more-menu-trigger:hover{background:#fff;color:#08090a;border-color:#fff;transform:translateY(-1px)}
.more-menu-shell{
  position:fixed;
  inset:0;
  z-index:2147483400;
  pointer-events:none;
  visibility:hidden;
}
.more-menu-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(0,0,0,.52);
  opacity:0;
  transition:opacity .38s ease;
  cursor:default;
}
.more-menu-panel{
  position:absolute;
  top:0;
  right:0;
  width:min(620px,46vw);
  height:100vh;
  height:100dvh;
  background:#050607;
  color:#fff;
  border-left:1px solid rgba(255,255,255,.09);
  transform:translateX(100%);
  transition:transform .48s cubic-bezier(.22,1,.36,1);
  display:flex;
  flex-direction:column;
  box-shadow:-24px 0 80px rgba(0,0,0,.28);
}
.more-menu-head{
  min-height:88px;
  padding:22px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.more-menu-head p,.more-menu-group-label{
  margin:0;
  color:#8d949d;
  font:700 10px/1.4 Arial,sans-serif;
  letter-spacing:.24em;
}
.more-menu-close{
  border:0;
  padding:10px 0 10px 18px;
  background:none;
  color:#fff;
  font:800 11px/1 Arial,sans-serif;
  letter-spacing:.16em;
  cursor:pointer;
}
.more-menu-scroll{overflow:auto;padding:52px 30px 42px;-webkit-overflow-scrolling:touch}
.more-menu-primary-mobile{display:none}
.more-menu-secondary{min-width:0}
.more-menu-list,.more-menu-primary-list{display:block}
.more-menu-group-label{margin-bottom:18px;color:var(--orange)}
.more-menu-link{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  min-height:86px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  opacity:0;
  transform:translateY(22px);
}
.more-menu-link:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.more-menu-link span{color:var(--orange);font:800 11px/1 Arial,sans-serif;letter-spacing:.16em}
.more-menu-link b{min-width:0;font:800 clamp(22px,2.3vw,38px)/1.12 Arial,sans-serif;letter-spacing:-.035em;word-break:keep-all}
.more-menu-link i{font-style:normal;font-size:25px;color:#777;transition:transform .25s ease,color .25s ease}
.more-menu-link:hover i{transform:translateX(7px);color:var(--orange)}
body.more-menu-open{overflow:hidden!important}
body.more-menu-open .more-menu-shell{visibility:visible;pointer-events:auto}
body.more-menu-open .more-menu-backdrop{opacity:1}
body.more-menu-open .more-menu-panel{transform:none}
body.more-menu-open .more-menu-link{animation:moreMenuRise .56s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--menu-index,0) * .075s + .12s)}
@keyframes moreMenuRise{to{opacity:1;transform:none}}

@media(max-width:1180px) and (min-width:901px){
  .header.has-more-menu{gap:10px}
  .more-menu-trigger{padding:0 11px;font-size:10px;letter-spacing:.1em}
}
@media(max-width:900px){
  .header.has-more-menu{justify-content:space-between}
  .header.has-more-menu .nav{display:none!important}
  .more-menu-trigger{display:inline-flex;min-height:42px;padding:0 13px;position:relative;z-index:10002}
  .more-menu-panel{width:100%;border-left:0}
  .more-menu-head{min-height:78px;padding:18px 20px}
  .more-menu-scroll{padding:34px 22px 38px}
  .more-menu-primary-mobile{display:block;margin-bottom:42px}
  .more-menu-link{grid-template-columns:42px minmax(0,1fr) auto;min-height:68px;gap:12px}
  .more-menu-link b{font-size:clamp(20px,6vw,30px)}
  .more-menu-primary-link b{font-size:17px;letter-spacing:.05em}
}
@media(prefers-reduced-motion:reduce){
  .more-menu-panel,.more-menu-backdrop,.more-menu-trigger{transition:none!important}
  body.more-menu-open .more-menu-link{animation:none!important;opacity:1;transform:none}
}


/* 2026-08-25 custom page extended design library - custom pages only */
.custom-image-cinematic .custom-block-inner{max-width:1380px}.custom-image-cinematic img{aspect-ratio:21/8;max-height:none}.custom-image-text-overlap{overflow:hidden}.custom-image-text-overlap .custom-image-text{gap:0}.custom-image-text-overlap .custom-image-wrap{position:relative;z-index:1;transform:translateX(-4vw);width:calc(100% + 4vw)}.custom-image-text-overlap .custom-image-text.reverse .custom-image-wrap{transform:translateX(4vw)}
.custom-quote-section blockquote{margin:0;max-width:1080px;font-size:clamp(34px,5.2vw,76px);line-height:1.2;font-weight:800;letter-spacing:-.025em}.custom-quote-section blockquote:before{content:'“';display:block;color:#f15a24;font-size:.72em;line-height:.7;margin-bottom:20px}.custom-quote-attribution{margin-top:32px!important;font-size:13px!important;font-weight:800;letter-spacing:.14em;opacity:.7}
.custom-spec-table{margin:38px 0 0;border-top:1px solid currentColor}.section-dark .custom-spec-table{border-color:#383838}.section-light .custom-spec-table{border-color:#d5d5d5}.custom-spec-row{display:grid;grid-template-columns:minmax(180px,.38fr) 1fr;border-bottom:1px solid currentColor}.section-dark .custom-spec-row{border-color:#383838}.section-light .custom-spec-row{border-color:#d5d5d5}.custom-spec-row dt,.custom-spec-row dd{margin:0;padding:18px 20px;line-height:1.7}.custom-spec-row dt{font-weight:900;color:#f15a24}.custom-spec-row dd{white-space:pre-line}
.custom-collection-wrap{margin-top:38px;min-width:0}.custom-collection-grid{display:grid;gap:18px}.custom-collection-item{position:relative;min-width:0;color:inherit;text-decoration:none;overflow:hidden;border:1px solid currentColor}.section-dark .custom-collection-item{border-color:#353535;background:#151515}.section-light .custom-collection-item{border-color:#ddd;background:#fff}.custom-collection-image{aspect-ratio:4/3;overflow:hidden;background:#222}.custom-collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.25,1)}a.custom-collection-item:hover .custom-collection-image img{transform:scale(1.03)}.custom-collection-copy{padding:22px}.custom-collection-meta{display:block;color:#f15a24;font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:10px}.custom-collection-copy h3{font-size:clamp(20px,2vw,30px);line-height:1.22;margin:0 0 10px}.custom-collection-copy p{font-size:14px;line-height:1.8;margin:0}.custom-collection-arrow{display:block;margin-top:18px;font-size:20px;color:#f15a24}.custom-collection-value{display:block;font-size:clamp(42px,5vw,76px);line-height:1;color:#f15a24;margin-bottom:16px;letter-spacing:-.04em}
.custom-collection-cards2 .custom-collection-grid{grid-template-columns:repeat(2,1fr)}.custom-collection-cards4 .custom-collection-grid,.custom-collection-photo4 .custom-collection-grid{grid-template-columns:repeat(4,1fr)}
.custom-collection-photo4 .custom-collection-item{border:0;background:transparent}.custom-collection-photo4 .custom-collection-copy{padding:12px 0}.custom-collection-photo4 .custom-collection-image{aspect-ratio:3/4}
.custom-collection-mosaic3 .custom-collection-grid{grid-template-columns:1.35fr 1fr;grid-template-rows:repeat(2,minmax(220px,1fr))}.custom-collection-mosaic3 .custom-collection-item:first-child{grid-row:1/3}.custom-collection-mosaic3 .custom-collection-image,.custom-collection-mosaic5 .custom-collection-image,.custom-collection-mosaicMenu .custom-collection-image{position:absolute;inset:0;aspect-ratio:auto}.custom-collection-mosaic3 .custom-collection-copy,.custom-collection-mosaic5 .custom-collection-copy,.custom-collection-mosaicMenu .custom-collection-copy{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.86));color:#fff;padding:70px 22px 22px;z-index:2}.custom-collection-mosaic3 .custom-collection-item,.custom-collection-mosaic5 .custom-collection-item,.custom-collection-mosaicMenu .custom-collection-item{min-height:220px;border:0}
.custom-collection-mosaic5 .custom-collection-grid{grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:repeat(2,minmax(210px,1fr))}.custom-collection-mosaic5 .custom-collection-item:first-child{grid-row:1/3}
.custom-collection-mosaicMenu .custom-collection-grid{grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:repeat(3,minmax(180px,1fr))}.custom-collection-mosaicMenu .custom-collection-item:first-child{grid-row:1/3}.custom-collection-mosaicMenu .custom-collection-item:nth-child(2){grid-column:2/4}.custom-collection-mosaicMenu .custom-collection-item:nth-child(5){grid-column:1/3}
.custom-collection-folder3 .custom-collection-grid{grid-template-columns:repeat(3,1fr)}.custom-collection-folder4 .custom-collection-grid{grid-template-columns:repeat(4,1fr)}.custom-collection-folder3 .custom-collection-item,.custom-collection-folder4 .custom-collection-item{border-radius:12px}.custom-collection-folder3 .custom-collection-item:before,.custom-collection-folder4 .custom-collection-item:before{content:'';position:absolute;top:-1px;left:20px;width:70px;height:11px;background:#f15a24;border-radius:6px 6px 0 0;z-index:3}.custom-collection-folder3 .custom-collection-image,.custom-collection-folder4 .custom-collection-image{aspect-ratio:16/10}
.custom-collection-folderFeature .custom-collection-grid{grid-template-columns:1.45fr 1fr;grid-template-rows:repeat(3,160px)}.custom-collection-folderFeature .custom-collection-item:first-child{grid-row:1/4}.custom-collection-folderFeature .custom-collection-item:not(:first-child){display:grid;grid-template-columns:42% 1fr}.custom-collection-folderFeature .custom-collection-item:not(:first-child) .custom-collection-image{aspect-ratio:auto;height:100%}.custom-collection-folderFeature .custom-collection-copy{padding:18px}
.custom-collection-folderStack .custom-collection-grid{grid-template-columns:repeat(4,1fr);gap:24px}.custom-collection-folderStack .custom-collection-item{overflow:visible;box-shadow:7px 7px 0 rgba(241,90,36,.24)}.custom-collection-folderStack .custom-collection-item:nth-child(even){transform:translateY(18px)}
.custom-collection-folderScroll .custom-collection-wrap{overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}.custom-collection-folderScroll .custom-collection-grid{display:flex;width:max-content}.custom-collection-folderScroll .custom-collection-item{width:min(340px,75vw);scroll-snap-align:start;border-radius:10px}
.custom-collection-people3 .custom-collection-grid{grid-template-columns:repeat(3,1fr)}.custom-collection-people3 .custom-collection-item{border:0;background:transparent}.custom-collection-people3 .custom-collection-image{aspect-ratio:4/5}.custom-collection-people3 .custom-collection-copy{padding:20px 0}.custom-collection-people3 .custom-collection-copy h3{font-size:30px}
.custom-collection-logos .custom-collection-grid{grid-template-columns:repeat(3,1fr)}.custom-collection-logos .custom-collection-item{display:grid;place-items:center;min-height:160px}.custom-collection-logos .custom-collection-image{width:70%;aspect-ratio:2/1;background:transparent}.custom-collection-logos .custom-collection-image img{object-fit:contain}.custom-collection-logos .custom-collection-copy{padding:8px 16px 20px;text-align:center}.custom-collection-logos .custom-collection-arrow{display:none}
.custom-collection-related .custom-collection-grid{grid-template-columns:repeat(3,1fr)}.custom-collection-related .custom-collection-item{padding:12px;border-top:3px solid #f15a24}.custom-collection-related .custom-collection-copy{padding:24px}.custom-collection-kpi3 .custom-collection-grid{grid-template-columns:repeat(3,1fr)}.custom-collection-kpi4 .custom-collection-grid{grid-template-columns:repeat(4,1fr)}.custom-collection-kpi3 .custom-collection-item,.custom-collection-kpi4 .custom-collection-item{border:0;background:transparent;border-left:1px solid currentColor}.custom-collection-kpi3 .custom-collection-copy,.custom-collection-kpi4 .custom-collection-copy{padding:10px 24px}
.custom-collection-steps3 .custom-collection-grid{grid-template-columns:repeat(3,1fr)}.custom-collection-steps4 .custom-collection-grid{grid-template-columns:repeat(4,1fr)}.custom-collection-steps5 .custom-collection-grid{grid-template-columns:repeat(5,1fr)}.custom-collection-steps3 .custom-collection-item,.custom-collection-steps4 .custom-collection-item,.custom-collection-steps5 .custom-collection-item{border:0;background:transparent;border-top:2px solid #f15a24;overflow:visible}.custom-collection-steps3 .custom-collection-item:before,.custom-collection-steps4 .custom-collection-item:before,.custom-collection-steps5 .custom-collection-item:before{content:counter(step,decimal-leading-zero);counter-increment:step;display:grid;place-items:center;width:42px;height:42px;margin-top:-23px;border-radius:50%;background:#f15a24;color:#fff;font-size:11px;font-weight:900}.custom-collection-steps3 .custom-collection-grid,.custom-collection-steps4 .custom-collection-grid,.custom-collection-steps5 .custom-collection-grid{counter-reset:step;margin-top:60px}
.custom-collection-timeline .custom-collection-grid{grid-template-columns:1fr;gap:0;max-width:900px;margin-left:auto}.custom-collection-timeline .custom-collection-item{border:0;border-left:2px solid #f15a24;background:transparent;overflow:visible}.custom-collection-timeline .custom-collection-item:before{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#f15a24;left:-7px;top:28px}.custom-collection-timeline .custom-collection-copy{padding:20px 20px 38px 38px}
.custom-collection-reel{overflow:hidden}.custom-collection-reel .custom-collection-wrap{overflow:hidden;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.custom-collection-reel .custom-collection-grid{display:flex;width:max-content;animation:customCollectionReel 38s linear infinite;gap:12px}.custom-collection-reel .custom-collection-item{width:min(400px,70vw);border:0;background:transparent}.custom-collection-reel .custom-collection-image{aspect-ratio:16/10}.custom-collection-reel .custom-collection-copy{padding:10px 2px}.custom-collection-reel:hover .custom-collection-grid{animation-play-state:running}@keyframes customCollectionReel{to{transform:translateX(-50%)}}
.custom-collection-faq .custom-collection-grid{grid-template-columns:1fr;gap:10px}.custom-collection-faq .custom-faq-item{border:1px solid currentColor}.section-dark.custom-collection-faq .custom-faq-item{border-color:#353535}.section-light.custom-collection-faq .custom-faq-item{border-color:#ddd}.custom-faq-item summary{cursor:pointer;list-style:none;padding:20px 24px;font-size:18px;font-weight:900}.custom-faq-item summary::-webkit-details-marker{display:none}.custom-faq-item summary span:before{content:'Q';color:#f15a24;margin-right:14px}.custom-faq-item summary:after{content:'+';float:right;color:#f15a24}.custom-faq-item[open] summary:after{content:'−'}.custom-faq-item>div{padding:0 24px 22px}.custom-faq-item>div p{margin:0;padding-top:16px;border-top:1px solid currentColor;opacity:.82}
@media(max-width:980px){.custom-collection-cards4 .custom-collection-grid,.custom-collection-photo4 .custom-collection-grid,.custom-collection-folder4 .custom-collection-grid,.custom-collection-folderStack .custom-collection-grid,.custom-collection-kpi4 .custom-collection-grid,.custom-collection-steps4 .custom-collection-grid,.custom-collection-steps5 .custom-collection-grid{grid-template-columns:repeat(2,1fr)}.custom-collection-mosaicMenu .custom-collection-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.custom-collection-mosaicMenu .custom-collection-item{grid-column:auto!important;grid-row:auto!important}.custom-collection-folderFeature .custom-collection-grid{grid-template-columns:1fr;grid-template-rows:auto}.custom-collection-folderFeature .custom-collection-item:first-child{grid-row:auto}.custom-collection-folderFeature .custom-collection-item:not(:first-child){grid-template-columns:36% 1fr}.custom-collection-kpi3 .custom-collection-grid,.custom-collection-steps3 .custom-collection-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.custom-image-cinematic img{aspect-ratio:16/10}.custom-image-text-overlap .custom-image-wrap,.custom-image-text-overlap .custom-image-text.reverse .custom-image-wrap{transform:none;width:100%}.custom-spec-row{grid-template-columns:1fr}.custom-spec-row dt{padding-bottom:4px}.custom-spec-row dd{padding-top:4px}.custom-collection-cards2 .custom-collection-grid,.custom-collection-cards4 .custom-collection-grid,.custom-collection-photo4 .custom-collection-grid,.custom-collection-folder3 .custom-collection-grid,.custom-collection-folder4 .custom-collection-grid,.custom-collection-folderStack .custom-collection-grid,.custom-collection-people3 .custom-collection-grid,.custom-collection-logos .custom-collection-grid,.custom-collection-related .custom-collection-grid,.custom-collection-kpi3 .custom-collection-grid,.custom-collection-kpi4 .custom-collection-grid,.custom-collection-steps3 .custom-collection-grid,.custom-collection-steps4 .custom-collection-grid,.custom-collection-steps5 .custom-collection-grid{grid-template-columns:1fr}.custom-collection-mosaic3 .custom-collection-grid,.custom-collection-mosaic5 .custom-collection-grid,.custom-collection-mosaicMenu .custom-collection-grid{grid-template-columns:1fr;grid-template-rows:auto}.custom-collection-mosaic3 .custom-collection-item,.custom-collection-mosaic5 .custom-collection-item,.custom-collection-mosaicMenu .custom-collection-item{grid-row:auto!important;grid-column:auto!important;min-height:260px}.custom-collection-folderStack .custom-collection-item:nth-child(even){transform:none}.custom-collection-steps3 .custom-collection-grid,.custom-collection-steps4 .custom-collection-grid,.custom-collection-steps5 .custom-collection-grid{margin-top:35px}.custom-collection-reel .custom-collection-item{width:78vw}}
@media(prefers-reduced-motion:reduce){.custom-collection-reel .custom-collection-grid{animation:none}}

/* 2026-08-25 square mosaic menu library (custom pages only) */
:is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(12,minmax(0,1fr));
  aspect-ratio:1/1;
  gap:14px;
}
:is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-item{
  min-height:0;
  border:0;
  background:#111;
}
:is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
}
:is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-copy{
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  color:#fff;
  padding:58px 18px 16px;
  background:linear-gradient(transparent,rgba(0,0,0,.88));
}
:is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-copy h3{
  font-size:clamp(16px,1.75vw,28px);
  margin-bottom:0;
}
:is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-meta{
  margin-bottom:7px;
  font-size:9px;
}
:is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-arrow{
  margin-top:9px;
  font-size:16px;
}
/* 4: clean 2 x 2 */
.custom-collection-mosaicMenu4 .custom-collection-item:nth-child(1){grid-area:1/1/7/7}
.custom-collection-mosaicMenu4 .custom-collection-item:nth-child(2){grid-area:1/7/7/13}
.custom-collection-mosaicMenu4 .custom-collection-item:nth-child(3){grid-area:7/1/13/7}
.custom-collection-mosaicMenu4 .custom-collection-item:nth-child(4){grid-area:7/7/13/13}
/* 5: one feature + four supporting tiles */
.custom-collection-mosaicMenu5 .custom-collection-item:nth-child(1){grid-area:1/1/8/8}
.custom-collection-mosaicMenu5 .custom-collection-item:nth-child(2){grid-area:1/8/5/13}
.custom-collection-mosaicMenu5 .custom-collection-item:nth-child(3){grid-area:5/8/8/13}
.custom-collection-mosaicMenu5 .custom-collection-item:nth-child(4){grid-area:8/1/13/7}
.custom-collection-mosaicMenu5 .custom-collection-item:nth-child(5){grid-area:8/7/13/13}
/* 6: balanced left / right rhythm */
.custom-collection-mosaicMenu6 .custom-collection-item:nth-child(1){grid-area:1/1/7/7}
.custom-collection-mosaicMenu6 .custom-collection-item:nth-child(2){grid-area:1/7/5/13}
.custom-collection-mosaicMenu6 .custom-collection-item:nth-child(3){grid-area:5/7/9/10}
.custom-collection-mosaicMenu6 .custom-collection-item:nth-child(4){grid-area:5/10/9/13}
.custom-collection-mosaicMenu6 .custom-collection-item:nth-child(5){grid-area:7/1/13/7}
.custom-collection-mosaicMenu6 .custom-collection-item:nth-child(6){grid-area:9/7/13/13}
/* 7: reference-image style, closed into a square */
.custom-collection-mosaicMenu7 .custom-collection-item:nth-child(1){grid-area:1/1/7/6}
.custom-collection-mosaicMenu7 .custom-collection-item:nth-child(2){grid-area:1/6/4/13}
.custom-collection-mosaicMenu7 .custom-collection-item:nth-child(3){grid-area:4/6/7/10}
.custom-collection-mosaicMenu7 .custom-collection-item:nth-child(4){grid-area:4/10/7/13}
.custom-collection-mosaicMenu7 .custom-collection-item:nth-child(5){grid-area:7/1/10/7}
.custom-collection-mosaicMenu7 .custom-collection-item:nth-child(6){grid-area:7/7/10/13}
.custom-collection-mosaicMenu7 .custom-collection-item:nth-child(7){grid-area:10/1/13/13}
/* 8: feature tile + dense supporting grid */
.custom-collection-mosaicMenu8 .custom-collection-item:nth-child(1){grid-area:1/1/7/7}
.custom-collection-mosaicMenu8 .custom-collection-item:nth-child(2){grid-area:1/7/4/13}
.custom-collection-mosaicMenu8 .custom-collection-item:nth-child(3){grid-area:4/7/7/10}
.custom-collection-mosaicMenu8 .custom-collection-item:nth-child(4){grid-area:4/10/7/13}
.custom-collection-mosaicMenu8 .custom-collection-item:nth-child(5){grid-area:7/1/10/5}
.custom-collection-mosaicMenu8 .custom-collection-item:nth-child(6){grid-area:7/5/10/9}
.custom-collection-mosaicMenu8 .custom-collection-item:nth-child(7){grid-area:7/9/10/13}
.custom-collection-mosaicMenu8 .custom-collection-item:nth-child(8){grid-area:10/1/13/13}
/* 9: square mosaic with one large feature */
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(1){grid-area:1/1/7/7}
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(2){grid-area:1/7/4/10}
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(3){grid-area:1/10/4/13}
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(4){grid-area:4/7/7/10}
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(5){grid-area:4/10/7/13}
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(6){grid-area:7/1/10/5}
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(7){grid-area:7/5/10/9}
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(8){grid-area:7/9/10/13}
.custom-collection-mosaicMenu9 .custom-collection-item:nth-child(9){grid-area:10/1/13/13}
/* 10: dense 4-column composition, still square overall */
.custom-collection-mosaicMenu10 .custom-collection-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
.custom-collection-mosaicMenu10 .custom-collection-item:nth-child(1){grid-column:span 2}
.custom-collection-mosaicMenu10 .custom-collection-item:nth-child(10){grid-column:span 2}
@media(max-width:980px){
  :is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
    aspect-ratio:auto;
  }
  :is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-item{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    aspect-ratio:4/3;
  }
}
@media(max-width:640px){
  :is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-grid{grid-template-columns:1fr}
  :is(.custom-collection-mosaicMenu4,.custom-collection-mosaicMenu5,.custom-collection-mosaicMenu6,.custom-collection-mosaicMenu7,.custom-collection-mosaicMenu8,.custom-collection-mosaicMenu9,.custom-collection-mosaicMenu10) .custom-collection-item{aspect-ratio:16/10}
}


/* STAFF BLOG addition: PROJECT LOG structure is reused; only the accent color changes */
.staff-blog-scope .eyebrow,.staff-blog-page .eyebrow{color:#6F8596}
.staff-blog-scope .project-log-timeline:before,.staff-blog-page .project-log-timeline:before{background:linear-gradient(#6F8596,rgba(255,255,255,.12))}
.staff-blog-scope .project-log-entry.is-first .project-log-marker,.staff-blog-page .project-log-entry.is-first .project-log-marker{background:#6F8596;border-color:#6F8596;box-shadow:0 0 0 7px #050607,0 0 24px rgba(111,133,150,.52)}
.staff-blog-scope .project-log-label,.staff-blog-page .project-log-label{color:#6F8596}
.staff-blog-scope .project-log-link,.staff-blog-page .project-log-link{border-color:rgba(111,133,150,.8);color:#6F8596}
.staff-blog-scope .project-log-link:hover,.staff-blog-page .project-log-link:hover{background:#6F8596;color:#fff}
.staff-blog-scope .project-log-title-link:hover,.staff-blog-page .project-log-title-link:hover{color:#6F8596}
.staff-blog-scope .project-log-readmore,.staff-blog-page .project-log-readmore{color:#6F8596}
.staff-blog-page .project-log-detail-meta span{border-color:rgba(111,133,150,.65);color:#6F8596}
.staff-blog-page .back-link,.staff-blog-page .project-log-back a{color:#6F8596}

/* 2026-09-01 HOME: PROJECT LOG / STAFF BLOG side-by-side layout */
.home-page #news .home-log-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(48px,6vw,96px);
  width:min(1400px,100%);
  margin:0 auto;
}
.home-page #news .home-log-panel{min-width:0;}
.home-page #news .home-log-panel .section-head{margin-bottom:56px;}
.home-page #news .home-log-panel .project-log-timeline{
  max-width:none;
  padding-left:36px;
}
.home-page #news .home-log-panel .project-log-entry{
  grid-template-columns:110px minmax(0,1fr);
  gap:24px;
  padding-bottom:46px;
}
.home-page #news .home-log-panel .project-log-marker{left:-31px;}
.home-page #news .home-log-panel .project-log-content h3{
  font-size:clamp(21px,1.8vw,30px);
}
.home-page #news .home-log-panel .project-log-content p:last-child{
  font-size:14px;
  line-height:1.85;
}
.home-page #news .home-log-panel .project-log-link-wrap{margin-top:18px;}
.home-page #news .staff-blog-scope .eyebrow{color:#6F8596 !important;}
.home-page #news .staff-blog-scope .project-log-timeline:before{
  background:linear-gradient(#6F8596,rgba(0,0,0,.13)) !important;
}
.home-page #news .staff-blog-scope .project-log-entry.is-first .project-log-marker{
  background:#6F8596 !important;
  border-color:#6F8596 !important;
  box-shadow:0 0 0 7px #f4f1eb,0 0 24px rgba(111,133,150,.35) !important;
}
.home-page #news .staff-blog-scope .project-log-label,
.home-page #news .staff-blog-scope .project-log-readmore{color:#6F8596 !important;}
.home-page #news .staff-blog-scope .project-log-link{
  border-color:rgba(111,133,150,.8) !important;
  color:#6F8596 !important;
}
.home-page #news .staff-blog-scope .project-log-link:hover{
  background:#6F8596 !important;
  color:#fff !important;
}
.home-page #news .staff-blog-scope .project-log-link:hover small{color:#fff !important;}
.home-page #news .staff-blog-scope .project-log-title-link:hover{color:#6F8596 !important;}
@media(max-width:1100px){
  .home-page #news .home-log-grid{gap:44px;}
  .home-page #news .home-log-panel .project-log-entry{grid-template-columns:88px minmax(0,1fr);gap:18px;}
}
@media(max-width:900px){
  .home-page #news .home-log-grid{grid-template-columns:1fr;gap:84px;}
  .home-page #news .home-log-panel .section-head{margin-bottom:42px;}
  .home-page #news .home-log-panel .project-log-timeline{padding-left:28px;}
  .home-page #news .home-log-panel .project-log-entry{grid-template-columns:1fr;gap:12px;padding-bottom:42px;}
  .home-page #news .home-log-panel .project-log-marker{left:-29px;}
  .home-page #news .home-log-panel .project-log-content h3{font-size:25px;}
  .home-page #news .home-log-panel .project-log-content p:last-child{font-size:15px;line-height:1.9;}
}

/* 2026-09-01 HOME: keep PROJECT LOG / STAFF BLOG rows visually aligned */
@media(min-width:901px){
  .home-page #news .home-log-panel .project-log-entry{
    box-sizing:border-box;
  }
  .home-page #news .home-log-panel .project-log-label,
  .home-page #news .home-log-panel .project-log-content h3,
  .home-page #news .home-log-panel .project-log-content > p:not(.project-log-label){
    box-sizing:border-box;
  }
}


/* ===== LOW-VOLTAGE BESS portal (HOME upper guidance) ===== */
.lowvoltage-portal{
  position:relative;
  overflow:hidden;
  padding:10vh 7vw 11vh;
  background:#f4f1eb;
  color:var(--darktext);
  border-top:1px solid rgba(18,23,33,.10);
  border-bottom:1px solid rgba(18,23,33,.12);
}
.lowvoltage-portal-bg{
  position:absolute;
  top:-.20em;
  right:-.025em;
  font-family:Arial,sans-serif;
  font-size:clamp(76px,12.5vw,210px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.075em;
  color:rgba(241,90,36,.012);
  -webkit-text-stroke:1px rgba(241,90,36,.13);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}
.lowvoltage-portal-inner{
  position:relative;
  z-index:1;
  width:min(1500px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(54px,7vw,112px);
  align-items:end;
}
.lowvoltage-kicker{
  margin:0 0 22px;
  color:var(--orange);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.31em;
}
.lowvoltage-portal-heading h2{
  margin:0;
  max-width:700px;
  font-size:clamp(38px,4vw,64px);
  line-height:1.18;
  letter-spacing:-.045em;
}
.lowvoltage-title-line{
  display:block;
  white-space:nowrap;
}
.lowvoltage-accent-line{
  display:block;
  width:88px;
  height:2px;
  margin-top:34px;
  background:var(--orange);
}
.lowvoltage-portal-content{
  max-width:760px;
  padding-top:14px;
}
.lowvoltage-lead{
  margin:0 0 18px;
  color:#171d27;
  font-size:clamp(17px,1.55vw,22px);
  line-height:1.9;
  font-weight:700;
  letter-spacing:.01em;
}
.lowvoltage-note{
  margin:0;
  max-width:680px;
  color:#59616c;
  font-size:15px;
  line-height:2;
}
.lowvoltage-portal-link{
  margin-top:38px;
  width:min(460px,100%);
  min-height:76px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 24px 18px 28px;
  border:1px solid rgba(18,23,33,.46);
  border-radius:0;
  color:var(--darktext);
  text-decoration:none;
  background:transparent;
  transition:background .35s ease,color .35s ease,border-color .35s ease,transform .35s ease,box-shadow .35s ease;
}
.lowvoltage-link-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-width:0;
}
.lowvoltage-link-copy strong{
  color:var(--orange);
  font-family:Arial,sans-serif;
  font-size:15px;
  line-height:1;
  font-weight:800;
  letter-spacing:.25em;
}
.lowvoltage-link-copy small{
  color:inherit;
  font-size:13px;
  line-height:1.35;
  font-weight:500;
  letter-spacing:.04em;
  opacity:.82;
}
.lowvoltage-link-arrow{
  flex:0 0 auto;
  font-size:31px;
  line-height:1;
  font-weight:300;
  color:inherit;
  transition:transform .35s ease;
}
.lowvoltage-portal-link:not(.is-unavailable):hover{
  background:var(--darktext);
  color:#fff;
  border-color:var(--darktext);
  transform:translateY(-4px);
  box-shadow:0 18px 45px rgba(18,23,33,.13);
}
.lowvoltage-portal-link:not(.is-unavailable):hover .lowvoltage-link-copy strong{
  color:var(--orange);
}
.lowvoltage-portal-link:not(.is-unavailable):hover .lowvoltage-link-arrow{
  transform:translateX(8px);
}
.lowvoltage-portal-link.is-unavailable{
  cursor:default;
}
@media(max-width:900px){
  .lowvoltage-portal{
    padding:78px 24px 82px;
  }
  .lowvoltage-portal-bg{
    top:12px;
    right:-10px;
    font-size:clamp(68px,22vw,120px);
    -webkit-text-stroke-color:rgba(241,90,36,.12);
  }
  .lowvoltage-portal-inner{
    grid-template-columns:1fr;
    gap:46px;
    align-items:start;
  }
  .lowvoltage-portal-heading h2{
    font-size:clamp(32px,8.2vw,48px);
  }
  .lowvoltage-accent-line{
    margin-top:26px;
  }
  .lowvoltage-portal-content{
    padding-top:0;
  }
  .lowvoltage-lead{
    font-size:17px;
  }
  .lowvoltage-note{
    font-size:14px;
  }
  .lowvoltage-portal-link{
    width:min(460px,100%);
    min-height:76px;
    margin-top:30px;
    padding:17px 20px 17px 22px;
    gap:16px;
  }
  .lowvoltage-link-copy strong{
    font-size:13px;
    letter-spacing:.21em;
  }
  .lowvoltage-link-copy small{
    font-size:13px;
  }
  .lowvoltage-link-arrow{
    font-size:28px;
  }
}
@media(max-width:520px){
  .lowvoltage-portal .pc-br{display:none;}
  .lowvoltage-portal-heading h2{
    font-size:clamp(28px,8.4vw,38px);
    letter-spacing:-.055em;
  }
  .lowvoltage-link-copy strong{font-size:11px;}
  .lowvoltage-link-copy small{font-size:12px;}
}



/* ===== Header navigation hover + LOW-VOLTAGE global navigation ===== */
.header.has-more-menu .nav{gap:clamp(14px,1.55vw,26px)}
.header.has-more-menu .nav > a{
  position:relative;
  transition:opacity .24s ease,color .24s ease;
}
.header.has-more-menu .nav > a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-8px;
  width:100%;
  height:1px;
  background:#f15a24;
  transform:translateX(-50%) scaleX(0);
  transform-origin:center center;
  opacity:0;
  transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s ease;
}
.header.has-more-menu .nav > a:hover,
.header.has-more-menu .nav > a:focus-visible{
  opacity:1;
}
.header.has-more-menu .nav > a:hover::after,
.header.has-more-menu .nav > a:focus-visible::after{
  transform:translateX(-50%) scaleX(1);
  opacity:1;
}
.nav a.nav-low-voltage{opacity:.82}

@media (prefers-reduced-motion: reduce){
  .header.has-more-menu .nav > a::after{transition:none}
}
.more-menu-lowvoltage-slot{margin-top:34px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08)}
.more-menu-lowvoltage{
  min-height:100px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:22px 24px;
  border:1px solid rgba(241,90,36,.48);
  background:linear-gradient(120deg,rgba(241,90,36,.09),rgba(255,255,255,.015) 68%);
  color:#fff;
  text-decoration:none;
  transition:border-color .28s ease,background .28s ease,transform .28s ease;
}
.more-menu-lowvoltage-copy{min-width:0;display:block}
.more-menu-lowvoltage-copy small{
  display:block;
  margin-bottom:10px;
  color:var(--orange);
  font:800 10px/1 Arial,sans-serif;
  letter-spacing:.24em;
}
.more-menu-lowvoltage-copy strong{
  display:block;
  font-size:clamp(16px,1.45vw,21px);
  line-height:1.45;
  letter-spacing:.02em;
}
.more-menu-lowvoltage>i{
  font-style:normal;
  font-size:25px;
  color:#aaa;
  transition:transform .25s ease,color .25s ease;
}
.more-menu-lowvoltage:hover{
  border-color:rgba(241,90,36,.9);
  background:linear-gradient(120deg,rgba(241,90,36,.15),rgba(255,255,255,.025) 68%);
  transform:translateY(-2px);
}
.more-menu-lowvoltage:hover>i{transform:translateX(7px);color:var(--orange)}
@media(max-width:1180px) and (min-width:901px){
  .header.has-more-menu .nav{gap:12px}
  .header.has-more-menu .nav a{font-size:10.5px;letter-spacing:.11em}
}
@media(max-width:900px){
  .more-menu-lowvoltage-slot{margin-top:26px;padding-top:24px}
  .more-menu-lowvoltage{min-height:88px;padding:18px 20px}
  .more-menu-lowvoltage-copy strong{font-size:17px}
}


/* ADMIN UPLOAD FIT: future images only */
body img[src*="/fit/"]{object-fit:contain !important;object-position:center center !important;}


/* PROJECT LOG / STAFF BLOG PDF attachments - low-voltage NEWS style */
.project-log-pdf-section{margin-top:54px;padding-top:38px;border-top:1px solid rgba(255,255,255,.12)}
.project-log-pdf-head{max-width:760px;margin-bottom:28px}
.project-log-pdf-head>p:last-child{margin:10px 0 0;color:rgba(255,255,255,.68);line-height:1.8}
.project-log-pdf-docs{display:grid;gap:44px}
.project-log-detail-pdf{margin:0}
.project-log-detail-pdf figcaption{width:min(720px,100%);margin:0 auto 12px;color:#fff;font-size:15px;font-weight:700;line-height:1.6}
.project-log-detail-pdf-preview{display:block;width:min(720px,100%);margin:0 auto;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.22)}
.project-log-detail-pdf-preview img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
.project-log-detail-pdf-fallback{display:grid;place-items:center;width:min(720px,100%);min-height:220px;margin:0 auto;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#f7f8f8;color:#555;font-weight:800}
.project-log-detail-pdf-actions{display:flex;justify-content:center;margin-top:12px}
.project-log-detail-pdf-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#fff;color:#16191d;text-decoration:none;font-size:12px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}
.project-log-detail-pdf-actions a:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.staff-blog-page .project-log-pdf-head .eyebrow{color:#6F8596}
@media(max-width:720px){.project-log-pdf-section{margin-top:42px;padding-top:30px}.project-log-pdf-docs{gap:34px}.project-log-detail-pdf-preview,.project-log-detail-pdf-fallback{width:100%;border-radius:12px}.project-log-detail-pdf figcaption{width:100%;font-size:14px}}

/* =========================================================
   MOBILE LONG-TEXT / LINE-BREAK SAFETY 2026-09-07
   Mobile only. Prevents future long titles/body copy from
   overflowing the viewport while preserving desktop layout.
   ========================================================= */
@media(max-width:900px){
  /* Grid/flex children must be allowed to shrink on narrow screens. */
  main,
  main section,
  main article,
  main div,
  main dl,
  main ul,
  main ol,
  .project-log-timeline,
  .project-log-entry,
  .project-log-content,
  .project-detail-hero-content,
  .project-detail-overview,
  .project-overview-copy,
  .project-info,
  .projects-card,
  .projects-card-body,
  .project-log-detail-card,
  .project-log-detail-body,
  .custom-block-inner,
  .custom-image-text,
  .custom-info-card,
  .custom-collection-item{
    min-width:0!important;
    max-width:100%;
  }

  /* Remove desktop CJK keep-all rules from user-editable text areas. */
  main :where(h1,h2,h3,h4,p,li,dt,dd,figcaption),
  .project-log-title-link,
  .project-log-content p,
  .project-overview-copy p,
  .project-detail-hero-content p,
  .projects-card-body p,
  .project-log-detail-body p,
  .custom-block p,
  .custom-info-card-copy p,
  .custom-collection-copy p,
  .company-table dd,
  .company-entry-list,
  .company-contact-copy{
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-break:strict;
  }

  /* Long editable headings should always wrap inside the screen. */
  .section-head h2,
  .split-text h2,
  #project .section-head h2,
  #message .message-text h2,
  .project-log-content h3,
  .project-log-title-link,
  .projects-card h2,
  .project-detail-hero h1,
  .project-overview-copy h2,
  .project-log-detail-card h1,
  .news-detail h1,
  .project-list-content h1,
  .custom-page-hero h1,
  .custom-block h2,
  .custom-info-card-copy h3,
  .custom-collection-copy h3{
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-break:strict;
  }

  /* Timeline/list layouts: never let the text column retain desktop min-content width. */
  .project-log-timeline{
    width:100%!important;
    box-sizing:border-box;
  }
  .project-log-entry{
    width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .project-log-content{
    width:100%!important;
    overflow:visible;
  }
  .home-page #news .home-log-panel .project-log-entry{
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* PROJECTS detail/list copy can be edited later without horizontal clipping. */
  .project-detail-overview{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .project-detail-hero-content,
  .project-overview-copy,
  .project-info,
  .projects-card-body{
    width:100%!important;
  }
  .project-info div{
    min-width:0!important;
    max-width:100%!important;
  }
  .project-info dd,
  .projects-card-meta strong,
  .projects-card-meta span{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  /* URLs, email addresses and long Latin strings also stay within the viewport. */
  .company-table a,
  .company-contact-copy a,
  .footer-related-name,
  .project-log-detail-pdf figcaption,
  a[href^="mailto:"],
  a[href^="tel:"]{
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  /* Pills / small labels may wrap rather than force the page wider. */
  .project-status,
  .coming-soon{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    text-align:left;
  }

  /* LOW-VOLTAGE editable heading lines must not inherit desktop nowrap. */
  .lowvoltage-title-line,
  .lowvoltage-portal-heading h2,
  .lowvoltage-lead,
  .lowvoltage-note,
  .lowvoltage-link-copy,
  .lowvoltage-link-copy strong,
  .lowvoltage-link-copy small{
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  .lowvoltage-portal-link,
  .project-button,
  .project-button-wide,
  .project-log-link,
  .footer-related-links a{
    max-width:100%!important;
    min-width:0!important;
  }
}

@media(max-width:560px){
  /* HOME hero: keep the intended two lines without splitting words mid-line. */
  .hero-copy{
    width:100%!important;
    max-width:calc(100vw - 48px)!important;
    min-width:0!important;
  }
  .hero h1[data-home-field="heroTitle"]{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(24px,7.5vw,31px)!important;
    line-height:1.24!important;
    letter-spacing:-.045em!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .hero h1[data-home-field="heroTitle"] .copy-line{
    display:inline-block!important;
    max-width:100%!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .hero h1[data-home-field="heroTitle"] br{
    display:block!important;
  }

  /* Fit the decorative LOW-VOLTAGE word fully inside common phone widths. */
  .lowvoltage-portal-bg{
    left:0!important;
    right:0!important;
    top:14px!important;
    width:100%!important;
    padding:0 8px;
    text-align:center;
    font-size:clamp(42px,12.4vw,54px)!important;
    letter-spacing:-.075em!important;
    white-space:nowrap!important;
  }

  /* Comfortable mobile type sizes for long dynamic content. */
  .project-log-content h3,
  .home-page #news .home-log-panel .project-log-content h3{
    font-size:clamp(21px,6.3vw,25px)!important;
    line-height:1.5!important;
  }
  .project-log-content p,
  .home-page #news .home-log-panel .project-log-content p:last-child{
    font-size:15px!important;
    line-height:1.9!important;
  }
  .project-detail-hero h1,
  .project-log-detail-card h1,
  .news-detail h1,
  .project-list-content h1{
    font-size:clamp(28px,8.1vw,36px)!important;
    line-height:1.32!important;
    letter-spacing:-.035em!important;
  }
  .project-detail-hero-content>p,
  .project-overview-copy>p:last-child{
    font-size:16px!important;
    line-height:1.95!important;
  }
  .project-overview-copy h2{
    font-size:clamp(31px,8.6vw,38px)!important;
    line-height:1.25!important;
  }

  .lowvoltage-portal-heading h2{
    font-size:clamp(30px,8.2vw,38px)!important;
    line-height:1.3!important;
    letter-spacing:-.04em!important;
  }
}

@media(max-width:360px){
  .hero h1[data-home-field="heroTitle"]{
    font-size:24px!important;
  }
  .lowvoltage-portal-bg{
    font-size:42px!important;
  }
}

/* =====================================================================
   2026-09-11 Responsive resilience pass
   - Preserve intentional display-heading line breaks.
   - Let dynamic/article text wrap naturally without horizontal clipping.
   - Keep imagery/video proportional and stable from phones to ultrawide.
   ===================================================================== */

/* Media should never exceed its containing block. More specific component
   rules may still use cover/contain where that is part of the design. */
img,video,picture,svg,canvas,iframe{
  max-inline-size:100%;
}

/* Dynamic copy: prefer Japanese phrase-aware / visually balanced wrapping.
   URLs and machine-like strings are handled separately below. */
:is(
  .project-log-content h3,
  .project-log-detail-card h1,
  .news-card h3,
  .news-detail h1,
  .projects-card h2,
  .project-detail-hero h1,
  .project-overview-copy h2,
  .project-list-content h1,
  .custom-info-card-copy h3,
  .custom-collection-copy h3
){
  max-inline-size:100%;
  min-inline-size:0;
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
  text-wrap:pretty;
}
@supports (word-break:auto-phrase){
  :is(
    .project-log-content h3,
    .project-log-detail-card h1,
    .news-card h3,
    .news-detail h1,
    .projects-card h2,
    .project-detail-hero h1,
    .project-overview-copy h2,
    .project-list-content h1,
    .custom-info-card-copy h3,
    .custom-collection-copy h3
  ){
    word-break:auto-phrase;
  }
}

/* Long URLs / mail addresses / Latin strings may break anywhere rather than
   forcing the page wider. */
:is(
  .company-table a,
  .company-table dd,
  .company-entry-list,
  .footer-related-name,
  .project-info dd,
  a[href^="mailto:"],
  a[href^="tel:"]
){
  min-inline-size:0;
  max-inline-size:100%;
  overflow-wrap:anywhere;
}

/* LOW-VOLTAGE decorative lettering: keep it decorative, fully visible and
   capped so it does not explode on wide / ultrawide monitors. */
@media(min-width:901px){
  .lowvoltage-portal-bg{
    left:max(7vw,calc((100vw - 1680px)/2));
    right:max(7vw,calc((100vw - 1680px)/2));
    top:8px;
    width:auto;
    text-align:center;
    font-size:clamp(82px,8vw,136px);
    line-height:.95;
    letter-spacing:-.065em;
    white-space:nowrap;
  }
}

/* Keep major HOME content in a comfortable reading width on very wide
   screens while allowing full-bleed backgrounds / hero media to remain full. */
@media(min-width:1920px){
  :is(
    .hero,
    .lowvoltage-portal,
    .statement,
    .news,
    .project,
    .gallery,
    .split,
    .message,
    .company
  ){
    padding-left:max(7vw,calc((100vw - 1680px)/2))!important;
    padding-right:max(7vw,calc((100vw - 1680px)/2))!important;
  }
  .home-page #news .home-log-grid{width:min(1500px,100%);}
  .lowvoltage-portal-inner{width:min(1500px,100%);}
}

/* Phone hero: do not vertically center a wide video inside a tall viewport.
   Place it in normal flow under the fixed header, then keep the copy safely
   below it. This removes the large black gap and prevents the eyebrow from
   sitting on the video edge. */
@media(max-width:700px){
  .home-page .hero{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    min-height:100svh!important;
    padding:clamp(92px,13svh,112px) 24px 9vh!important;
    background:#050607!important;
    overflow:hidden!important;
  }
  .home-page .hero-video{
    position:relative!important;
    inset:auto!important;
    order:1;
    flex:0 0 auto;
    width:calc(100% + 48px)!important;
    max-width:none!important;
    height:auto!important;
    aspect-ratio:16/9;
    margin:0 -24px!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#050607!important;
  }
  .home-page .hero-shade{display:none!important;}
  .home-page .hero-copy{
    order:2;
    width:100%!important;
    max-width:100%!important;
    margin-top:24px!important;
    padding-bottom:0!important;
  }
  .home-page .hero-copy .eyebrow{
    margin:0 0 18px!important;
  }
  .home-page .scroll{
    right:22px!important;
    bottom:30px!important;
  }

  /* Preserve the approved two-line hero message. */
  .home-page .hero h1[data-home-field="heroTitle"] .copy-line{
    display:inline-block!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
  .home-page .hero h1[data-home-field="heroTitle"] br{
    display:block!important;
  }

  /* PROJECT LOG / STAFF BLOG intro copy: tighter, natural paragraph rhythm. */
  .home-page #news .home-log-panel .section-head{
    margin-bottom:36px!important;
  }
  .home-page #news .section-lead{
    margin-top:0!important;
    font-size:15px!important;
    line-height:1.68!important;
    text-wrap:pretty;
  }
  .home-page #news .project-log-tagline{
    display:block!important;
    margin-top:8px!important;
    line-height:1.5!important;
  }

  /* Article / card titles: favor clean Japanese phrase boundaries and avoid
     awkward one-character leftovers such as 「お知」/「らせ」. */
  .project-log-content h3,
  .home-page #news .home-log-panel .project-log-content h3{
    font-size:clamp(20px,5.8vw,24px)!important;
    line-height:1.46!important;
    letter-spacing:-.025em!important;
    text-wrap:pretty!important;
    line-break:strict!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  @supports (word-break:auto-phrase){
    .project-log-content h3,
    .home-page #news .home-log-panel .project-log-content h3{
      word-break:auto-phrase!important;
    }
  }

  /* Body copy remains readable but less vertically stretched. */
  .project-log-content p,
  .home-page #news .home-log-panel .project-log-content p:last-child,
  .project-log-detail-body p,
  .project-overview-copy>p:last-child{
    line-height:1.78!important;
  }

  /* Content photography should keep its intrinsic proportions on phones.
     Card/cover artwork keeps its component-specific crop rules. */
  :is(
    .split-image img,
    .strength-photo img,
    .project-visual img,
    .message-photo img,
    .company-layout>img,
    .project-log-detail-image img
  ){
    width:100%!important;
    height:auto!important;
    max-height:none!important;
  }
  video:not(.hero-video){
    max-width:100%!important;
  }
}

/* Narrow phones: shrink only if needed; keep the approved hero line breaks. */
@media(max-width:380px){
  .home-page .hero h1[data-home-field="heroTitle"]{
    font-size:clamp(22px,6.8vw,25px)!important;
    line-height:1.28!important;
  }
}

/* =====================================================================
   2026-09-11 v4 ultrawide / media stabilization
   - Keep desktop typography natural on wide monitors.
   - Preserve full-bleed backgrounds while constraining readable content.
   - Protect photo / video balance and prevent awkward English breaks.
   ===================================================================== */

/* Shared: never let inner grid items become wider than their tracks. */
.lowvoltage-portal-inner,
.home-page #news .home-log-grid,
#message .message-body,
.company-layout,
.project-log-entry,
.project-log-content,
.split-text,
.split-image,
.message-text,
.message-photo{
  min-width:0;
}

/* Desktop and ultrawide: keep core content on a stable reading measure. */
@media(min-width:1280px){
  .home-page #news .home-log-grid,
  .lowvoltage-portal-inner,
  #message .message-head,
  #message .message-body,
  .company-layout{
    width:min(1480px,100%);
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* ABOUT stays full-bleed but the text / image are anchored, not drifting. */
  .split{
    grid-template-columns:minmax(0,1fr) minmax(360px,620px);
    gap:clamp(44px,5vw,88px);
  }
  .split-text{
    max-width:760px;
  }
  .split-image{
    justify-self:end;
    width:min(620px,100%);
  }
  .split-image img{
    height:clamp(420px,36vw,640px);
  }

  /* MESSAGE: keep copy readable and the portrait balanced. */
  #message .message-body{
    grid-template-columns:minmax(0,1.02fr) minmax(360px,560px) !important;
    gap:clamp(42px,4vw,82px) !important;
    align-items:center !important;
  }
  #message .message-text{
    max-width:860px !important;
  }
  #message .message-text h2{
    max-width:12em !important;
  }
  #message .message-text p{
    font-size:17px !important;
    line-height:2.05 !important;
  }
  #message .message-photo{
    justify-self:end;
    width:min(560px,100%) !important;
  }
  #message .message-photo img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 5;
    object-fit:cover !important;
    object-position:center top !important;
  }

  /* LOW-VOLTAGE: preserve hierarchy, keep English labels intact, avoid a
     shrunken / over-spaced look on wide screens. */
  .lowvoltage-portal-inner{
    grid-template-columns:minmax(0,1.05fr) minmax(360px,520px);
    gap:clamp(44px,4.8vw,88px);
    align-items:center;
  }
  .lowvoltage-portal-heading h2{
    max-width:720px;
    font-size:clamp(42px,3.6vw,64px);
  }
  .lowvoltage-portal-content{
    max-width:520px;
    justify-self:end;
    padding-top:0;
  }
  .lowvoltage-lead{
    font-size:clamp(17px,1.2vw,21px);
    line-height:1.85;
  }
  .lowvoltage-note{
    font-size:15px;
    line-height:1.95;
  }
  .lowvoltage-portal-link{
    width:min(420px,100%);
  }
  .lowvoltage-link-copy strong,
  .lowvoltage-link-copy small,
  .lowvoltage-kicker,
  .lowvoltage-portal-bg{
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  .lowvoltage-link-copy strong,
  .lowvoltage-portal-bg,
  .lowvoltage-kicker{
    white-space:nowrap !important;
  }
}

/* Stronger ultrawide tuning. Keep the composition large enough without the
   previous v3 over-compression of the content area. */
@media(min-width:1920px){
  :is(.hero,.lowvoltage-portal,.statement,.news,.project,.gallery,.split,.message,.company){
    padding-left:max(5vw,calc((100vw - 1760px)/2)) !important;
    padding-right:max(5vw,calc((100vw - 1760px)/2)) !important;
  }

  .header{
    padding-left:max(24px,calc((100vw - 1760px)/2));
    padding-right:max(24px,calc((100vw - 1760px)/2));
  }
  .header.scrolled{
    padding-left:max(24px,calc((100vw - 1760px)/2));
    padding-right:max(24px,calc((100vw - 1760px)/2));
  }
  .brand img{width:142px;}
  .header .nav{gap:18px;}
  .header .nav a{font-size:12px;letter-spacing:.14em;}

  .home-page .hero-copy{
    max-width:1080px !important;
  }
  .home-page .hero h1[data-home-field="heroTitle"]{
    font-size:clamp(64px,5.4vw,112px);
    line-height:1.04;
  }
  .home-page .hero-copy .eyebrow{
    font-size:13px;
    margin-bottom:24px !important;
  }

  .statement{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,460px);
    align-items:end;
    gap:clamp(36px,5vw,82px);
  }
  .statement .big-text{
    max-width:1040px;
    font-size:clamp(72px,6vw,132px);
    line-height:.94;
  }
  .statement .statement-body{
    max-width:460px;
    margin:0 !important;
    justify-self:end;
    font-size:18px;
    line-height:2;
  }

  .home-page #news .home-log-grid{
    width:min(1480px,100%) !important;
  }
  .home-page #news .home-log-panel .project-log-entry{
    grid-template-columns:96px minmax(0,1fr);
    gap:22px;
  }
  .home-page #news .home-log-panel .project-log-content h3{
    font-size:clamp(24px,1.8vw,34px) !important;
    line-height:1.42 !important;
  }
  .home-page #news .home-log-panel .project-log-content p:last-child{
    font-size:15px !important;
    line-height:1.82 !important;
  }

  .project-visual img{
    height:clamp(520px,34vw,700px);
  }
  .company-layout{
    grid-template-columns:minmax(320px,500px) minmax(0,1fr);
    gap:clamp(46px,5vw,90px);
  }
  .company-layout img.company-building-photo{
    width:min(500px,100%);
    height:auto;
    aspect-ratio:4 / 5;
    object-fit:cover;
    justify-self:start;
  }
}

/* Desktop title / intro refinement for list cards and timeline items. */
@media(min-width:901px){
  .project-log-content h3,
  .home-page #news .home-log-panel .project-log-content h3,
  .news-card h3,
  .projects-card h2{
    line-break:strict;
    text-wrap:pretty;
  }
  @supports (word-break:auto-phrase){
    .project-log-content h3,
    .home-page #news .home-log-panel .project-log-content h3,
    .news-card h3,
    .projects-card h2{
      word-break:auto-phrase;
    }
  }
}

/* Mobile hero: keep the eyebrow comfortably away from the video edge. */
@media(max-width:700px){
  .home-page .hero-video{
    margin-bottom:8px !important;
  }
  .home-page .hero-copy{
    margin-top:18px !important;
  }
  .home-page .hero-copy .eyebrow{
    margin:0 0 16px !important;
  }
}


/* 2026-09-12 PHOTO REEL v10: JS-driven continuous conveyor. */
.photo-reel-track{animation:none!important;}
@media(max-width:900px){
  .photo-reel-track{gap:8px!important;padding:8px 4px!important;}
}

/* ===== CONTACT modal / MENU+ ===== */
.more-menu-link.more-menu-contact{
  width:100%;padding:0;background:transparent;border-right:0;border-left:0;border-bottom:0;
  text-align:left;font-family:inherit;cursor:pointer;
}
body.contact-modal-open{overflow:hidden!important}
.contact-modal-shell{position:fixed;inset:0;z-index:2147483600;visibility:hidden;pointer-events:none;display:grid;place-items:center;padding:28px}
.contact-modal-shell[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.contact-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);opacity:0;transition:opacity .34s ease}
.contact-modal-shell[aria-hidden="false"] .contact-modal-backdrop{opacity:1}
.contact-modal-card{position:relative;width:min(940px,calc(100vw - 56px));min-height:590px;overflow:hidden;border:1px solid rgba(241,90,36,.88);border-radius:22px;background:#080909;color:#fff;box-shadow:0 34px 110px rgba(0,0,0,.56);opacity:0;transform:translateY(30px) scale(.975);transition:opacity .42s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.contact-modal-shell[aria-hidden="false"] .contact-modal-card{opacity:1;transform:none}
.contact-modal-photo,.contact-modal-shade{position:absolute;inset:0}
.contact-modal-photo{background-position:center center;background-size:cover;filter:saturate(.9) contrast(1.03)}
.contact-modal-shade{background:linear-gradient(105deg,rgba(3,4,5,.96) 0%,rgba(3,4,5,.88) 42%,rgba(3,4,5,.76) 100%)}
.contact-modal-content{position:relative;z-index:2;min-height:590px;padding:54px 60px 44px;display:flex;flex-direction:column;justify-content:center}
.contact-modal-close{position:absolute;z-index:4;right:26px;top:24px;width:48px;height:48px;border:1px solid rgba(241,90,36,.68);border-radius:50%;background:rgba(8,9,9,.72);color:#fff;font:300 34px/1 Arial,sans-serif;cursor:pointer;transform:none;transition:border-color .2s ease,color .2s ease,background-color .2s ease}
.contact-modal-close:hover{border-color:var(--orange);color:var(--orange);background:rgba(241,90,36,.08);transform:none}
.contact-modal-logo{width:clamp(126px,14vw,176px);height:auto;object-fit:contain;margin:0 0 28px}
.contact-modal-content h2{margin:0 0 10px;font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-.025em}
.contact-modal-lead{margin:0 0 32px;color:#d3d7dc;font-size:17px;letter-spacing:.03em}
.contact-modal-main{display:grid;grid-template-columns:230px minmax(0,1fr);gap:44px;align-items:center}
.contact-modal-qr-link{display:block;width:230px;height:230px;padding:16px;background:#fff;border-radius:14px;box-shadow:0 0 28px rgba(241,90,36,.18)}
.contact-modal-qr{width:100%;height:100%;display:block;object-fit:contain}
.contact-modal-linkbox{min-width:0;padding-left:36px;border-left:1px solid rgba(255,255,255,.14)}
.contact-modal-linkbox p{margin:0 0 16px;color:#e7eaee;font-size:16px;line-height:1.7}
.contact-modal-button{width:min(360px,100%);min-height:62px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px 16px 24px;border:1px solid var(--orange);border-radius:8px;background:rgba(241,90,36,.04);color:#fff;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.08em;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.contact-modal-button b{font-size:24px;line-height:1;font-weight:400;transition:transform .25s ease}.contact-modal-button:hover,.contact-modal-button:focus-visible{background:var(--orange);border-color:var(--orange);color:#08090a;transform:translateY(-2px);outline:none}.contact-modal-button:hover b,.contact-modal-button:focus-visible b{transform:translateX(5px)}
.contact-modal-rule{height:1px;margin:34px 0 20px;background:linear-gradient(90deg,transparent,var(--orange),transparent)}
.contact-modal-company{margin:0;text-align:center;color:#e9edf2;font:700 13px/1.4 Arial,sans-serif;letter-spacing:.42em}
@media(max-width:720px){
  .contact-modal-shell{padding:16px}.contact-modal-card{width:100%;min-height:0;border-radius:16px}.contact-modal-content{min-height:min(660px,calc(100dvh - 32px));padding:58px 24px 30px;justify-content:flex-start}.contact-modal-close{right:16px;top:14px;width:42px;height:42px;font-size:29px}.contact-modal-logo{width:124px;margin-bottom:22px}.contact-modal-content h2{font-size:34px}.contact-modal-lead{font-size:14px;margin-bottom:24px}.contact-modal-main{grid-template-columns:1fr;gap:22px;justify-items:center}.contact-modal-qr-link{width:190px;height:190px}.contact-modal-linkbox{width:100%;padding:0;border:0;text-align:center}.contact-modal-linkbox p{font-size:14px}.contact-modal-button{width:min(320px,100%);min-height:56px;padding:14px 18px;font-size:14px}.contact-modal-rule{width:100%;margin:26px 0 18px}.contact-modal-company{font-size:11px;letter-spacing:.28em}
}
@media(prefers-reduced-motion:reduce){.contact-modal-backdrop,.contact-modal-card,.contact-modal-close{transition:none!important}}



/* ===== 2026-09-22 PROJECT LOG / STAFF BLOG UI refinements ===== */
/* All timeline dots use the section accent color, including future CMS entries. */
.project-log-marker,
.project-log-entry.is-first .project-log-marker{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  box-shadow:0 0 0 7px #050607 !important;
}
.project-log-timeline:before{
  background:linear-gradient(to bottom,var(--orange),rgba(241,90,36,.18)) !important;
}
.staff-blog-scope .project-log-marker,
.staff-blog-scope .project-log-entry.is-first .project-log-marker,
.staff-blog-page .project-log-marker,
.staff-blog-page .project-log-entry.is-first .project-log-marker{
  background:#6F8596 !important;
  border-color:#6F8596 !important;
  box-shadow:0 0 0 7px #050607 !important;
}
.staff-blog-scope .project-log-timeline:before,
.staff-blog-page .project-log-timeline:before{
  background:linear-gradient(to bottom,#6F8596,rgba(111,133,150,.2)) !important;
}
.home-page #news .project-log-marker,
.home-page #news .project-log-entry.is-first .project-log-marker{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  box-shadow:0 0 0 7px #f4f1eb !important;
}
.home-page #news .project-log-timeline:before{
  background:linear-gradient(to bottom,var(--orange),rgba(241,90,36,.2)) !important;
}
.home-page #news .staff-blog-scope .project-log-marker,
.home-page #news .staff-blog-scope .project-log-entry.is-first .project-log-marker{
  background:#6F8596 !important;
  border-color:#6F8596 !important;
  box-shadow:0 0 0 7px #f4f1eb !important;
}
.home-page #news .staff-blog-scope .project-log-timeline:before{
  background:linear-gradient(to bottom,#6F8596,rgba(111,133,150,.22)) !important;
}

/* HOME archive buttons restored to the previous PROJECT LOG / STAFF BLOG design. */
/* MENU+ low-voltage button: keep the original square shape; change colors only on hover/focus. */
.more-menu-lowvoltage{
  border-radius:0 !important;
  transition:border-color .28s ease,background .28s ease,color .28s ease,transform .28s ease;
}
.more-menu-lowvoltage:hover,
.more-menu-lowvoltage:focus-visible{
  border-color:var(--orange);
  background:var(--orange);
  color:#08090a;
  transform:translateY(-2px);
  outline:none;
}
.more-menu-lowvoltage:hover .more-menu-lowvoltage-copy small,
.more-menu-lowvoltage:focus-visible .more-menu-lowvoltage-copy small,
.more-menu-lowvoltage:hover .more-menu-lowvoltage-copy strong,
.more-menu-lowvoltage:focus-visible .more-menu-lowvoltage-copy strong,
.more-menu-lowvoltage:hover>i,
.more-menu-lowvoltage:focus-visible>i{
  color:#08090a;
}
.more-menu-lowvoltage:hover>i,
.more-menu-lowvoltage:focus-visible>i{transform:translateX(7px)}

/* PROJECT LOG detail: optional CONTACT CTA controlled by CMS. */
.project-log-contact-cta-wrap{margin-top:58px;padding-top:34px;border-top:1px solid rgba(255,255,255,.14)}
.project-log-contact-cta{
  width:min(520px,100%);
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 24px;
  border:1px solid rgba(241,90,36,.82);
  border-radius:10px;
  background:rgba(241,90,36,.04);
  color:#fff;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.project-log-contact-cta span{display:block;min-width:0;font-size:15px;line-height:1.5;font-weight:800;letter-spacing:.05em}
.project-log-contact-cta b{font-size:27px;font-weight:400;transition:transform .25s ease}
.project-log-contact-cta:hover,
.project-log-contact-cta:focus-visible{background:var(--orange);border-color:var(--orange);color:#08090a;transform:translateY(-2px);outline:none}
.project-log-contact-cta:hover b,
.project-log-contact-cta:focus-visible b{transform:translateX(5px)}
@media(max-width:720px){
  .project-log-contact-cta-wrap{margin-top:42px;padding-top:28px}
  .project-log-contact-cta{min-height:70px;padding:16px 18px;border-radius:9px}
  .project-log-contact-cta span{font-size:14px}
}

/* ===== 2026-09-22 quick fixes after review ===== */
/* ABOUT section button only: large rectangular CTA. */
.home-page #about .about-read-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  width:min(390px,100%) !important;
  min-height:76px !important;
  margin-top:30px !important;
  padding:18px 26px !important;
  border:1px solid rgba(255,255,255,.48) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.18em !important;
  text-decoration:none !important;
  transform:none !important;
  box-shadow:none !important;
}
.home-page #about .about-read-more:hover,
.home-page #about .about-read-more:focus-visible{
  background:#fff !important;
  color:#121721 !important;
  border-color:#fff !important;
  transform:translateY(-3px) !important;
  outline:none !important;
}
@media(max-width:720px){
  .home-page #about .about-read-more{
    width:100% !important;
    min-height:68px !important;
    padding:16px 20px !important;
  }
}

/* HOME PROJECT LOG timeline: use the same geometry as STAFF BLOG; only the accent color differs. */
.home-page #news .home-log-panel:not(.staff-blog-scope) .project-log-timeline:before{
  background:linear-gradient(var(--orange),rgba(0,0,0,.13)) !important;
}

/* PROJECT LOG detail CTA: keep default text white and readable. */
.project-log-contact-cta,
.project-log-contact-cta span,
.project-log-contact-cta b{
  color:#fff !important;
}
.project-log-contact-cta:hover,
.project-log-contact-cta:focus-visible{
  color:#08090a !important;
}
.project-log-contact-cta:hover span,
.project-log-contact-cta:hover b,
.project-log-contact-cta:focus-visible span,
.project-log-contact-cta:focus-visible b{
  color:#08090a !important;
}


/* ===== 2026-09-22 final timeline simplification ===== */
/* HOME and archive timeline rails are intentionally disabled. Keep dots only. */
.home-page #news .home-log-panel:not(.staff-blog-scope) .project-log-timeline::before,
.home-page #news .home-log-panel.staff-blog-scope .project-log-timeline::before,
.project-log-page .project-log-timeline::before,
.staff-blog-page .project-log-timeline::before{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Archive lists retain the small label without a duplicate page title. */
.project-log-page .project-log-page-head{margin-bottom:32px;}
.project-log-page .project-log-page-head .eyebrow{margin-bottom:0;}

/* ALPS-CMS-INLINE-COMPONENTS-START */
.cms-inline-added{padding:clamp(64px,8vw,120px) 7vw;overflow:hidden}.cms-inline-added>.inner{max-width:1280px;margin:auto}.cms-inline-added h2{font-size:clamp(34px,5vw,64px);line-height:1.12}.cms-inline-added.dark{background:var(--black,var(--dark,#060708));color:#fff}.cms-inline-added.light{background:var(--cms-light,var(--paper,#f4f1eb));color:var(--cms-text,var(--ink,#151a20))}.cms-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cms-inline-card{border:1px solid rgba(127,127,127,.25);border-radius:20px;padding:28px;transition:transform .35s,border-color .35s,background .35s}.cms-inline-card:hover{transform:translateY(-6px);border-color:var(--orange,#f15a24)}.cms-inline-added img{max-width:100%;height:auto;transition:transform .5s}.cms-inline-added img:hover{transform:scale(1.025)}.cms-inline-added.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.cms-inline-added.reveal.visible,.cms-inline-added.reveal.show{opacity:1;transform:none}.cms-visual-mobile{display:none}@media(max-width:700px){.cms-visual-desktop{display:none!important}.cms-visual-mobile{display:inline!important}.cms-inline-added{padding:56px 22px}.cms-inline-grid{grid-template-columns:1fr}}
/* ALPS-CMS-INLINE-COMPONENTS-END */
