/* Shared navy/gold visual system. Readability rules remain in force. */
body{margin:0!important;padding-top:0!important;background:#fff!important;color:#102f52;--navy:#0b2b47;--navy-dark:#082139;--gold:#d8b64e;--white:#fff;}
.brand-header{box-sizing:border-box!important;position:relative!important;width:100%!important;max-width:none!important;background:#0b2b47!important;color:#fff!important;border-bottom:1px solid #6b7e90!important;padding:20px 28px!important;z-index:100!important;line-height:1.6!important;}
.brand-header *{box-sizing:border-box;letter-spacing:normal;}
.brand-header-inner{max-width:1600px;margin:auto;display:flex;align-items:center;flex-wrap:wrap;gap:22px;}
.brand-header .brand-logo{display:flex!important;align-items:center;gap:14px;flex-shrink:0;color:white!important;text-decoration:none!important;background:transparent!important;font:700 30px/1.25 Georgia,'Times New Roman',serif!important;}
.brand-header .brand-logo img{width:48px;height:48px;object-fit:contain;}
.brand-header .brand-logo small{display:block;color:#f0ce70!important;font:600 20px/1.6 -apple-system,'PingFang TC',sans-serif!important;letter-spacing:.16em;}
.brand-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-left:auto;}
.brand-header .brand-links a,.brand-header summary{display:inline-flex!important;align-items:center;min-height:48px;padding:8px 2px!important;font:600 20px/1.5 -apple-system,'PingFang TC',sans-serif!important;color:#f4f7fb!important;text-decoration:none!important;white-space:normal!important;background:transparent!important;border:0!important;cursor:pointer;}
.brand-header a[aria-current=page]{text-decoration:underline!important;text-underline-offset:8px;text-decoration-color:#e6c267!important;}
.brand-header .brand-links a.brand-contact{background:#dfbc52!important;color:#102f52!important;padding:12px 20px!important;border-radius:4px;}
.brand-header details{position:relative;}
.brand-header summary::after{content:' ＋';}.brand-header details[open] summary::after{content:' −';}
.brand-header details>div{position:absolute;right:0;min-width:220px;background:#0b2b47;border:1px solid #8d9eaf;padding:16px;box-shadow:0 8px 24px #0003;z-index:102;}
.brand-header details a{display:flex!important;width:100%;}
.brand-header a:hover,.brand-header summary:hover{color:#ffe29a!important;text-decoration:underline!important;}
.brand-header .brand-links a.brand-contact:hover{color:#102f52!important;}
body :is(.page-hero,.ecf-hero,.s-hero,.brand-title-panel){background:linear-gradient(115deg,#082843,#164671)!important;color:#fff!important;border-bottom:3px solid #d8b64e;padding:64px 28px!important;}
body :is(.page-hero,.ecf-hero,.brand-title-panel) {text-align:center;}
body :is(.page-hero,.ecf-hero,.brand-title-panel) :is(.ecf-hero-grid,.s-intro){display:block!important;max-width:1100px;margin:auto;}
body :is(.page-hero,.ecf-hero,.s-hero,.brand-title-panel) h1{color:#fff!important;font-family:'Noto Serif TC','Songti TC','PMingLiU',Georgia,serif!important;font-weight:600!important;letter-spacing:.03em;}
body :is(.page-hero,.ecf-hero,.brand-title-panel) p{color:#e9eff6!important;max-width:980px;margin:20px auto!important;}
body :is(.page-hero,.ecf-hero,.brand-title-panel) :is(.s-kicker,.ecf-eyebrow,.section-label){color:#f0ce70!important;font-size:20px!important;}
body .brand-title-panel{margin:-38px -40px 36px;}
body :is(.ecf-hero,.brand-title-panel) .ecf-actions{justify-content:center;}
body :is(h2,h3){font-family:'Noto Serif TC','Songti TC','PMingLiU',Georgia,serif!important;color:#102f52;}
body :is(.ecf-card,.s-plan,.s-task,.team-card){border:1px solid #c7bda7!important;border-radius:0!important;box-shadow:none!important;background:white;}
body :is(.s-btn,.ecf-btn){border-radius:3px!important;}
body .s-story{transform:none!important;box-shadow:none!important;border:1px solid #d8b64e;border-radius:0!important;}
body :is(.s-footer,.ecf-footer){background:#082139!important;color:#e5edf5!important;}
body :is(.s-footer,.ecf-footer) :is(a,p,small){color:#e5edf5!important;}
body img[src*="Founder_Bellona"]{object-fit:cover!important;object-position:50% 24%!important;}
body .ecf-portrait[src*="Founder_Bellona"]{aspect-ratio:2/3;height:auto;max-width:400px;}
body :is(.profile-avatar,.team-photo-wrap) img[src*="Founder_Bellona"]{width:100%!important;height:100%!important;}
body .profile-avatar{overflow:hidden;}
body .brand-account-tools{padding:12px 24px;background:#edf2f5;}
body .brand-account-tools .nav-right{display:flex;justify-content:flex-end;gap:20px;}
@media(max-width:1100px){.brand-header-inner{display:block}.brand-links{margin-top:18px;margin-left:0}.brand-header .brand-logo{font-size:28px!important}}
@media(max-width:600px){.brand-header{padding:20px!important}.brand-links{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.brand-header .brand-links a,.brand-header summary{font-size:20px!important;min-height:48px}.brand-header details>div{position:static;min-width:0;padding:8px;background:#153d5f}.brand-header details[open]{grid-column:1/-1}.brand-title-panel{margin:-28px -20px 28px!important}body :is(.page-hero,.ecf-hero,.s-hero,.brand-title-panel){padding:44px 20px!important}body .s-hero{grid-template-columns:1fr}}
@media print{.brand-header,.brand-account-tools{display:none!important}}

/* Full-width title bands; center the entire content block, not just its text. */
body main > .brand-title-panel{margin:0!important;width:100%;box-sizing:border-box;}
body .ecf-hero-grid > div:only-child{margin-inline:auto!important;width:100%;max-width:980px!important;}
body .ecf-hero h1,body .ecf-hero .ecf-lead{margin-inline:auto!important;text-align:center!important;}
body :is(.profile-avatar,.team-photo-wrap) img[src="founder.jpg"]{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 30%!important;}
body .s-contact{max-width:760px;margin-inline:auto;width:100%;}
body .s-contact select{appearance:none;min-height:56px;border:1px solid #61768a;border-radius:4px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23102f52' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;padding:12px 48px 12px 16px;}
.calendar-intro{max-width:1180px;margin:auto;padding:60px 28px;color:#102f52;}
.calendar-intro h2{font-size:clamp(30px,3vw,40px);margin:0 0 20px;line-height:1.5;}
.calendar-intro h3{font-size:26px;margin:0 0 14px;}
.calendar-intro p,.calendar-intro li{font-size:20px;line-height:1.85;}
.calendar-tint{background:#edf2f6;}
.calendar-feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.calendar-example{background:#fff;border:1px solid #a8b6c3;border-top:4px solid #b59032;padding:28px;}
.calendar-example .example-label{display:block;color:#70530b;font-size:18px;margin-bottom:20px;}
.calendar-example ul{list-style:none;padding:0;margin:0;}
.calendar-example li{padding:16px 0;border-bottom:1px solid #d2dbe3;}
.calendar-feature-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.calendar-feature-nav a{padding:22px;border:1px solid #a8b6c3;font-size:22px;color:#102f52;text-decoration:underline;text-underline-offset:5px;background:#fff;}
@media(max-width:700px){.calendar-feature{grid-template-columns:1fr;gap:24px}.calendar-feature-nav{grid-template-columns:1fr 1fr}.calendar-intro{padding:40px 20px}.calendar-feature-nav a{font-size:20px;padding:16px}.calendar-example{padding:20px}}

body.ecf-integrated main:has(> .brand-title-panel){max-width:none;width:100%;}
body.ecf-integrated main > .s-wrap{max-width:1180px;margin-inline:auto;box-sizing:border-box;}
