.smysly-announcement { margin:48px var(--gutter); padding:clamp(24px,4vw,60px); border-radius:28px; background:#fff9e8; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); gap:40px; align-items:center; }
.smysly-announcement h2 { margin:16px 0; font-size:clamp(32px,4vw,56px); line-height:1.12; letter-spacing:-.035em; }
.smysly-announcement p { max-width:58ch; line-height:1.65; }
.smysly-announcement .smysly-short { margin:20px 0; font-weight:600; color:#304aa0; }
.smysly-announcement img { display:block; width:100%; max-height:390px; aspect-ratio:4/5; object-fit:cover; object-position:50% 38%; border-radius:20px; }
.smysly-announcement a.button,.smysly-page a.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; gap:12px; padding:16px 28px; border:1px solid #f4c52f; background:#f4c52f; color:#202d52; font-weight:650; transition:background .18s,color .18s,border-color .18s; }
.smysly-announcement a.button:hover,.smysly-page a.button:hover { background:#304aa0; border-color:#304aa0; color:#fff; }
.smysly-announcement a.button:active,.smysly-page a.button:active { background:#263c82; border-color:#263c82; color:#fff; }
.smysly-page .page-hero { min-height:0; padding-top:40px; padding-bottom:68px; }
.smysly-page .page-hero h1 { max-width:15ch; font-size:clamp(42px,5.5vw,76px); }
.smysly-portrait { display:block; width:100%; height:auto; max-width:440px; border-radius:24px; }
.smysly-date { display:flex; gap:22px; align-items:center; margin-top:26px; padding:0 0 0 18px; border-left:3px solid #304aa0; color:#202d52; }
.smysly-date span { display:block; font-size:14px; line-height:1.45; color:#626879; }
.smysly-date strong { display:block; margin-top:3px; font-size:19px; line-height:1.4; font-weight:650; }
.smysly-editorial { padding:16px var(--gutter) 64px; display:grid; grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr); gap:clamp(32px,6vw,96px); align-items:start; }
.smysly-editorial h2,.smysly-details h2,.smysly-signup h2 { font-size:clamp(28px,3vw,40px); line-height:1.2; letter-spacing:-.025em; margin-bottom:24px; }
.smysly-reading section+section { margin-top:36px; }
.smysly-reading p { font-size:18px; line-height:1.8; margin:0 0 20px; max-width:65ch; }
.smysly-invitation { border-radius:24px; padding:clamp(24px,3vw,40px); background:#f1f4fc; border-top:4px solid #f4c52f; }
.smysly-invitation blockquote { margin:0 0 24px; font-size:clamp(20px,2vw,25px); line-height:1.65; color:#263d83; }
.smysly-invitation h3 { font-size:23px; margin:24px 0 10px; }
.smysly-invitation p { line-height:1.75; color:#586171; }
.smysly-details { margin:0 var(--gutter) 64px; padding:clamp(24px,4vw,48px); border-radius:28px; background:#f7f6f1; }
.smysly-details-heading { margin-bottom:32px; }
.smysly-details-heading .section-index { margin-bottom:16px; }
.smysly-details h2 { margin-bottom:0; }
.smysly-condition-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0; }
.smysly-condition { padding:24px 20px; border-radius:20px; background:#fff; min-width:0; }
.smysly-condition img { width:100px; height:100px; object-fit:contain; display:block; margin:0 0 18px; }
.smysly-condition dt { font-size:13px; letter-spacing:.045em; text-transform:uppercase; font-weight:650; color:#64708d; margin-bottom:10px; }
.smysly-condition dd { font-size:17px; line-height:1.6; color:#202d52; margin:0; }
.smysly-signup { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:center; gap:32px; padding:clamp(28px,4vw,52px); margin:0 var(--gutter) 72px; background:#fff3cf; border-radius:28px; }
.smysly-signup p { max-width:60ch; line-height:1.8; }
.smysly-signup h2 { margin-bottom:16px; }
.smysly-signup-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.smysly-phone { font-size:clamp(22px,2.4vw,30px); font-weight:650; color:#304aa0; text-decoration:none; white-space:nowrap; }
.smysly-page a:focus-visible,.smysly-announcement a:focus-visible { outline:3px solid #304aa0; outline-offset:5px; }
@media(max-width:1020px) {
 .smysly-condition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .smysly-editorial { gap:32px; }
}
@media(max-width:760px) {
 .smysly-announcement { grid-template-columns:1fr; gap:28px; margin-top:28px; margin-bottom:28px; }
 .smysly-announcement img { max-height:420px; object-position:50% 35%; }
 .smysly-page .page-hero { gap:28px; padding-bottom:40px; }
 .smysly-editorial { grid-template-columns:1fr; padding-bottom:40px; }
 .smysly-reading p { font-size:17px; }
 .smysly-page .page-hero-visual { order:1; }
 .smysly-page .page-hero-copy { order:0; }
 .smysly-date { gap:16px; padding-left:14px; }
 .smysly-date strong { font-size:17px; }
 .smysly-date span { font-size:12px; }
 .smysly-details { margin-bottom:32px; padding:24px 16px; }
 .smysly-condition-grid { grid-template-columns:1fr; gap:12px; }
 .smysly-condition { display:grid; grid-template-columns:72px minmax(0,1fr); column-gap:16px; row-gap:0; padding:20px 16px; align-items:center; }
 .smysly-condition img { grid-column:1; grid-row:1 / span 2; width:72px; height:72px; margin:0; }
 .smysly-condition dd { grid-column:2; grid-row:2; font-size:16px; align-self:start; }
 .smysly-condition dt { display:contents; }
 .smysly-condition dt span { grid-column:2; grid-row:1; margin-bottom:6px; font-size:12px; align-self:end; }
 .smysly-signup { grid-template-columns:1fr; margin-bottom:40px; gap:24px; }
 .smysly-signup-actions { align-items:stretch; }
 .smysly-phone { font-size:23px; }
}
