:root{--green:#016435;--green-deep:#013d25;--gold:#edb132;--ink:#040000;--white:#fff;--paper:#f6f7f4;--line:#d9ded9;--muted:#5d6861;--serif:"Times New Roman","Yu Mincho",YuMincho,serif;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans","Yu Gothic",YuGothic,Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-feature-settings:"palt" 1;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;vertical-align:middle}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.sr-only,.skip-link{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{z-index:1000;top:12px;left:12px;width:auto;height:auto;padding:10px 14px;clip:auto;background:#fff}.eyebrow{margin:0 0 10px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.18em}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:55px;padding:14px 24px;border:1px solid transparent;border-radius:0;font-size:14px;font-weight:800;letter-spacing:.04em;transition:transform .25s,background .25s,color .25s,border .25s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;font-weight:400;line-height:0}.button--gold{background:var(--gold);color:var(--ink)}.button--green{background:var(--green);color:#fff}.button--line{border-color:var(--green);color:var(--green)}.button--line-light{border-color:rgba(255,255,255,.7);color:#fff}.button--white{background:#fff;color:var(--green)}.button--small{min-height:42px;padding:9px 15px;font-size:12px}.button--wide{width:100%}.text-link{display:inline-flex;align-items:center;gap:13px;color:var(--green);font-size:14px;font-weight:800}.text-link i{font-size:20px;font-style:normal;transition:transform .2s}.text-link:hover i{transform:translateX(5px)}.section{padding:128px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading h2,.page-hero h1,.form-intro h1{margin:0;font-size:clamp(34px,4.2vw,62px);line-height:1.18;letter-spacing:.02em}.section-heading--center{justify-content:center;text-align:center}.section-heading--center p:last-child{max-width:580px;margin:18px auto 0;color:var(--muted);font-size:15px}.section-intro{margin:-22px 0 35px;color:var(--muted);font-size:14px}.center{text-align:center}.site-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid rgba(1,100,53,.11)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:22px;width:min(1380px,calc(100% - 48px));height:86px;margin:auto}.brand{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto;color:var(--green);font-size:20px;line-height:1;font-weight:400;letter-spacing:.02em}.brand b{font-weight:900}.brand em{display:block;margin-top:5px;font-size:7px;font-style:normal;letter-spacing:.1em;text-transform:uppercase}.brand__mark{display:flex;align-items:flex-end;gap:3px;width:23px;height:30px}.brand__mark i{display:block;width:5px;background:var(--gold);transform:skewY(-23deg)}.brand__mark i:nth-child(1){height:12px}.brand__mark i:nth-child(2){height:20px}.brand__mark i:nth-child(3){height:29px}.primary-nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,36px);margin-left:auto;font-size:13px;font-weight:700}.primary-nav a{position:relative}.primary-nav a:after{position:absolute;right:0;bottom:-7px;left:0;height:1px;background:var(--gold);content:"";transform:scaleX(0);transform-origin:right;transition:transform .25s}.primary-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;align-items:center;gap:17px}.header-login{font-size:12px;font-weight:700}.menu-toggle,.mobile-menu{display:none}.hero{position:relative;min-height:680px;overflow:hidden;background:var(--green-deep);color:#fff}.hero__content{position:relative;z-index:2;padding-top:142px}.hero .eyebrow{color:var(--gold)}.hero h1{max-width:750px;margin:0;font-size:clamp(48px,6.1vw,87px);font-weight:700;line-height:1.17;letter-spacing:.03em}.hero h1 em{color:var(--gold);font-family:var(--serif);font-style:normal;font-weight:400}.hero__lead{margin:30px 0 36px;font-size:16px;line-height:2}.hero__actions{display:flex;gap:12px}.hero__media{position:absolute;inset:0;pointer-events:none}.hero__grid{position:absolute;top:-150px;right:-65px;width:62%;height:125%;opacity:.17;background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);background-size:50px 50px;transform:perspective(700px) rotateY(-18deg) rotateX(10deg)}.hero__sun{position:absolute;top:73px;right:13%;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle at center,rgba(237,177,50,.7),rgba(237,177,50,.03) 67%,transparent 69%)}.hero__battery{position:absolute;right:10%;bottom:-105px;width:450px;height:420px;border:1px solid rgba(255,255,255,.6);transform:perspective(1000px) rotateY(-22deg) rotateX(4deg);box-shadow:0 30px 80px rgba(0,0,0,.24);background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.03))}.hero__battery:before{position:absolute;top:-16px;right:43%;width:60px;height:16px;background:var(--gold);content:""}.hero__battery i{position:relative;display:block;height:72px;margin:6px;background:rgba(1,100,53,.62);border:1px solid rgba(237,177,50,.8)}.hero__scroll{position:absolute;bottom:27px;left:calc(50% - 590px);display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.7);font-size:9px;letter-spacing:.17em}.hero__scroll i{display:block;width:50px;height:1px;background:var(--gold)}.search-panel-wrap{position:relative;z-index:3;margin-top:-73px}.search-panel{padding:29px 34px;background:#fff;box-shadow:0 14px 45px rgba(0,48,27,.14)}.search-panel__heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.section-number{display:grid;width:33px;height:33px;place-items:center;background:var(--gold);font-size:12px;font-weight:900}.search-panel h2{margin:0;font-size:20px}.search-panel .eyebrow{margin:0 0 2px}.search-panel__fields{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.search-panel label,.filter-form label,.entry-form label{display:block;color:var(--ink);font-size:12px;font-weight:700}.search-panel label span,.filter-form label span{display:block;margin:0 0 6px}.search-panel select,.search-panel input,.filter-form select,.filter-form input,.entry-form input,.entry-form select,.entry-form textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font-size:14px;outline:none;transition:border .2s,box-shadow .2s}.search-panel select:focus,.search-panel input:focus,.filter-form select:focus,.filter-form input:focus,.entry-form input:focus,.entry-form select:focus,.entry-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(1,100,53,.12)}.search-panel .button{min-height:48px;margin-top:24px;padding:10px 12px}.search-panel__all{display:block;margin:17px 0 0;color:var(--green);font-size:12px;font-weight:800;text-align:right}.properties-preview{padding-top:120px}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.property-card{overflow:hidden;border:1px solid #e4e7e4;background:#fff;transition:box-shadow .3s,transform .3s}.property-card:hover{box-shadow:0 18px 36px rgba(0,52,30,.14);transform:translateY(-5px)}.property-card__visual{position:relative;height:225px;overflow:hidden;background:#d4dfd5}.property-card__visual img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.property-card:hover img{transform:scale(1.04)}.property-card__placeholder{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;width:100%;height:100%;padding:25px;background:linear-gradient(137deg,rgba(1,100,53,.83),rgba(1,57,34,.25)),linear-gradient(32deg,#7b9282 2px,transparent 2px);background-size:auto,24px 24px;color:#fff}.property-card__placeholder span{font-size:10px;font-weight:800;letter-spacing:.17em}.property-card__placeholder b{font-size:23px;letter-spacing:.05em}.property-card__placeholder--large{min-height:420px}.sample-badge,.status-badge{position:absolute;top:13px;padding:5px 8px;background:rgba(4,0,0,.72);color:#fff;font-size:9px;font-weight:700;letter-spacing:.06em}.sample-badge{left:13px}.status-badge{right:13px;background:var(--green)}.property-card__body{padding:24px}.property-card h3{min-height:60px;margin:0;font-size:20px;line-height:1.5}.property-card h3 a:hover{color:var(--green)}.property-card__location{margin:9px 0 20px;color:var(--muted);font-size:12px}.property-card__location span{margin:0 6px;color:var(--gold)}.property-card__facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.property-card__facts div{margin:0}.property-card__facts dt{color:var(--muted);font-size:10px}.property-card__facts dd{margin:2px 0 0;font-size:13px;font-weight:800}.property-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:17px;color:var(--green);font-size:11px;font-weight:700}.value-section{background:var(--paper)}.value-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:12%;align-items:start}.value-copy h2,.member-benefits h2,.risk-section h2{margin:0 0 24px;font-size:clamp(35px,4vw,58px);line-height:1.25}.value-copy>p:not(.eyebrow),.risk-grid>div>p:not(.eyebrow){max-width:440px;margin:0 0 26px;color:var(--muted);font-size:15px}.value-list{border-top:1px solid var(--green)}.value-card{display:grid;grid-template-columns:58px 1fr;column-gap:16px;padding:24px 0;border-bottom:1px solid #c8d3ca}.value-card span{grid-row:span 2;color:var(--gold);font-family:var(--serif);font-size:30px}.value-card h3{margin:0;font-size:19px}.value-card p{grid-column:2;margin:7px 0 0;color:var(--muted);font-size:13px}.member-benefits{padding:105px 0;background:var(--green);color:#fff}.member-benefits__grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.member-benefits .eyebrow{color:var(--gold)}.member-benefits__copy>p:not(.eyebrow){max-width:410px;margin:0 0 29px;color:rgba(255,255,255,.78)}.benefit-list{border-top:1px solid rgba(255,255,255,.3)}.benefit{display:flex;gap:22px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.3)}.benefit>span{color:var(--gold);font-family:var(--serif);font-size:27px}.benefit h3{margin:0;font-size:19px}.benefit p{margin:5px 0 0;color:rgba(255,255,255,.72);font-size:13px}.mechanism{background:#fff}.mechanism-flow{display:flex;align-items:stretch;justify-content:center;margin:60px 0 25px}.flow-card{flex:1;max-width:280px;padding:26px;border:1px solid var(--line)}.flow-card span{display:block;color:var(--gold);font-size:12px;font-weight:800}.flow-card h3{margin:27px 0 9px;font-size:19px}.flow-card p{margin:0;color:var(--muted);font-size:13px}.flow-arrow{align-self:center;margin:0 16px;color:var(--gold);font-size:26px;font-style:normal}.disclaimer-note{margin:0 auto 24px;max-width:700px;color:#69726c;font-size:11px;text-align:center}.risk-section{padding:105px 0;background:var(--paper)}.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.risk-cards{display:grid;gap:16px}.risk-card{padding:27px;background:#fff;border-left:3px solid var(--green)}.risk-card:nth-child(2){border-color:var(--gold)}.risk-card b{color:var(--green);font-size:10px;letter-spacing:.15em}.risk-card:nth-child(2) b{color:#a9720a}.risk-card h3{margin:8px 0;font-size:20px}.risk-card p{margin:0;color:var(--muted);font-size:13px}.process{padding:115px 0}.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-list li{position:relative;padding:25px 23px 26px;border-right:1px solid var(--line)}.process-list li:last-child{border:0}.process-list span{color:var(--gold);font-family:var(--serif);font-size:28px}.process-list h3{margin:32px 0 10px;font-size:18px}.process-list p{margin:0;color:var(--muted);font-size:13px}.faq-preview{padding:105px 0;background:var(--green-deep);color:#fff}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:13%}.faq-preview .eyebrow{color:var(--gold)}.faq-grid>div>p:not(.eyebrow){color:rgba(255,255,255,.72);font-size:14px}.faq-grid h2{margin:0 0 20px;font-size:clamp(32px,3.5vw,50px);line-height:1.25}.faq-preview .text-link{color:var(--gold)}.accordion{border-top:1px solid rgba(255,255,255,.35)}.accordion details{border-bottom:1px solid rgba(255,255,255,.35)}.accordion summary{display:flex;padding:20px 0;cursor:pointer;list-style:none;font-size:15px;font-weight:700}.accordion summary::-webkit-details-marker{display:none}.accordion summary i{margin-left:auto;color:var(--gold);font-size:22px;font-style:normal}.accordion details[open] summary i{transform:rotate(45deg)}.accordion details p{margin:0;padding:0 25px 20px 0;color:rgba(255,255,255,.72);font-size:13px}.site-footer{background:#020e08;color:#fff}.footer-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;width:min(1180px,calc(100% - 48px));margin:auto;padding:66px 0;border-bottom:1px solid rgba(255,255,255,.2)}.footer-cta .eyebrow{color:var(--gold)}.footer-cta h2{margin:0 0 8px;font-size:clamp(28px,3.4vw,46px);line-height:1.25}.footer-cta p:not(.eyebrow){margin:0;color:rgba(255,255,255,.68);font-size:13px}.footer-cta__actions{display:flex;gap:10px}.footer-main{display:grid;grid-template-columns:270px 1fr;gap:70px;width:min(1180px,calc(100% - 48px));margin:auto;padding:58px 0}.brand--footer{color:#fff}.brand--footer .brand__mark i{background:var(--gold)}.footer-intro{grid-row:2;margin:-45px 0 0;color:rgba(255,255,255,.6);font-size:12px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.footer-links div{display:grid;align-content:start;gap:9px}.footer-links b{margin-bottom:4px;color:var(--gold);font-size:11px;letter-spacing:.08em}.footer-links a{color:rgba(255,255,255,.7);font-size:12px}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;width:min(1180px,calc(100% - 48px));margin:auto;padding:16px 0;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.5);font-size:10px}.footer-bottom div{display:flex;gap:18px}.mobile-cta{display:none}.page-hero{padding:100px 0 84px;background:var(--green-deep);color:#fff}.page-hero .eyebrow{color:var(--gold)}.page-hero h1{margin:0 0 14px}.page-hero p:last-child{max-width:590px;margin:0;color:rgba(255,255,255,.75);font-size:15px}.page-hero--simple{padding:90px 0 75px}.archive-section{padding:0 0 115px;background:var(--paper)}.filter-form{position:relative;top:-36px;padding:29px 32px;background:#fff;box-shadow:0 10px 35px rgba(0,48,27,.1)}.filter-form__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.filter-form__head h2{margin:0;font-size:21px}.filter-form__head .eyebrow{margin-bottom:3px}.filter-form__head>a{color:var(--green);font-size:12px;font-weight:700;text-decoration:underline}.filter-form__fields{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.filter-form__submit{text-align:center;margin-top:24px}.archive-result{display:flex;justify-content:space-between;align-items:center;margin:21px 0 23px}.archive-result p{margin:0;font-size:14px}.archive-result p b{color:var(--green);font-size:22px}.archive-result span{color:var(--muted);font-size:11px}.property-grid--archive{grid-template-columns:repeat(3,1fr)}.empty-state{grid-column:1/-1;padding:75px 20px;background:#fff;text-align:center}.pagination{display:flex;justify-content:center;gap:8px;margin-top:45px}.pagination .page-numbers{display:grid;width:35px;height:35px;place-items:center;border:1px solid var(--line);font-size:13px}.pagination .current{background:var(--green);border-color:var(--green);color:#fff}.property-detail-hero{padding:48px 0;background:var(--paper)}.back-link{display:inline-block;margin-bottom:38px;color:var(--green);font-size:12px;font-weight:700}.detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.detail-head .eyebrow{margin-bottom:8px}.detail-head h1{margin:0;font-size:clamp(34px,4.2vw,59px);line-height:1.25}.detail-head p:last-child{margin:11px 0 0;color:var(--muted);font-size:13px}.detail-head p span{margin:0 8px;color:var(--gold)}.detail-status{padding:7px 12px;background:var(--green);color:#fff;font-size:12px;font-weight:700}.property-detail{padding:70px 0 120px}.property-detail__grid{display:grid;grid-template-columns:1fr 310px;gap:7%}.property-detail__image{position:relative;background:#d4dfd5}.property-detail__main{min-width:0}.property-detail__content{padding-top:58px}.property-detail__content h2{margin:0 0 20px;font-size:29px}.property-detail__content>.eyebrow{margin-bottom:4px}.property-detail__content>p{color:var(--muted);font-size:14px}.property-table{width:100%;margin-top:30px;border-collapse:collapse}.property-table tr{border-top:1px solid var(--line)}.property-table tr:last-child{border-bottom:1px solid var(--line)}.property-table th,.property-table td{padding:14px 18px;font-size:13px;text-align:left}.property-table th{width:36%;background:var(--paper);font-weight:700}.property-table td{font-weight:600}.detail-contact{padding:29px;background:var(--green);color:#fff}.detail-contact .eyebrow{color:var(--gold)}.detail-contact h2{margin:0 0 13px;font-size:25px;line-height:1.4}.detail-contact>p{margin:0 0 22px;color:rgba(255,255,255,.76);font-size:13px}.detail-contact .button{width:100%}.detail-contact hr{margin:25px 0;border:0;border-top:1px solid rgba(255,255,255,.35)}.detail-contact>b{font-size:14px}.detail-contact .text-link{color:var(--gold)}.detail-note{margin-top:15px;padding:22px;border:1px solid var(--line)}.detail-note b{font-size:13px}.detail-note p,.detail-note a{font-size:11px}.detail-note p{color:var(--muted)}.detail-note a{color:var(--green);text-decoration:underline}.content-page{padding:85px 0 120px}.content-page__inner{max-width:820px}.info-stack{border-top:1px solid var(--line)}.info-block{padding:37px 0;border-bottom:1px solid var(--line)}.info-block h2{margin:0 0 10px;font-size:24px}.info-block p{margin:0;max-width:680px;color:var(--muted);font-size:15px}.editor-content{margin-bottom:38px}.page-action{margin-top:48px;padding:30px;background:var(--paper)}.page-action p{margin:0 0 16px;font-size:14px}.form-page{min-height:650px;padding:94px 0 120px;background:var(--paper)}.form-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:12%;align-items:start}.form-intro{padding-top:22px}.form-intro h1{margin-bottom:22px}.form-intro>p:not(.eyebrow){max-width:360px;margin:0;color:var(--muted);font-size:15px}.form-intro ul{margin:28px 0 0;padding:0;list-style:none}.form-intro li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.form-intro li:before{margin-right:9px;color:var(--gold);content:"✓"}.form-card{padding:37px;background:#fff;box-shadow:0 12px 36px rgba(0,48,27,.08)}.form-card h2{margin:0 0 25px;font-size:25px}.entry-form{display:grid;gap:17px}.entry-form b{margin-left:4px;color:#b63920;font-size:10px}.entry-form small{font-weight:400;color:var(--muted)}.entry-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-label{display:flex!important;align-items:flex-start;gap:9px;cursor:pointer}.check-label input{width:17px!important;min-height:17px!important;margin:3px 0 0}.check-label span{font-size:12px;font-weight:500}.check-label a{color:var(--green);text-decoration:underline}.character-count{display:block;margin-top:4px;font-size:10px}.form-caption{margin:0;color:var(--muted);font-size:10px;text-align:center}.form-switch{margin:22px 0 0;color:var(--muted);font-size:12px;text-align:center}.form-switch a{color:var(--green);font-weight:800;text-decoration:underline}.form-notice{margin:0 0 18px;padding:12px;background:#e3f2e8;color:var(--green);font-size:13px;font-weight:700}.form-notice.is-error{background:#fff0ec;color:#ad3219}.contact-side-note{margin-top:30px;padding:20px;border-left:2px solid var(--gold);background:#fff}.contact-side-note b{font-size:13px}.contact-side-note ol{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:12px}.form-page--login{min-height:600px}.form-page--login .form-card{max-width:550px}.login-username,.login-password,.login-remember{margin:0 0 17px}.login-username label,.login-password label{display:block;margin-bottom:6px;font-size:12px;font-weight:700}.login-username input,.login-password input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line)}.login-remember label{font-size:12px}.login-submit input{width:100%;min-height:55px;border:0;background:var(--gold);font-weight:800;cursor:pointer}.post-list{border-top:1px solid var(--line)}.post-item{padding:30px 0;border-bottom:1px solid var(--line)}.post-item h2{margin:0 0 8px;font-size:25px}.post-item h2:hover{color:var(--green)}.post-item>p:not(.eyebrow){margin:0 0 14px;color:var(--muted);font-size:13px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media(max-width:960px){.primary-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px;border:0;background:transparent}.menu-toggle span{display:block;width:24px;height:2px;background:var(--green);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:absolute;top:86px;right:0;left:0;padding:20px 24px;background:#fff;border-top:1px solid var(--line);box-shadow:0 20px 30px rgba(0,0,0,.1)}.mobile-menu nav{display:grid;gap:0}.mobile-menu nav>a:not(.button){padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.mobile-menu .button{margin-top:12px}.header-actions{margin-left:auto}.hero__scroll{left:24px}.search-panel__fields{grid-template-columns:repeat(3,1fr)}.search-panel .button{margin-top:24px}.property-grid{grid-template-columns:repeat(2,1fr)}.value-grid,.member-benefits__grid,.risk-grid,.faq-grid{gap:7%}.property-grid--archive{grid-template-columns:repeat(2,1fr)}.filter-form__fields{grid-template-columns:repeat(3,1fr)}.property-detail__grid{gap:4%;grid-template-columns:1fr 275px}.footer-main{grid-template-columns:220px 1fr;gap:35px}}
@media(max-width:680px){body{padding-bottom:54px}.container,.site-header__inner,.footer-cta,.footer-main,.footer-bottom{width:min(100% - 32px,1180px)}.site-header__inner{height:70px}.brand{font-size:17px}.brand__mark{width:20px;height:27px}.brand em{font-size:6px}.header-login{display:none}.header-actions .button{display:none}.mobile-menu{top:70px;padding:16px}.hero{min-height:650px}.hero__content{padding-top:105px}.hero h1{font-size:46px}.hero__lead{font-size:14px}.hero__lead br{display:none}.hero__actions{flex-direction:column;align-items:flex-start}.hero__grid{right:-180px;width:140%}.hero__battery{right:-147px;bottom:-65px;width:330px;height:310px}.hero__sun{right:-53px}.hero__scroll{bottom:18px;left:16px}.search-panel-wrap{margin-top:-26px}.search-panel{padding:22px 18px}.search-panel__fields,.filter-form__fields{grid-template-columns:1fr 1fr;gap:10px}.search-panel__fields .button{grid-column:1/-1;margin-top:7px}.search-panel__all{text-align:left}.section{padding:80px 0}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:28px}.section-heading h2{font-size:37px}.properties-preview{padding-top:85px}.property-grid,.property-grid--archive{grid-template-columns:1fr;gap:16px}.property-card__visual{height:210px}.value-grid,.member-benefits__grid,.risk-grid,.faq-grid,.form-layout{grid-template-columns:1fr;gap:44px}.value-copy h2,.member-benefits h2,.risk-section h2{font-size:37px}.member-benefits{padding:74px 0}.mechanism-flow{flex-direction:column;align-items:stretch;gap:0;margin:37px 0 20px}.flow-card{max-width:none}.flow-arrow{align-self:center;transform:rotate(90deg);margin:6px 0}.process{padding:78px 0}.process-list{grid-template-columns:1fr 1fr}.process-list li:nth-child(2){border-right:0}.process-list li:nth-child(-n+2){border-bottom:1px solid var(--line)}.faq-preview{padding:80px 0}.footer-cta{align-items:flex-start;flex-direction:column;padding:55px 0}.footer-cta h2{font-size:31px}.footer-cta__actions{flex-direction:column;width:100%}.footer-cta__actions .button{width:100%}.footer-main{grid-template-columns:1fr;padding:45px 0;gap:25px}.footer-intro{grid-row:auto;margin:0}.footer-links{grid-template-columns:1fr 1fr;gap:28px}.footer-links div:last-child{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column;padding:16px 0}.footer-bottom div{flex-wrap:wrap;gap:9px 15px}.mobile-cta{position:fixed;z-index:50;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;height:54px;box-shadow:0 -5px 15px rgba(0,0,0,.15)}.mobile-cta a{display:grid;place-items:center;background:#fff;color:var(--green);font-size:13px;font-weight:800}.mobile-cta a:last-child{background:var(--gold);color:var(--ink)}.page-hero{padding:67px 0}.page-hero h1{font-size:40px}.archive-section{padding-bottom:75px}.filter-form{top:-25px;padding:22px 16px}.filter-form__head{align-items:flex-start;flex-direction:column;gap:7px}.filter-form__submit .button{width:100%}.archive-result{align-items:flex-start;flex-direction:column;gap:5px}.property-detail-hero{padding:30px 0}.back-link{margin-bottom:25px}.detail-head{align-items:flex-start;flex-direction:column}.detail-head h1{font-size:35px}.property-detail{padding:40px 0 75px}.property-detail__grid{grid-template-columns:1fr;gap:28px}.property-card__placeholder--large{min-height:250px}.property-detail__content{padding-top:36px}.property-table th,.property-table td{padding:11px;font-size:12px}.property-table th{width:43%}.content-page{padding:60px 0 80px}.info-block{padding:27px 0}.info-block h2{font-size:21px}.form-page{padding:58px 0 75px}.form-intro{padding-top:0}.form-intro h1{font-size:39px}.form-card{padding:25px 18px}.form-row{grid-template-columns:1fr}.form-card h2{font-size:22px}.form-page--login{min-height:500px}.section-heading--center{align-items:center;text-align:center}.section-heading--center h2{font-size:34px}}

/* ENERGY BANK 1.2 editorial design layer. */
:root {
  --green-deep: #00351f;
  --green-dark: #002a19;
  --gold-on-green: #f2c76b;
  --paper: #f4f4ef;
  --paper-warm: #faf9f4;
  --sage: #dce9df;
  --line: #d9ded8;
  --muted: #59645d;
  --shadow-soft: 0 22px 70px rgba(0, 48, 27, .10);
  --container: 1240px;
  --sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "YuGothic", sans-serif;
  --body-size: 16px;
  --hero-min: 52px;
  --hero-fluid: 5.2vw;
  --hero-max: 76px;
  --section-min: 40px;
  --section-fluid: 4vw;
  --section-max: 60px;
}

@supports (color: color-mix(in srgb, #000, #fff)) {
  :root { --gold-on-green: color-mix(in srgb, var(--gold) 72%, #fff); }
}

html { scroll-padding-top: 94px; }
body { font-family: var(--sans); font-size: var(--body-size); font-weight: 400; line-height: 1.88; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.menu-is-open { overflow: hidden; }
.eb-type-compact { --body-size: 15px; --hero-min: 49px; --hero-fluid: 5vw; --hero-max: 72px; --section-min: 37px; --section-fluid: 3.8vw; --section-max: 56px; }
.eb-type-large { --body-size: 17px; --hero-min: 55px; --hero-fluid: 5.35vw; --hero-max: 80px; --section-min: 43px; --section-fluid: 4.2vw; --section-max: 64px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--sans); font-style: normal; font-weight: 700; }
.container { width: min(var(--container), calc(100% - 64px)); }
.section { padding: clamp(88px, 9.2vw, 140px) 0; }
.eyebrow { margin-bottom: 13px; font-size: 11px; letter-spacing: .2em; }
.eyebrow::before { display: inline-block; width: 22px; height: 1px; margin: 0 10px 3px 0; background: currentColor; content: ""; }
.section-heading { margin-bottom: 52px; }
.section-heading h2,
.page-hero h1,
.form-intro h1 { font-size: clamp(var(--section-min), var(--section-fluid), var(--section-max)); line-height: 1.25; letter-spacing: .025em; }
.section-heading--split { align-items: end; }
.section-heading--split > div { max-width: 760px; }
.section-heading--split > p { max-width: 390px; margin: 0 0 5px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.section-intro { max-width: 680px; margin: -28px 0 42px; font-size: 15px; line-height: 1.9; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.button--gold:focus-visible,
.mobile-cta a:last-child:focus-visible { outline-color: var(--ink); box-shadow: 0 0 0 6px var(--white); }
.button { min-height: 58px; padding: 15px 27px; border-radius: 4px; transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease, color .28s ease; }
.button:hover { box-shadow: 0 12px 24px rgba(0, 38, 21, .16); transform: translateY(-3px); }
.button--gold:hover { background: #f4bd45; }
.button--green:hover { background: var(--green-deep); }
.button--line:hover { background: var(--green); color: var(--white); }
.button--line-light:hover { background: var(--white); color: var(--green-deep); }
.button:disabled { cursor: wait; opacity: .68; }
.button.is-loading { animation: eb-pulse 1s ease-in-out infinite alternate; }
.text-link { gap: 16px; padding-bottom: 3px; border-bottom: 1px solid rgba(1, 100, 53, .28); }

.site-header { position: sticky; top: 0; z-index: 80; transition: box-shadow .3s ease, background-color .3s ease; }
.site-header.is-scrolled { box-shadow: 0 12px 34px rgba(0, 45, 25, .09); }
.site-header__inner { width: min(1440px, calc(100% - 56px)); height: 92px; }
.primary-nav { gap: clamp(18px, 2.3vw, 38px); font-size: 13px; }
.primary-nav a { padding: 8px 0; }
.header-login { padding: 8px 2px; }
.custom-brand { min-width: 170px; }

.hero { min-height: 760px; isolation: isolate; background: var(--green-deep); }
.hero::after { position: absolute; z-index: 0; right: -18%; bottom: -45%; width: 78%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; content: ""; }
.hero__layout { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1.36fr) minmax(220px, .64fr); align-items: center; min-height: 760px; }
.hero__content { padding: 32px 0 78px; }
.hero h1 { max-width: 930px; font-family: var(--sans); font-size: clamp(var(--hero-min), var(--hero-fluid), var(--hero-max)); font-style: normal; font-weight: 700; line-height: 1.24; letter-spacing: .025em; }
.hero h1 em { display: inline-block; margin-top: 6px; color: var(--gold); font-family: var(--sans); font-size: 1em; font-style: normal; font-weight: 700; letter-spacing: .025em; }
.hero__lead { max-width: 610px; margin: 34px 0 38px; font-size: 17px; line-height: 1.95; }
.hero__actions { gap: 14px; }
.hero__media { z-index: 1; overflow: hidden; transform: translateZ(0); will-change: transform; }
.hero__grid { top: -22%; right: -10%; width: 68%; height: 145%; opacity: .19; background-size: 54px 54px; transform: perspective(900px) rotateY(-24deg) rotateX(10deg); }
.hero__glow { position: absolute; top: 13%; right: 11%; width: 290px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(237,177,50,.8) 0, rgba(237,177,50,.2) 28%, rgba(237,177,50,0) 70%); filter: blur(2px); }
.hero__land { position: absolute; right: -5%; bottom: -12%; width: 58%; height: 42%; border-top: 1px solid rgba(237,177,50,.55); background: linear-gradient(145deg, rgba(35,123,76,.7), rgba(0,42,25,.12)); clip-path: polygon(10% 0, 100% 28%, 100% 100%, 0 100%); }
.hero__battery { right: 6%; bottom: 3%; width: min(36vw, 490px); height: 405px; border-color: rgba(255,255,255,.55); background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.025)); box-shadow: 0 45px 100px rgba(0,0,0,.28); transform: perspective(1100px) rotateY(-19deg) rotateX(3deg); }
.hero__battery::before { top: -18px; right: 38%; width: 72px; height: 18px; }
.hero__battery::after { position: absolute; inset: 17px; border: 1px solid rgba(255,255,255,.12); content: ""; }
.hero__battery i { height: calc(25% - 10px); margin: 8px; border-color: rgba(237,177,50,.67); background: linear-gradient(90deg, rgba(1,100,53,.78), rgba(36,132,84,.42)); }
.hero__energy-line { position: absolute; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); transform-origin: left; }
.hero__energy-line--one { top: 34%; right: 3%; width: 46%; transform: rotate(-17deg); }
.hero__energy-line--two { right: 11%; bottom: 28%; width: 39%; transform: rotate(9deg); }
.hero__visual-copy { align-self: end; justify-self: end; margin: 0 12px 105px 0; color: rgba(255,255,255,.65); text-align: right; }
.hero__visual-copy span { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .22em; }
.hero__visual-copy p { margin: 8px 0 0; font-family: var(--serif); font-size: 16px; line-height: 1.65; letter-spacing: .08em; }
.hero__scroll { bottom: 30px; left: max(32px, calc(50% - 620px)); }

/* Cinematic hero media: the poster remains available behind the decorative video. */
.hero__media--cinematic { inset: -24px; background: var(--green-deep); }
.hero__poster,
.hero__video,
.hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__poster,
.hero__video { object-fit: cover; object-position: var(--hero-media-position, center center); }
.hero__poster { z-index: 0; }
.hero__video { z-index: 1; pointer-events: none; }
.js .hero__video { opacity: 0; transition: opacity .65s ease; }
.js.hero-video-ready .hero__video { opacity: 1; }
.js.hero-video-failed .hero__video { display: none; }
.hero__overlay {
  z-index: 2;
  background: linear-gradient(90deg, rgba(0, 42, 25, var(--hero-overlay-deep, .85)) 0%, rgba(0, 53, 31, var(--hero-overlay, .68)) 52%, rgba(0, 42, 25, var(--hero-overlay-soft, .35)) 100%);
}
.hero--poster .hero__overlay { background: rgba(0, 53, 31, var(--hero-overlay, .68)); }
.hero--video::after { z-index: 2; opacity: .32; }

.search-panel-wrap { margin-top: -91px; }
.search-panel { padding: 34px 38px 27px; border: 1px solid rgba(1,100,53,.1); border-radius: 8px; box-shadow: var(--shadow-soft); }
.search-panel__heading { margin-bottom: 24px; }
.section-number { width: 39px; height: 39px; border-radius: 50%; }
.search-panel h2 { font-size: 23px; }
.search-panel__fields { grid-template-columns: repeat(4, minmax(0, 1fr)) 160px; gap: 14px; }
.search-panel select,
.search-panel input,
.filter-form select,
.filter-form input,
.entry-form input,
.entry-form select,
.entry-form textarea { border-radius: 4px; background-color: #fff; }
.search-panel__advanced { margin-top: 18px; border-top: 1px solid var(--line); }
.search-panel__advanced summary { display: flex; align-items: center; gap: 12px; width: fit-content; padding-top: 15px; cursor: pointer; color: var(--green); font-size: 12px; font-weight: 800; list-style: none; }
.search-panel__advanced summary::-webkit-details-marker { display: none; }
.search-panel__advanced summary i { font-size: 18px; font-style: normal; transition: transform .25s ease; }
.search-panel__advanced[open] summary i { transform: rotate(45deg); }
.search-panel__advanced-fields { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding-top: 16px; }
.search-panel__all { margin-top: 13px; }

.properties-preview { position: relative; overflow: clip; padding-top: clamp(105px, 11vw, 160px); background: var(--paper-warm); }
.property-grid { gap: 24px; }
.property-card { border-radius: 6px; box-shadow: 0 10px 30px rgba(0,45,25,.05); }
.property-card:hover { box-shadow: 0 25px 55px rgba(0,52,30,.13); }
.property-card__visual { height: 240px; }
.properties-preview .property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.properties-preview .property-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.08fr .92fr; }
.properties-preview .property-card:first-child .property-card__visual { height: auto; min-height: 420px; }
.properties-preview .property-card:first-child .property-card__body { display: flex; flex-direction: column; justify-content: center; padding: 42px; }
.properties-preview .property-card:first-child h3 { min-height: 0; font-size: 28px; }
.property-card__body { padding: 27px; }
.property-card__placeholder { background: linear-gradient(135deg, rgba(1,100,53,.92), rgba(0,53,31,.45)), repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,.09) 39px 40px); }
.sample-badge,
.status-badge { top: 16px; padding: 6px 10px; border-radius: 2px; }
.sample-badge { left: 16px; }
.status-badge { right: 16px; }

.strengths-section { position: relative; overflow: clip; background: var(--paper); }
.strengths-section::before { position: absolute; top: -24%; right: -8%; width: 48vw; aspect-ratio: 1; border: 1px solid rgba(1,100,53,.10); border-radius: 50%; content: ""; }
.editorial-grid { position: relative; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 10%; }
.editorial-copy { position: sticky; top: 132px; align-self: start; }
.editorial-copy h2,
.member-benefits h2,
.decision-heading h2,
.trust-copy h2 { margin: 0 0 28px; font-size: clamp(var(--section-min), var(--section-fluid), var(--section-max)); line-height: 1.27; letter-spacing: .025em; }
.editorial-copy > p:not(.eyebrow),
.trust-copy > p:not(.eyebrow) { max-width: 510px; margin: 0 0 31px; color: var(--muted); font-size: 16px; line-height: 2; }
.strength-list { border-top: 1px solid var(--green); }
.strength-item { display: grid; grid-template-columns: 76px 1fr; gap: 24px; padding: 31px 0; border-bottom: 1px solid rgba(1,100,53,.24); }
.strength-item > span { color: var(--gold); font-family: var(--sans); font-size: 35px; font-weight: 500; line-height: 1; }
.strength-item h3 { margin: 0 0 7px; font-size: 23px; letter-spacing: -.01em; }
.strength-item p { max-width: 540px; margin: 0; color: var(--muted); font-size: 14px; }

.member-benefits { position: relative; overflow: clip; padding: clamp(110px, 10vw, 150px) 0; background: var(--green); }
.member-benefits .eyebrow,
.mid-cta .eyebrow { color: var(--gold-on-green); }
.member-benefits::before { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 56px 56px; content: ""; transform: perspective(800px) rotateY(-18deg) scale(1.2); }
.member-benefits__shape { position: absolute; top: -43%; right: -7%; width: 55vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.member-benefits__grid { position: relative; z-index: 1; grid-template-columns: 1.12fr .88fr; gap: 11%; }
.member-benefits__copy > p:not(.eyebrow) { max-width: 520px; font-size: 16px; line-height: 2; }
.benefit { gap: 27px; padding: 29px 0; }
.benefit > span { font-family: var(--sans); font-size: 31px; font-weight: 500; }
.benefit h3 { font-size: 21px; }
.benefit p { max-width: 430px; font-size: 14px; line-height: 1.8; }

.mechanism { background: #fff; }
.mechanism-flow { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); align-items: stretch; gap: 0; margin: 67px 0 42px; padding: 0; list-style: none; border-top: 1px solid var(--green); }
.flow-card { position: relative; max-width: none; padding: 31px 24px 35px; border: 0; border-right: 1px solid var(--line); }
.flow-card:first-child { border-left: 1px solid var(--line); }
.flow-card::before { position: absolute; top: -5px; left: 23px; width: 9px; height: 9px; border-radius: 50%; background: var(--gold); content: ""; }
.flow-card span { font-family: var(--sans); font-size: 20px; font-weight: 500; }
.flow-card h3 { margin: 39px 0 12px; font-size: 20px; line-height: 1.45; }
.flow-card p { font-size: 13px; line-height: 1.8; }
.mechanism-note { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 30px; padding: 25px 30px; background: var(--paper); }
.mechanism-note b { color: var(--green); font-size: 14px; }
.mechanism-note p { margin: 0; color: var(--muted); font-size: 12px; }
.mechanism-note .text-link { white-space: nowrap; }

.decision-section { background: var(--paper); }
.decision-heading { display: grid; grid-template-columns: 1.05fr .95fr; align-items: end; gap: 10%; margin-bottom: 64px; }
.decision-heading h2 { grid-row: 2; max-width: 760px; margin-bottom: 0; }
.decision-heading > p:last-child { grid-column: 2; grid-row: 1 / span 2; max-width: 440px; margin: 0 0 8px; color: var(--muted); font-size: 16px; }
.decision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.decision-panel { min-height: 390px; padding: clamp(34px, 4vw, 58px); background: #fff; border-top: 4px solid var(--green); }
.decision-panel--risk { background: var(--green-deep); color: #fff; border-color: var(--gold); }
.decision-panel .eyebrow { color: var(--green); }
.decision-panel--risk .eyebrow { color: var(--gold); }
.decision-panel h3 { margin: 0 0 31px; font-size: clamp(25px, 2.6vw, 36px); }
.decision-panel ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.decision-panel li { position: relative; padding: 15px 0 15px 31px; border-top: 1px solid var(--line); font-size: 15px; }
.decision-panel--risk li { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.84); }
.decision-panel li::before { position: absolute; top: 22px; left: 3px; width: 12px; height: 2px; background: var(--gold); content: ""; }

.mid-cta { padding: 0 0 clamp(88px, 9vw, 135px); background: var(--paper); }
.mid-cta__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; overflow: hidden; padding: 55px 60px; background: var(--green); color: #fff; }
.mid-cta__inner::after { position: absolute; top: -90%; right: -9%; width: 420px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; content: ""; }
.mid-cta .eyebrow { color: var(--gold); }
.mid-cta h2 { margin: 0 0 9px; font-size: clamp(30px, 3.5vw, 48px); line-height: 1.25; }
.mid-cta p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.74); font-size: 14px; }
.mid-cta__actions { position: relative; z-index: 1; display: flex; gap: 11px; flex: 0 0 auto; }

.process { background: #fff; }
.process-list { border-color: rgba(1,100,53,.25); }
.process-list li { min-height: 260px; padding: 31px 27px; border-color: var(--line); }
.process-list span { font-family: var(--sans); font-size: 31px; font-weight: 500; }
.process-list h3 { margin-top: 44px; font-size: 20px; }
.process-list p { font-size: 14px; line-height: 1.8; }

.trust-section { position: relative; overflow: hidden; background: var(--paper-warm); }
.trust-section__word { position: absolute; right: 0; bottom: -7vw; color: rgba(1,100,53,.055); font-family: var(--sans); font-size: 23vw; font-weight: 700; line-height: .75; letter-spacing: -.08em; pointer-events: none; }
.trust-grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 11%; }
.company-facts { padding: 46px; background: #fff; box-shadow: var(--shadow-soft); }
.company-facts__label { margin: 0 0 12px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.company-facts h3 { margin: 0 0 29px; font-size: clamp(26px, 3vw, 40px); line-height: 1.35; }
.company-facts dl { margin: 0; border-top: 1px solid var(--line); }
.company-facts dl div { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.company-facts dt { color: var(--muted); font-size: 12px; }
.company-facts dd { margin: 0; font-size: 14px; font-weight: 700; }
.company-facts__note { margin: 18px 0 0; color: var(--muted); font-size: 11px; }

.faq-preview { position: relative; overflow: hidden; background: var(--green-deep); }
.faq-preview::after { position: absolute; top: -55%; left: -15%; width: 54vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; }
.faq-grid { position: relative; z-index: 1; grid-template-columns: .82fr 1.18fr; gap: 12%; }
.faq-copy h2 { margin: 0 0 24px; font-size: clamp(var(--section-min), var(--section-fluid), var(--section-max)); line-height: 1.27; letter-spacing: .025em; }
.faq-copy > p:not(.eyebrow) { max-width: 390px; line-height: 1.9; }
.accordion summary { padding: 24px 2px; font-size: 16px; }
.accordion__answer { padding: 0 40px 24px 0; color: rgba(255,255,255,.72); font-size: 14px; }
.accordion__answer p { margin: 0; padding: 0; color: inherit; font-size: inherit; }
.accordion--light { border-top: 1px solid var(--line); }
.accordion--light details { border-bottom: 1px solid var(--line); }
.accordion--light summary { color: var(--ink); }
.accordion--light summary i { color: var(--green); }
.accordion--light .accordion__answer { color: var(--muted); }

.columns-preview { background: #fff; }
.column-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.column-card { overflow: hidden; border: 1px solid var(--line); background: #fff; }
.column-card__visual { display: grid; place-items: center; height: 225px; overflow: hidden; background: linear-gradient(135deg, var(--green), var(--green-deep)); color: rgba(255,255,255,.84); font-family: var(--sans); font-size: 20px; font-weight: 500; letter-spacing: .12em; text-align: center; }
.column-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.column-card:hover .column-card__visual img { transform: scale(1.045); }
.column-card > div { padding: 27px; }
.column-card h3 { margin: 0 0 13px; font-size: 21px; line-height: 1.55; }
.column-card > div > p:not(.eyebrow) { margin: 0 0 17px; color: var(--muted); font-size: 13px; }
.columns-preview__more { margin-top: 38px; text-align: center; }

/* Keep information hierarchy without adding background decoration. */
.column-grid { grid-template-columns: 1.08fr .92fr; grid-template-rows: repeat(2, minmax(215px, auto)); }
.column-card:first-child { grid-row: 1 / span 2; display: grid; grid-template-rows: minmax(290px, 1.18fr) auto; }
.column-card:first-child .column-card__visual { height: auto; min-height: 290px; }
.column-card:nth-child(n+2) { display: grid; grid-template-columns: minmax(150px, .78fr) minmax(0, 1.22fr); }
.column-card:nth-child(n+2) .column-card__visual { height: auto; min-height: 100%; }
.column-card:nth-child(n+2) > div { padding: 24px; }
.column-card:nth-child(n+2) > div > p:not(.eyebrow) { display: none; }

.site-footer { background: var(--green-dark); }
.footer-cta,
.footer-main,
.footer-bottom { width: min(var(--container), calc(100% - 64px)); }
.footer-cta { padding: 78px 0; }
.footer-main { grid-template-columns: 310px 1fr; gap: 85px; padding: 68px 0; }
.footer-links { gap: 42px; }

.page-hero { padding: 118px 0 100px; background: var(--green-deep); }
.page-hero--simple { padding: 105px 0 90px; }
.page-hero p:last-child { font-size: 16px; line-height: 1.9; }
.archive-section { background: var(--paper); }
.filter-form { border-radius: 7px; box-shadow: var(--shadow-soft); }
.form-card { border-radius: 6px; box-shadow: var(--shadow-soft); }
.detail-contact { background: var(--green-deep); }
.detail-contact .button--green { background: var(--gold); color: var(--ink); }
.content-page__inner { max-width: 900px; }
.page-action { border-left: 4px solid var(--gold); }

.column-single__head { max-width: 980px; margin-left: max(32px, calc((100vw - var(--container)) / 2)); }
.column-single__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 8%; padding-top: 78px; padding-bottom: 125px; }
.column-single__image { margin-bottom: 48px; }
.column-single__image img { width: 100%; max-height: 620px; object-fit: cover; }
.editor-content--article { font-size: 16px; line-height: 2; }
.editor-content--article h2 { margin: 2.4em 0 .8em; font-size: 30px; line-height: 1.5; }
.editor-content--article h3 { margin: 2em 0 .7em; font-size: 23px; }
.column-single__notice { margin-top: 55px; padding: 26px; background: var(--paper); border-left: 3px solid var(--gold); }
.column-single__notice b { color: var(--green); }
.column-single__notice p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.column-single__side { position: sticky; top: 128px; align-self: start; padding: 30px; background: var(--green-deep); color: #fff; }
.column-single__side .eyebrow,
.column-single__side .text-link { color: var(--gold); }
.column-single__side h2 { margin: 0 0 12px; font-size: 25px; line-height: 1.45; }
.column-single__side > p:not(.eyebrow) { color: rgba(255,255,255,.72); font-size: 13px; }
.column-single__side .text-link { margin-top: 22px; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(28px); transition: opacity .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms), transform .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes eb-pulse { to { opacity: .82; } }

@media (max-width: 1100px) {
  .site-header__inner { width: min(100% - 36px, 1440px); }
  .primary-nav { gap: 16px; }
  .hero__layout { grid-template-columns: 1fr .66fr; }
  .hero h1 { font-size: clamp(50px, 6.2vw, 68px); }
  .properties-preview .property-card:first-child { grid-template-columns: 1fr 1fr; }
  .mechanism-flow { grid-template-columns: repeat(3, 1fr); border-top: 0; }
  .flow-card { border-top: 1px solid var(--green); }
  .mechanism-note { grid-template-columns: 130px 1fr; }
  .mechanism-note .text-link { grid-column: 2; justify-self: start; }
}

@media (max-width: 960px) {
  html { scroll-padding-top: 82px; }
  .site-header__inner { height: 80px; }
  .mobile-menu { position: fixed; top: 80px; display: block; max-height: calc(100vh - 80px); overflow-y: auto; }
  .mobile-menu[hidden] { display: none; }
  .hero,
  .hero__layout { min-height: 700px; }
  .hero__layout { grid-template-columns: 1fr; }
  .hero__content { padding-bottom: 95px; }
  .hero__visual-copy { display: none; }
  .hero__battery { right: -7%; width: 390px; opacity: .72; }
  .hero__grid { width: 92%; }
  .search-panel__fields { grid-template-columns: repeat(2, 1fr); }
  .search-panel__fields .button { grid-column: 1 / -1; margin-top: 4px; }
  .search-panel__advanced-fields { grid-template-columns: repeat(2, 1fr); }
  .properties-preview .property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .properties-preview .property-card:first-child { display: block; }
  .properties-preview .property-card:first-child .property-card__visual { min-height: 0; height: 240px; }
  .properties-preview .property-card:first-child .property-card__body { display: block; padding: 27px; }
  .properties-preview .property-card:first-child h3 { font-size: 22px; }
  .process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-list li:nth-child(2n) { border-right: 0; }
  .process-list li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .editorial-grid,
  .member-benefits__grid,
  .trust-grid { grid-template-columns: 1fr; gap: 58px; }
  .editorial-copy { position: static; }
  .decision-heading { grid-template-columns: 1fr; gap: 22px; }
  .decision-heading h2,
  .decision-heading > p:last-child { grid-column: auto; grid-row: auto; }
  .mid-cta__inner { align-items: flex-start; flex-direction: column; }
  .faq-grid { grid-template-columns: 1fr; gap: 52px; }
  .column-grid { grid-template-columns: repeat(2, 1fr); }
  .column-card:last-child { display: none; }
  .column-grid { grid-template-rows: auto; }
  .column-card:first-child { grid-row: auto; display: block; }
  .column-card:first-child .column-card__visual { height: 240px; min-height: 0; }
  .column-card:nth-child(n+2) { display: block; }
  .column-card:nth-child(n+2) .column-card__visual { height: 240px; min-height: 0; }
  .column-card:nth-child(n+2) > div > p:not(.eyebrow) { display: block; }
  .column-single__layout { grid-template-columns: 1fr; }
  .column-single__side { position: static; }
}

@media (max-width: 680px) {
  body { padding-bottom: 58px; }
  .container,
  .footer-cta,
  .footer-main,
  .footer-bottom { width: min(100% - 34px, var(--container)); }
  .section { padding: clamp(58px, 17vw, 76px) 0; }
  .site-header__inner { width: min(100% - 28px, 1440px); height: 70px; }
  .mobile-menu { top: 70px; max-height: calc(100vh - 70px); }
  .hero { min-height: 675px; }
  .hero__layout { min-height: 675px; }
  .hero__content { padding: 45px 0 116px; }
	.hero__media--cinematic { inset: 0; }
	.hero__overlay { background: linear-gradient(90deg, rgba(0, 42, 25, var(--hero-overlay-deep, .85)) 0%, rgba(0, 53, 31, var(--hero-overlay, .68)) 72%, rgba(0, 42, 25, var(--hero-overlay-soft, .35)) 100%); }
  .hero h1 { max-width: 100%; font-size: clamp(38px, 11.4vw, 48px); line-height: 1.28; letter-spacing: .02em; }
  .hero h1 em { display: block; max-width: 100%; margin-top: 5px; overflow-wrap: normal; word-break: normal; line-break: strict; font-size: 1em; letter-spacing: .02em; }
  .hero__accent-tail { display: inline-block; }
  .hero__lead { max-width: 92%; margin: 27px 0 31px; font-size: 14px; line-height: 1.9; }
  .hero__lead br { display: none; }
  .hero__actions { align-items: stretch; width: min(100%, 320px); }
  .hero__actions .button { width: 100%; }
  .hero__grid { right: -58%; width: 150%; opacity: .13; }
  .hero__glow { top: 20%; right: -20%; width: 220px; opacity: .56; }
  .hero__land { right: -28%; width: 105%; height: 31%; }
  .hero__battery { right: -145px; bottom: -24px; width: 320px; height: 250px; opacity: .56; }
  .hero__battery i { margin: 6px; }
  .hero__scroll { display: none; }
  .search-panel-wrap { margin-top: -34px; }
  .search-panel { padding: 24px 18px 19px; border-radius: 6px; }
  .search-panel__heading { align-items: flex-start; }
  .search-panel h2 { font-size: 20px; }
  .search-panel__fields,
  .search-panel__advanced-fields { grid-template-columns: 1fr; }
  .search-panel__fields .button { grid-column: auto; margin-top: 4px; }
  .search-panel__advanced summary { align-items: flex-start; }
  .section-heading--split { gap: 18px; }
  .section-heading h2,
  .page-hero h1,
  .form-intro h1 { font-size: clamp(34px, 10vw, 44px); }
  .form-layout,
  .form-row { grid-template-columns: 1fr; }
  .section-intro { margin-top: -12px; }
  .properties-preview .property-grid { grid-template-columns: 1fr; }
  .property-grid { gap: 18px; }
  .property-card__visual,
  .properties-preview .property-card:first-child .property-card__visual { height: 220px; }
  .editorial-copy h2,
  .member-benefits h2,
  .decision-heading h2,
  .trust-copy h2 { font-size: clamp(36px, 11vw, 47px); }
  .strength-item { grid-template-columns: 52px 1fr; gap: 14px; padding: 25px 0; }
  .strength-item > span { font-size: 29px; }
  .strength-item h3 { font-size: 20px; }
  .member-benefits { padding: 72px 0; }
  .member-benefits__shape { right: 16px; width: 52vw; }
  .member-benefits__grid { gap: 43px; }
  .mechanism-flow { grid-template-columns: 1fr; margin-top: 40px; }
  .flow-card { border-right: 0; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .flow-card:first-child { border-top: 1px solid var(--green); }
  .mechanism-note { grid-template-columns: 1fr; gap: 10px; padding: 22px; }
  .mechanism-note .text-link { grid-column: auto; white-space: normal; }
  .decision-heading { margin-bottom: 37px; }
  .decision-grid { grid-template-columns: 1fr; }
  .decision-panel { min-height: 0; padding: 31px 23px; }
  .mid-cta { padding-bottom: 72px; }
  .mid-cta__inner { padding: 38px 23px; }
  .mid-cta__actions { flex-direction: column; width: 100%; }
  .mid-cta__actions .button { width: 100%; }
  .process-list { grid-template-columns: 1fr; }
  .process-list li { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .process-list li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .company-facts { padding: 29px 22px; }
  .company-facts dl div { grid-template-columns: 100px 1fr; }
  .faq-preview { padding: 72px 0; }
  .faq-copy h2 { font-size: clamp(36px, 11vw, 47px); }
  .accordion summary { gap: 18px; font-size: 14px; line-height: 1.65; }
  .column-grid { grid-template-columns: 1fr; }
  .column-card:last-child { display: block; }
  .column-card__visual { height: 205px; }
  .column-card:first-child,
  .column-card:nth-child(n+2) { display: block; }
  .column-card:first-child .column-card__visual,
  .column-card:nth-child(n+2) .column-card__visual { height: 205px; min-height: 0; }
	.footer-cta { padding: 60px 0; }
	.footer-main { grid-template-columns: 1fr; gap: 25px; padding: 50px 0; }
	.footer-intro { grid-column: 1; grid-row: auto; margin: 0; }
	.footer-links { grid-column: 1; grid-template-columns: 1fr 1fr; gap: 28px; }
	.footer-links div:last-child { grid-column: 1 / -1; }
  .page-hero,
  .page-hero--simple { padding: 72px 0 64px; }
  .column-single__head { width: min(100% - 34px, var(--container)); margin: auto; }
  .column-single__layout { padding-top: 48px; padding-bottom: 80px; }
  .mobile-cta { height: 58px; }
}

@media (prefers-reduced-motion: reduce) {
	.hero__media { transform: none !important; }
	.hero__video { display: none !important; }
	.js .hero__poster { opacity: 1; }
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .button:hover,
  .property-card:hover,
  .property-card:hover img,
  .column-card:hover .column-card__visual img,
  .text-link:hover i { transform: none; }
  .button.is-loading { animation: none; }
}

/* ENERGY BANK 1.5 seller pages, property filters, and editor controls. */
body { font-size: var(--eb-body-font, 16px); }
.button { font-size: var(--eb-button-font, 14px); }
.primary-nav { gap: clamp(14px, 1.55vw, 27px); font-size: var(--eb-nav-font, 13px); }
.hero h1 { font-size: clamp(52px, 5.2vw, var(--eb-hero-font, 76px)); }
.section-heading h2,
.page-hero h1,
.form-intro h1,
.editorial-copy h2,
.member-benefits h2,
.decision-heading h2,
.faq-copy h2 { font-size: clamp(40px, 4vw, var(--eb-section-font, 60px)); }
.property-card h3 { font-size: var(--eb-property-title-font, 20px); }
.properties-preview .property-card:first-child h3 { font-size: calc(var(--eb-property-title-font, 20px) + 8px); }

/* Accessible desktop submenu. */
.nav-dropdown { position: relative; }
.nav-dropdown__parent { display: inline-flex; align-items: center; gap: 5px; }
.nav-dropdown__parent > span { color: var(--green); font-size: 15px; transition: transform .2s ease; }
.nav-dropdown__menu {
  position: absolute;
  z-index: 100;
  top: calc(100% + 12px);
  left: 50%;
  width: 320px;
  padding: 10px;
  border: 1px solid rgba(1, 100, 53, .13);
  background: #fff;
  box-shadow: 0 22px 55px rgba(0, 45, 25, .14);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.nav-dropdown__menu::before { position: absolute; right: 0; bottom: 100%; left: 0; height: 13px; content: ""; }
.nav-dropdown__menu a { display: block; padding: 14px 15px; border-bottom: 1px solid var(--line); line-height: 1.55; }
.nav-dropdown__menu a:last-child { border-bottom: 0; }
.nav-dropdown__menu a::after { display: none; }
.nav-dropdown__menu a:hover { background: var(--paper-warm); color: var(--green); }
.nav-dropdown__menu small { display: block; margin-bottom: 2px; color: var(--green); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.nav-dropdown:hover:not(.is-escape-closed) .nav-dropdown__menu,
.nav-dropdown.is-open .nav-dropdown__menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.nav-dropdown:hover:not(.is-escape-closed) .nav-dropdown__parent > span,
.nav-dropdown.is-open .nav-dropdown__parent > span { transform: rotate(180deg); }
.nav-dropdown.is-escape-closed .nav-dropdown__menu { opacity: 0; visibility: hidden; pointer-events: none; }

/* The six requested property filters, shared by home and archive. */
.search-panel__fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.search-panel__actions { display: flex; align-items: center; gap: 22px; margin-top: 24px; }
.search-panel__actions .button { min-width: 235px; margin-top: 0; }
.search-panel__actions > a { color: var(--green); font-size: 12px; font-weight: 700; }
.search-panel__actions > a:not(.search-panel__all) { text-decoration: underline; text-underline-offset: 3px; }
.search-panel__actions .search-panel__all { margin: 0 0 0 auto; }
.filter-form__fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.filter-form__submit { display: flex; align-items: center; justify-content: center; gap: 22px; }
.filter-form__submit > a { color: var(--green); font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Seller banners follow featured properties without imitating advertising artwork. */
.listing-banner-section { padding: 0 0 clamp(88px, 9vw, 130px); background: var(--paper-warm); }
.listing-banner-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 34px; padding-top: 6px; }
.listing-banner-section__heading h2 { margin: 0; font-size: clamp(32px, 3.3vw, 48px); line-height: 1.3; }
.listing-banner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.listing-banner {
  display: flex;
  min-height: 340px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: hidden;
  padding: clamp(30px, 4vw, 50px);
  border: 1px solid rgba(255,255,255,.2);
  background-color: var(--green-deep);
  background-image: linear-gradient(90deg, rgba(0,42,25,.94), rgba(0,53,31,.66)), var(--listing-banner-image, none);
  background-position: center;
  background-size: cover;
  color: #fff;
  transition: transform .3s ease, box-shadow .3s ease;
}
.listing-banner--land { background-color: var(--green); background-image: linear-gradient(90deg, rgba(1,82,44,.95), rgba(1,100,53,.63)), var(--listing-banner-image, none); }
.listing-banner:hover { box-shadow: 0 24px 55px rgba(0,48,27,.16); transform: translateY(-4px); }
.listing-banner__label { margin-bottom: auto; color: var(--gold-on-green); font-size: 10px; font-weight: 700; letter-spacing: .17em; }
.listing-banner h3 { max-width: 520px; margin: 32px 0 12px; font-size: clamp(25px, 2.4vw, 35px); line-height: 1.45; }
.listing-banner p { max-width: 520px; margin: 0 0 24px; color: rgba(255,255,255,.79); font-size: 14px; line-height: 1.85; }
.listing-banner b { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 4px; border-bottom: 1px solid rgba(242,199,107,.72); color: var(--gold-on-green); font-size: 13px; }
.listing-banner b i { font-size: 18px; font-style: normal; transition: transform .2s ease; }
.listing-banner:hover b i { transform: translateX(5px); }

/* Seller-facing pages. */
.listing-page-hero { padding: clamp(72px, 8vw, 118px) 0; background: var(--paper-warm); }
.listing-page-hero__inner { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr); align-items: center; gap: 8%; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; color: var(--muted); font-size: 11px; }
.breadcrumbs a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.listing-page-hero h1 { max-width: 760px; margin: 0; font-size: clamp(42px, 4.8vw, 68px); line-height: 1.27; letter-spacing: .02em; overflow-wrap: anywhere; }
.listing-page-hero__copy > p:not(.eyebrow) { max-width: 650px; margin: 25px 0 31px; color: var(--muted); font-size: 16px; line-height: 1.95; }
.listing-page-hero__visual { display: flex; min-height: 440px; flex-direction: column; justify-content: flex-end; padding: 42px; background: var(--green-deep); color: #fff; }
.listing-page-hero__visual.has-image { padding: 0; background: #dce9df; }
.listing-page-hero__visual img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; }
.listing-page-hero__visual span { color: rgba(255,255,255,.76); font-size: clamp(30px, 4vw, 54px); font-weight: 500; line-height: 1.15; letter-spacing: .08em; }
.listing-page-hero__visual b { margin-top: 22px; color: var(--gold-on-green); font-size: 11px; letter-spacing: .18em; }
.listing-routes { padding: clamp(78px, 8vw, 118px) 0; background: #fff; }
.listing-routes__heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 8%; margin-bottom: 44px; }
.listing-routes__heading h2 { margin: 0; font-size: clamp(34px, 3.7vw, 52px); line-height: 1.35; }
.listing-routes__heading > p:last-child { margin: 0 0 5px; color: var(--muted); font-size: 14px; }
.listing-route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.listing-route-card { display: flex; min-height: 350px; flex-direction: column; align-items: flex-start; padding: clamp(32px, 4vw, 52px); border: 1px solid var(--line); background: var(--paper-warm); transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.listing-route-card--completed { border-top: 4px solid var(--green); }
.listing-route-card--land { border-top: 4px solid var(--gold); background: #fff; }
.listing-route-card:hover { border-color: rgba(1,100,53,.42); box-shadow: 0 22px 55px rgba(0,48,27,.1); transform: translateY(-4px); }
.listing-route-card > span { color: var(--green); font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.listing-route-card h3 { max-width: 520px; margin: 41px 0 15px; font-size: clamp(25px, 2.6vw, 36px); line-height: 1.45; }
.listing-route-card p { max-width: 520px; margin: 0 0 30px; color: var(--muted); font-size: 14px; }
.listing-route-card b { display: inline-flex; gap: 13px; margin-top: auto; color: var(--green); font-size: 13px; }
.listing-route-card b i { font-size: 18px; font-style: normal; }
.listing-page-content { padding: clamp(78px, 8.5vw, 130px) 0; background: var(--paper); }
.listing-page-content__grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; align-items: start; gap: 9%; }
.listing-editor { min-width: 0; margin: 0; }
.listing-editor > :first-child { margin-top: 0; }
.listing-editor h2 { margin: 2.4em 0 .75em; padding-bottom: 14px; border-bottom: 1px solid rgba(1,100,53,.24); font-size: clamp(27px, 3vw, 38px); line-height: 1.5; }
.listing-editor h3 { margin: 2em 0 .55em; font-size: 21px; line-height: 1.6; }
.listing-editor p,
.listing-editor li { color: var(--muted); font-size: 16px; line-height: 2; }
.listing-editor ul,
.listing-editor ol { margin: 1.2em 0 2.4em; padding-left: 1.5em; }
.listing-editor li + li { margin-top: .55em; }
.listing-page-summary { position: sticky; top: 126px; padding: 32px; background: #fff; box-shadow: 0 18px 50px rgba(0,48,27,.08); }
.listing-page-summary h2 { margin: 0 0 25px; font-size: 24px; line-height: 1.55; }
.listing-page-summary dl { margin: 0; border-top: 1px solid var(--line); }
.listing-page-summary dl div { display: grid; grid-template-columns: 1fr 1.25fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.listing-page-summary dt { color: var(--muted); font-size: 11px; }
.listing-page-summary dd { margin: 0; font-size: 12px; font-weight: 700; text-align: right; }
.listing-page-summary > p:not(.eyebrow) { margin: 20px 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.listing-related { padding: 68px 0; background: #fff; }
.listing-related__inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.listing-related h2 { margin: 0; font-size: clamp(26px, 3vw, 38px); line-height: 1.4; }
.listing-final-cta { padding: 0 0 clamp(80px, 8vw, 120px); background: #fff; }
.listing-final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 45px; padding: clamp(38px, 5vw, 62px); background: var(--green-deep); color: #fff; }
.listing-final-cta .eyebrow { color: var(--gold-on-green); }
.listing-final-cta h2 { max-width: 800px; margin: 0 0 11px; font-size: clamp(28px, 3.4vw, 45px); line-height: 1.45; }
.listing-final-cta p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.72); font-size: 14px; }
.listing-final-cta .button { flex: 0 0 auto; }

@media (max-width: 1100px) {
  .primary-nav,
  .header-actions { display: none; }
  .menu-toggle { display: flex; flex-direction: column; gap: 5px; padding: 10px; border: 0; background: transparent; }
  .menu-toggle span { display: block; width: 24px; height: 2px; background: var(--green); transition: transform .2s ease, opacity .2s ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .mobile-menu { position: fixed; top: 80px; right: 0; left: 0; display: block; max-height: calc(100vh - 80px); overflow-y: auto; padding: 20px 24px 28px; border-top: 1px solid var(--line); background: #fff; box-shadow: 0 20px 30px rgba(0,0,0,.1); }
  .mobile-menu[hidden] { display: none; }
  .mobile-menu nav { display: grid; gap: 0; }
  .mobile-menu nav > a:not(.button),
  .mobile-subnav__head { border-bottom: 1px solid var(--line); }
  .mobile-menu nav > a:not(.button),
  .mobile-subnav__head > a { padding: 13px 0; font-size: 14px; font-weight: 700; }
  .mobile-menu .button { margin-top: 12px; }
  .mobile-subnav__head { display: grid; grid-template-columns: minmax(0, 1fr) 46px; align-items: center; }
  .mobile-subnav__head > a { display: block; }
  .mobile-subnav__head button { display: grid; width: 42px; height: 42px; place-items: center; justify-self: end; border: 0; background: transparent; color: var(--green); cursor: pointer; }
  .mobile-subnav__head button i { font-size: 21px; font-style: normal; transition: transform .2s ease; }
  .mobile-subnav__head button[aria-expanded="true"] i { transform: rotate(45deg); }
  .mobile-subnav__links { padding: 7px 0 12px 16px; border-bottom: 1px solid var(--line); background: var(--paper-warm); }
  .mobile-subnav__links[hidden] { display: none; }
  .mobile-subnav__links a { display: block; padding: 11px 8px; color: var(--green-deep); font-size: 13px; font-weight: 600; }
  .listing-page-hero__inner { grid-template-columns: 1fr 360px; gap: 5%; }
  .listing-page-content__grid { grid-template-columns: minmax(0, 1fr) 300px; gap: 5%; }
}

@media (max-width: 960px) {
  .search-panel__fields,
  .filter-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .listing-page-hero__inner,
  .listing-page-content__grid { grid-template-columns: 1fr; gap: 48px; }
  .listing-page-hero__visual { min-height: 320px; }
  .listing-page-hero__visual img { min-height: 320px; max-height: 460px; }
  .listing-page-summary { position: static; }
}

@media (max-width: 680px) {
  body { font-size: min(var(--eb-body-font, 16px), 18px); }
  .site-header__inner { height: 70px; }
  .mobile-menu { top: 70px; max-height: calc(100vh - 70px); }
  .hero h1 { font-size: clamp(38px, 11.4vw, min(48px, var(--eb-hero-font, 76px))); }
  .section-heading h2,
  .page-hero h1,
  .form-intro h1,
  .editorial-copy h2,
  .member-benefits h2,
  .decision-heading h2,
  .faq-copy h2 { font-size: clamp(34px, 10vw, min(47px, var(--eb-section-font, 60px))); }
  .properties-preview .property-card:first-child h3 { font-size: calc(var(--eb-property-title-font, 20px) + 2px); }
  .search-panel__fields,
  .filter-form__fields { grid-template-columns: 1fr; }
  .search-panel__actions { align-items: stretch; flex-direction: column; gap: 13px; }
  .search-panel__actions .button { width: 100%; min-width: 0; }
  .search-panel__actions .search-panel__all { margin-left: 0; }
  .filter-form__submit { align-items: stretch; flex-direction: column; }
  .filter-form__submit .button { width: 100%; }
  .archive-result { align-items: flex-start; flex-direction: column; gap: 5px; }
  .listing-banner-section { padding-bottom: 72px; }
  .listing-banner-section__heading { align-items: flex-start; flex-direction: column; gap: 17px; }
  .listing-banner-grid,
  .listing-route-grid,
  .listing-routes__heading { grid-template-columns: 1fr; }
  .listing-banner { min-height: 310px; padding: 28px 23px; }
  .listing-banner h3 { font-size: 26px; }
  .listing-page-hero { padding: 58px 0 68px; }
  .breadcrumbs { margin-bottom: 26px; }
  .listing-page-hero h1 { font-size: clamp(36px, 10.5vw, 47px); }
  .listing-page-hero__copy > p:not(.eyebrow) { font-size: 15px; }
  .listing-page-hero__visual { min-height: 260px; padding: 27px; }
  .listing-page-hero__visual img { min-height: 260px; }
  .listing-routes { padding: 68px 0; }
  .listing-routes__heading { gap: 18px; margin-bottom: 31px; }
  .listing-routes__heading > p:last-child { margin: 0; }
  .listing-route-card { min-height: 310px; padding: 29px 23px; }
  .listing-route-card h3 { margin-top: 30px; font-size: 26px; }
  .listing-page-content { padding: 68px 0; }
  .listing-editor h2 { font-size: 28px; }
  .listing-editor p,
  .listing-editor li { font-size: 15px; }
  .listing-page-summary { padding: 27px 22px; }
  .listing-related__inner,
  .listing-final-cta__inner { align-items: stretch; flex-direction: column; }
  .listing-final-cta__inner { padding: 35px 23px; }
  .listing-final-cta .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-dropdown__menu,
  .listing-banner,
  .listing-route-card,
  .listing-banner b i,
  .mobile-subnav__head button i { transition: none; }
  .listing-banner:hover,
  .listing-route-card:hover,
  .listing-banner:hover b i { transform: none; }
}
