:root{--ink:#173045;--muted:#667984;--line:#d8e2e4;--paper:#fbfcf9;--cream:#f1f3eb;--blue:#177e89;--blue-dark:#0e5a64;--pale:#e5f1ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}a{color:inherit}button,textarea{font:inherit}.site-header{align-items:center;gap:30px;max-width:1160px;height:56px;margin:auto;padding:0 30px;display:flex}.logo{letter-spacing:.08em;font-family:Georgia,serif;font-size:19px;font-weight:700;text-decoration:none}nav{gap:20px;font-size:13px;display:flex}nav a{color:var(--muted);text-decoration:none}.login{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:99px;margin-left:auto;padding:8px 18px}.hero{border-top:1px solid var(--line);max-width:1100px;margin:0 auto;padding:34px 30px 30px}.eyebrow,.label{color:var(--blue-dark);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}h1,h2,h3,h4{margin-top:0;font-family:Georgia,Yu Mincho,serif}.hero h1{letter-spacing:-.035em;margin:7px 0 10px;font-size:clamp(31px,4vw,44px);line-height:1.16}.hero>p:last-child{max-width:620px;color:var(--muted);margin:0;font-size:14px;line-height:1.65}.event{max-width:1100px;margin:0 auto;padding:28px 30px 84px}.event-heading{justify-content:space-between;align-items:start;gap:30px;display:flex}.meta{color:var(--muted);font-size:13px}.event h2{margin:9px 0;font-size:37px}.event-description{color:var(--muted)}.count{border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:8px 12px;font-size:13px}.ai-summary{background:var(--pale);border-left:4px solid var(--blue);margin:36px 0 64px;padding:25px 29px}.ai-summary h3{margin:6px 0 9px;font-size:24px}.ai-summary p{line-height:1.75}.ai-summary small{color:var(--muted);margin-top:16px;display:block}.section-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-heading h3,.review-form h3{margin:6px 0;font-size:31px}.section-heading>p{color:var(--muted);font-size:13px}.list-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px;display:flex}.list-heading h2{margin:5px 0 0;font-size:30px}.list-heading>p{max-width:390px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.event-list{gap:20px;display:grid}.event-card{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 5px 18px #1730450a}.event-card>header{color:#eef5f5;background:linear-gradient(110deg,#173045,#27445c);justify-content:space-between;align-items:center;gap:18px;padding:15px 22px;display:flex}.event-card time{letter-spacing:.04em;font-size:13px;font-weight:700}.event-card header span{opacity:.85;font-size:12px}.event-card-body{padding:22px 24px 24px}.event-card h3{margin:0 0 8px;font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-size:22px;line-height:1.45}.event-card .event-description{margin:0;line-height:1.7}.card-summary{border-left:3px solid var(--blue);background:#f2f7f6;margin:19px 0;padding:15px 17px}.card-summary .label,.media-links .label{margin:0 0 7px}.card-summary>p:not(.label){margin:0;font-size:14px;line-height:1.7}.card-summary small{color:var(--muted);margin-top:10px;font-size:11px;display:block}.media-links{margin-top:20px}.media-link{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;display:grid}.media-link a{grid-template-columns:118px minmax(0,1fr) auto;align-items:baseline;gap:13px;text-decoration:none;display:grid}.media-link a:hover span{text-decoration:underline}.media-link b{color:var(--blue-dark);font-size:13px}.media-link span{min-width:0;font-size:14px;font-weight:700;line-height:1.45}.media-link small{color:var(--muted);white-space:nowrap;font-size:11px}.media-link button{border:1px solid var(--line);color:var(--blue-dark);cursor:pointer;white-space:nowrap;background:#fff;border-radius:99px;padding:6px 8px;font-size:12px}.media-link button:hover{border-color:var(--blue);background:var(--pale)}.article-list{border-top:1px solid var(--line);margin-top:18px}.article-row{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;grid-template-columns:130px minmax(250px,2fr) 1fr 160px;gap:18px;padding:20px 12px;display:grid}.article-row:hover,.article-row.selected{background:#edf5f3}.article-row span{font-size:14px}.article-row b,.article-row small{display:block}.article-row small{color:var(--muted);margin-top:5px;font-size:12px}.article-title{font-weight:700;line-height:1.5}.reaction-note{color:var(--blue-dark)}.article-detail{grid-template-columns:minmax(0,1fr) 270px;gap:58px;padding:72px 0;display:grid}.detail-copy h3{margin:9px 0 12px;font-size:35px}.detail-copy>a{color:var(--blue-dark);font-weight:700}.focus{background:var(--cream);margin:27px 0 36px;padding:19px 21px;line-height:1.7}.focus p{margin:7px 0 0}.detail-copy h4,aside h4{margin-bottom:15px;font-size:23px}.comment{border-bottom:1px solid var(--line);padding:18px 0}.comment div{flex-wrap:wrap;gap:6px;display:flex}.comment span{background:var(--pale);color:var(--blue-dark);border-radius:99px;padding:4px 8px;font-size:12px}.comment p{margin:11px 0 5px;line-height:1.75}.comment small,.aside-note{color:var(--muted);font-size:12px}.article-detail aside{border-left:1px solid var(--line);padding-left:26px}.meter{margin:20px 0}.meter div{justify-content:space-between;gap:8px;font-size:13px;display:flex}.meter i{background:var(--cream);border-radius:99px;height:8px;margin-top:8px;display:block;overflow:hidden}.meter em{background:var(--blue);border-radius:inherit;height:100%;display:block}.review-form{background:#f0f5f3;padding:48px}.form-lead{color:var(--muted);line-height:1.7}.ratings{grid-template-columns:repeat(2,1fr);gap:17px;margin:28px 0;display:grid}.ratings fieldset{border:0;margin:0;padding:0}.ratings legend{margin-bottom:8px;font-size:14px;font-weight:700}.ratings fieldset div{flex-wrap:wrap;gap:6px;display:flex}.ratings button{background:var(--paper);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:99px;padding:6px 9px;font-size:12px}.ratings button.active{color:#fff;background:var(--blue);border-color:var(--blue)}.review-form label{margin-bottom:8px;font-weight:700;display:block}.review-form label small{color:var(--muted);font-weight:400}.review-form textarea{resize:vertical;border:1px solid var(--line);background:#fff;border-radius:2px;width:100%;min-height:130px;padding:12px}.submit{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:2px;margin-top:17px;padding:11px 17px}.submit:disabled{opacity:.42;cursor:not-allowed}.validation{color:var(--muted);font-size:12px}.success{border-left:4px solid var(--blue);background:#fff;margin-top:27px;padding:20px}.success p{margin-bottom:0}.about{background:var(--ink);color:#fff;padding:92px 30px}.about>*{max-width:1040px;margin-left:auto;margin-right:auto}.about .label{color:#9ed0c8}.about h2{margin:10px auto 17px;font-size:43px}.about p:last-child{color:#d4e0df;max-width:580px;margin-left:max(50% - 520px,0px);line-height:1.8}footer{color:var(--muted);text-align:center;padding:24px 30px;font-size:12px}@media (max-width:760px){.site-header{gap:18px;padding:0 20px}.site-header nav{display:none}.hero,.event{padding-left:20px;padding-right:20px}.event-heading,.section-heading,.list-heading{display:block}.list-heading>p{margin-top:12px}.event-card-body{padding:18px}.event-card>header{padding:13px 18px}.media-link{grid-template-columns:1fr;gap:8px}.media-link a{grid-template-columns:1fr;gap:4px}.media-link small{white-space:normal}.media-link button{width:fit-content}.count{margin-top:15px;display:inline-block}.article-row{grid-template-columns:1fr;gap:7px}.article-row>span:first-child{align-items:baseline;gap:10px;display:flex}.article-row b,.article-row small{display:inline}.article-row small{margin:0}.article-detail{grid-template-columns:1fr;gap:35px;padding:52px 0}.article-detail aside{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.review-form{margin:0 -20px;padding:30px 20px}.ratings{grid-template-columns:1fr}.about h2{font-size:36px}}.login{font-size:13px;text-decoration:none}.account{color:var(--muted);align-items:center;gap:12px;margin-left:auto;font-size:13px;display:flex}.account a,.account button{color:var(--blue-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.auth-page{max-width:460px;margin:0 auto;padding:52px 24px}.auth-page form{background:var(--cream);margin-top:52px;padding:32px}.auth-page h1{margin:8px 0 30px;font-size:34px}.auth-page label{margin:18px 0 7px;font-size:14px;font-weight:700;display:block}.auth-page input{border:1px solid var(--line);background:#fff;width:100%;padding:10px;display:block}.auth-message{color:#a62e2e;font-size:13px}.auth-switch{color:var(--blue-dark);cursor:pointer;background:0 0;border:0;margin-top:20px;padding:0;font-size:13px;text-decoration:underline;display:block}.loading,.empty,.no-reviews{color:var(--muted);padding:32px 0;line-height:1.7}.empty{min-height:260px}.empty h2{color:var(--ink);font-size:30px}.empty .submit{margin-top:8px}.approval-list small{color:var(--muted);flex:100%;line-height:1.5}.admin-page{max-width:920px;margin:0 auto;padding:48px 24px 88px}.admin-page>.label{margin-top:50px;display:block}.admin-page h1{margin:8px 0 14px;font-size:42px}.admin-intro{color:var(--muted);max-width:700px;line-height:1.8}.admin-message{background:var(--pale);color:var(--blue-dark);margin:24px 0;padding:13px 16px}.admin-section{border-top:1px solid var(--line);margin-top:48px;padding-top:24px}.admin-section h2{font-size:27px}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-form label{gap:7px;font-size:13px;font-weight:700;display:grid}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--line);width:100%;font:inherit;background:#fff;padding:10px}.admin-form textarea{resize:vertical;min-height:88px}.admin-form label:nth-child(2){grid-column:1/-1}.admin-form .submit{align-self:end;width:fit-content}.approval-list{border-top:1px solid var(--line)}.approval-list div{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;display:flex}.approval-list b{flex:440px}.approval-list button{border:1px solid var(--blue);color:var(--blue-dark);cursor:pointer;background:0 0;padding:6px 10px}.approval-list a{color:var(--blue-dark);font-size:13px}@media (max-width:640px){.admin-form{grid-template-columns:1fr}.admin-page h1{font-size:35px}}
