/* Ethics International V4: Campus Studio, architectural 3D homepage.
   All headings/text/images/buttons are core WordPress blocks. */
:root{--eth4-ink:#172b37;--eth4-text:#415764;--eth4-blue:var(--ethics-primary,#155e91);--eth4-teal:#22586a;--eth4-cream:#f7f4ed;--eth4-paper:#fdfcf9;--eth4-sand:#e9e5db;--eth4-line:#e0e5e7;--eth4-gold:#b78552}
.eth4-hero,.eth4-finder-wrap,.eth4-steps,.eth4-destinations,.eth4-feature,.eth4-services,.eth4-readiness-section,.eth4-faq,.eth4-cta{box-sizing:border-box;font-family:inherit;color:var(--eth4-ink)}
.eth4-hero *,.eth4-finder-wrap *,.eth4-steps *,.eth4-destinations *,.eth4-feature *,.eth4-services *,.eth4-readiness-section *,.eth4-faq *,.eth4-cta *{box-sizing:border-box}
.eth4-hero h1,.eth4-steps h2,.eth4-destinations h2,.eth4-feature h2,.eth4-services h2,.eth4-readiness-section h2,.eth4-faq h2,.eth4-cta h2{font-family:inherit;color:var(--eth4-ink)!important;letter-spacing:-.052em!important;font-weight:770!important;line-height:1.09!important;margin:0 0 24px!important}
.eth4-steps h2,.eth4-destinations h2,.eth4-feature h2,.eth4-services h2,.eth4-readiness-section h2,.eth4-faq h2,.eth4-cta h2{font-size:clamp(36px,4.1vw,59px)!important}
.eth4-overline,.eth4-kicker,.eth4-card-kicker{font-size:11px!important;font-weight:800!important;letter-spacing:.16em!important;color:#266a83!important;margin:0 0 20px!important;line-height:1.4!important}
.eth4-hero{width:100%;max-width:none!important;background:var(--eth4-cream);padding:76px max(26px,calc((100vw - 1390px)/2)) 130px!important;margin:0;overflow:hidden}
.eth4-hero>.eth4-hero-columns{display:flex;align-items:center;gap:2.8%;max-width:1390px;margin:0 auto!important}
.eth4-hero-columns>.wp-block-column:first-child{flex:0 0 44%;padding-right:2.0%;position:relative;z-index:2}
.eth4-hero-columns>.wp-block-column:last-child{flex:1 1 56%;min-width:0}
.eth4-hero h1.eth4-display{font-size:clamp(52px,5.8vw,88px)!important;max-width:670px}
.eth4-display em{color:#2d7783;font-style:normal;white-space:normal}
.eth4-intro{font-size:clamp(16px,1.45vw,19px)!important;color:#52616b;line-height:1.73!important;max-width:500px;margin:0 0 29px!important}
.eth4-microcopy{font-size:12px!important;color:#77848c;margin:17px 0 0!important}
.eth4-hero .wp-block-buttons,.eth4-cta .wp-block-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 0}
.eth4-hero .wp-block-button__link,.eth4-cta .wp-block-button__link{display:inline-flex;min-height:52px;align-items:center;justify-content:center;border-radius:7px!important;background:var(--eth4-blue)!important;color:white!important;border:1px solid var(--eth4-blue)!important;padding:13px 22px!important;text-decoration:none;font-size:13px!important;font-weight:760!important;box-shadow:none!important;transition:background .18s ease,transform .18s ease}
.eth4-hero .wp-block-button__link:hover,.eth4-cta .wp-block-button__link:hover{background:#11486f!important;transform:translateY(-2px)}
.eth4-hero .is-style-outline .wp-block-button__link{background:transparent!important;border-color:#b6c8cd!important;color:#24495b!important}
.eth4-hero .is-style-outline .wp-block-button__link:hover{background:white!important}
/* The 3D scene has a real WebGL renderer, local still-image fallback and controls. */
.eth4-campus{width:100%;min-height:505px;height:clamp(505px,39vw,645px);position:relative;overflow:hidden;background:#dce9e8;border:1px solid #ccd9d7;border-radius:12px;isolation:isolate;user-select:none;box-shadow:0 20px 52px rgba(27,57,67,.08)}
.eth4-campus:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#cddfdb 0%,#edf2e9 52%,#e6ebe0 100%)}
.eth4-campus:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:25%;pointer-events:none;background:linear-gradient(to top,rgba(16,54,61,.09),transparent)}
.eth4-campus>canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;display:block;cursor:grab;touch-action:pan-y}
.eth4-campus.is-exploring>canvas{cursor:grabbing}
.eth4-campus .eth4-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:none}
.eth4-campus.eth-3d-lite .eth4-fallback{display:block}
.eth4-campus.eth-3d-lite>canvas{display:none}
.eth4-scene-overlay{position:absolute;z-index:2;top:23px;left:25px;pointer-events:none;color:#214555;max-width:76%}
.eth4-scene-overlay strong{display:block;font-size:15px;font-weight:820;letter-spacing:-.04em}
.eth4-scene-overlay small{display:block;font-size:11px;letter-spacing:.05em;font-weight:580;margin-top:3px;color:#5c7a80}
.eth4-scene-bottom{display:flex;gap:14px;align-items:center;justify-content:space-between;position:absolute;bottom:0;right:0;left:0;padding:25px;z-index:3;background:linear-gradient(0deg,rgba(232,240,231,.84),transparent);font-size:11px;color:#496971}
.eth4-scene-bottom>span{font-size:11px;font-weight:560;max-width:45%}
.eth4-scene-controls{display:flex;gap:8px;align-items:center}
.eth4-scene-controls button{font:inherit;font-size:11px;letter-spacing:.02em;font-weight:700;color:#254c58;background:rgba(255,255,255,.86);border:1px solid #bbd0cc;border-radius:5px;min-height:36px;padding:8px 10px;cursor:pointer}
.eth4-scene-controls button:hover{background:white}
.eth4-campus.eth-3d-lite .eth4-scene-controls,.eth4-campus.eth-3d-lite .eth4-scene-bottom>span{display:none}
/* Retained four-field source screenshot search experience. */
.eth4-finder-wrap{width:min(1270px,calc(100% - 48px));max-width:none!important;position:relative;z-index:4;margin:-83px auto 0!important;padding:35px 39px 29px!important;background:white;border:1px solid #e1e7e7;border-radius:13px;box-shadow:0 20px 60px rgba(34,65,66,.085)}
.eth4-finder-wrap>.eth4-kicker{margin-bottom:8px!important}
.eth4-finder-wrap>h2{font-size:clamp(23px,2.3vw,33px)!important;color:var(--eth4-ink)!important;letter-spacing:-.05em;margin:0 0 7px!important;font-weight:770}
.eth4-helper{font-size:13px!important;color:#77838a!important;margin:0 0 23px!important;line-height:1.6!important}
.eth4-finder-wrap .eth-finder-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(180px,.98fr);gap:11px}
.eth4-finder-wrap .eth-filter-field select{height:61px;border-radius:7px!important;border:1px solid #d4e0e3!important;background:#fbfcfc!important;color:#244156;font-size:14px;padding-left:16px}
.eth4-finder-wrap .eth-find-button{background:var(--eth4-blue)!important;border-radius:7px!important;letter-spacing:.085em;font-size:13px;box-shadow:none!important}
.eth4-finder-wrap .eth-trending-chips button{border-radius:5px!important;color:#365e70;background:#f3f7f8;border-color:#dce8eb;font-size:11px}
.eth4-finder-wrap .eth-finder-bottom{margin-top:15px}
.eth4-finder-wrap .eth-clear-button{border-radius:5px!important}
.eth4-finder-wrap .eth-finder-results{margin-top:24px}
/* Editorial destinations and process */
.eth4-steps,.eth4-destinations,.eth4-feature,.eth4-services,.eth4-readiness-section,.eth4-faq{max-width:none!important}
.eth4-steps,.eth4-destinations,.eth4-feature,.eth4-faq{width:min(1230px,calc(100% - 48px));margin:0 auto!important;padding:120px 0 0!important}
.eth4-steps>h2{max-width:780px;margin-bottom:34px!important}
.eth4-process-columns{gap:0!important;border-top:1px solid #d5dfe3;border-bottom:1px solid #d5dfe3;margin:45px 0 0!important;align-items:stretch!important}
.eth4-process-columns>.wp-block-column{padding:29px 23px 28px 0;border-right:1px solid #dce5e6;margin-right:24px}
.eth4-process-columns>.wp-block-column:last-child{border:0;margin-right:0}
.eth4-step-number{font-weight:750!important;color:#23738b!important;letter-spacing:.06em;font-size:13px!important;margin:0 0 36px!important}
.eth4-steps h3,.eth4-services h3{color:#193849!important;font-size:22px!important;font-weight:760!important;letter-spacing:-.035em!important;margin:0 0 12px!important}
.eth4-steps p:not(.eth4-kicker):not(.eth4-step-number){color:#687982;line-height:1.65;font-size:14px;margin:0}
.eth4-destinations{padding-top:130px!important;padding-bottom:110px!important}
.eth4-section-heading{gap:8%!important;align-items:end!important;margin-bottom:35px!important}
.eth4-section-heading>.wp-block-column:first-child{flex:1.35}
.eth4-section-heading>.wp-block-column:last-child{flex:.65}
.eth4-section-heading p{color:#637680;font-size:15px;line-height:1.7}
.eth4-section-heading .wp-block-button__link,.eth4-feature .wp-block-button__link,.eth4-faq .wp-block-button__link{display:inline-flex;text-decoration:none;color:var(--eth4-blue)!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;font-size:13px!important;font-weight:740!important;border-radius:0!important;border-bottom:1px solid var(--eth4-blue)!important}
.eth4-destination-grid{gap:19px!important;margin:19px 0 0!important}
.eth4-destination-grid>.wp-block-column{min-width:0}
.eth4-destination-card{margin:0!important;height:100%;overflow:hidden;position:relative;background:#f6f7f4;border:1px solid #e3e8e6;border-radius:9px;padding:0 0 25px!important;transition:border-color .2s ease,transform .2s ease}
.eth4-destination-card:hover{transform:translateY(-3px);border-color:#a7bec1}
.eth4-destination-img{margin:0 0 20px!important;overflow:hidden}
.eth4-destination-img img{width:100%;height:218px!important;object-fit:cover;transition:transform .4s ease;display:block}
.eth4-destination-card:hover .eth4-destination-img img{transform:scale(1.035)}
.eth4-card-kicker{font-size:9px!important;margin:0 22px 9px!important;color:#67818a!important}
.eth4-destination-card h3{font-size:27px!important;letter-spacing:-.052em!important;color:#203d49!important;margin:0 22px 9px!important;line-height:1.15!important;font-weight:760!important}
.eth4-destination-card p:not(.eth4-card-kicker){font-size:13px!important;line-height:1.58!important;color:#708087!important;margin:0 22px 13px!important;min-height:41px}
.eth4-destination-card .wp-block-buttons{margin:0 22px!important}
.eth4-destination-card .wp-block-button__link{color:#16648a!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:740}
.eth4-feature{padding:0!important;width:100%;background:#f2f5f3}
.eth4-feature-columns{width:min(1350px,calc(100% - 48px));margin:0 auto!important;align-items:center;gap:7%!important;padding:80px 0!important}
.eth4-feature-columns>.wp-block-column:first-child{flex:1.0}
.eth4-feature-columns>.wp-block-column:last-child{flex:.88;padding-right:5%}
.eth4-feature-photo{margin:0!important}
.eth4-feature-photo img{height:510px!important;object-fit:cover;width:100%;border-radius:7px}
.eth4-feature p:not(.eth4-kicker){color:#647784;font-size:15px;line-height:1.75;max-width:530px}
.eth4-feature h2{max-width:610px}
.eth4-services{background:#172b37!important;color:#fff!important;padding:110px max(24px,calc((100vw - 1230px)/2))!important;margin:0!important}
.eth4-services>.eth4-kicker{color:#96c5d1!important}
.eth4-services h2{color:white!important;max-width:770px}
.eth4-services .eth4-services-lead{color:#acc1c7!important;font-size:16px;margin-bottom:35px}
.eth4-service-grid{gap:17px!important;margin:40px 0!important}
.eth4-service-card{height:100%;min-height:230px;padding:29px 26px!important;background:#203a48;border:1px solid #31505f;border-radius:8px;margin:0!important}
.eth4-service-card .eth4-step-number{color:#9cbbbe!important;margin:0 0 33px!important}
.eth4-services h3{color:#fff!important;margin:0 0 10px!important}
.eth4-service-card p:not(.eth4-step-number){color:#bbccd0;font-size:14px;line-height:1.7;margin:0}
.eth4-services .wp-block-button__link{display:inline-flex;color:#1f4f69!important;background:#fff!important;text-decoration:none;border:0;border-radius:6px!important;padding:13px 21px;font-size:13px;font-weight:750}
.eth4-readiness-section{padding:105px max(24px,calc((100vw - 1230px)/2))!important;background:#faf8f3;margin:0!important}
.eth4-ready-layout{align-items:center;gap:9%!important}
.eth4-readiness-section p:not(.eth4-kicker){color:#6b7b82;font-size:15px;line-height:1.75;max-width:540px}
.eth4-readiness-section .eth-readiness{box-shadow:none!important;border:1px solid #e3e2dd!important;border-radius:8px!important}
.eth4-readiness-section .eth-pill{color:#215967!important;background:#f1f6f6!important;border-radius:4px!important}
.eth4-faq{padding:115px 0!important}
.eth4-faq-layout{gap:11%!important}
.eth4-faq-layout>.wp-block-column:first-child{flex:.85}
.eth4-faq-layout>.wp-block-column:last-child{flex:1.15}
.eth4-faq-layout p:not(.eth4-kicker){color:#6a7d85;font-size:15px;line-height:1.7}
.eth4-faq details{border:0!important;border-bottom:1px solid #dae3e4!important;padding:18px 2px!important;background:none!important;border-radius:0!important;margin:0!important}
.eth4-faq details:first-child{border-top:1px solid #dae3e4!important}
.eth4-faq summary{font-size:17px!important;line-height:1.35;cursor:pointer;font-weight:720;color:#24404e}
.eth4-faq .wp-block-buttons{margin-top:27px}
.eth4-cta{padding:105px 24px!important;background:#e8efec!important;text-align:center;margin:0!important}
.eth4-cta>.eth4-kicker{color:#287188!important}
.eth4-cta h2{max-width:850px;margin:0 auto 18px!important;color:#1c3947!important}
.eth4-cta p:not(.eth4-kicker){max-width:560px;margin:0 auto!important;line-height:1.65;color:#58727b}
.eth4-cta>.wp-block-buttons{justify-content:center;margin-top:32px!important}
.eth4-cta .is-style-outline .wp-block-button__link{background:transparent!important;color:var(--eth4-blue)!important;border-color:#89a9b2!important}
@media(max-width:1050px){.eth4-hero{padding:58px 24px 126px!important}.eth4-hero-columns>.wp-block-column:first-child{flex:0 0 43%}.eth4-hero h1.eth4-display{font-size:clamp(44px,5.4vw,70px)!important}.eth4-campus{height:500px;min-height:500px}.eth4-finder-wrap .eth-finder-form{grid-template-columns:repeat(2,minmax(0,1fr))}.eth4-finder-wrap .eth-find-button{grid-column:1/-1}.eth4-destination-img img{height:180px!important}}
@media(max-width:781px){.eth4-hero{padding:45px 20px 117px!important}.eth4-hero-columns{flex-direction:column!important;gap:38px!important}.eth4-hero-columns>.wp-block-column:first-child,.eth4-hero-columns>.wp-block-column:last-child{flex:auto!important;width:100%;padding:0}.eth4-hero h1.eth4-display{font-size:clamp(46px,9vw,73px)!important;max-width:720px}.eth4-campus{height:440px;min-height:440px}.eth4-steps,.eth4-destinations,.eth4-faq{width:calc(100% - 40px);padding-top:75px!important}.eth4-process-columns,.eth4-destination-grid,.eth4-service-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.eth4-process-columns>.wp-block-column{border-right:0;border-bottom:1px solid #dce5e6;padding:24px 4px;margin:0}.eth4-section-heading,.eth4-feature-columns,.eth4-ready-layout,.eth4-faq-layout{flex-direction:column!important;align-items:stretch!important}.eth4-feature-columns{padding:55px 0!important}.eth4-feature-photo img{height:390px!important}.eth4-faq{padding:85px 0!important}.eth4-services{padding:75px 20px!important}.eth4-readiness-section{padding:75px 20px!important}}
@media(max-width:600px){.eth4-hero{padding:39px 15px 98px!important}.eth4-hero h1.eth4-display{font-size:clamp(41px,11.5vw,57px)!important;line-height:1.04!important}.eth4-intro{font-size:15px!important}.eth4-hero .wp-block-button__link{min-height:48px;font-size:12px!important;padding:12px 15px!important}.eth4-campus{min-height:300px;height:340px}.eth4-scene-overlay{top:19px;left:18px}.eth4-scene-bottom{padding:14px 17px}.eth4-finder-wrap{width:calc(100% - 24px);margin-top:-59px!important;padding:24px 17px 20px!important}.eth4-finder-wrap .eth-finder-form{grid-template-columns:1fr!important;gap:10px}.eth4-finder-wrap .eth-find-button{grid-column:1}.eth4-steps,.eth4-destinations,.eth4-faq{width:calc(100% - 32px);padding-top:73px!important}.eth4-steps h2,.eth4-destinations h2,.eth4-feature h2,.eth4-services h2,.eth4-faq h2,.eth4-cta h2{font-size:clamp(32px,9vw,42px)!important}.eth4-process-columns,.eth4-destination-grid,.eth4-service-grid{grid-template-columns:1fr!important}.eth4-step-number{margin-bottom:15px!important}.eth4-destinations{padding-bottom:72px!important}.eth4-destination-img img{height:230px!important}.eth4-feature-columns{width:calc(100% - 32px)}.eth4-feature-photo img{height:300px!important}.eth4-services{padding:75px 16px!important}.eth4-service-card{min-height:190px}.eth4-readiness-section{padding:70px 16px!important}.eth4-cta{padding:73px 20px!important}}
@media(prefers-reduced-motion:reduce){.eth4-destination-card,.eth4-destination-img img,.eth4-hero .wp-block-button__link{transition:none!important;transform:none!important}}
