*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#FAF7F3;color:#2B2A29;font-family:'Assistant',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.7}
h1,h2,h3,.mono{font-family:'Comfortaa','Assistant',system-ui,sans-serif}
a{color:#2E6E71}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
/* header */
.site-head{background:#FAF7F3;border-bottom:1px solid #E4DCD3;position:sticky;top:0;z-index:20}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#2B2A29}
.logo-mark{width:30px;height:30px;border-radius:9px;background:#E8637C;position:relative;flex:none}
.logo-mark::after{content:"";position:absolute;right:0;bottom:0;width:15px;height:15px;border-radius:9px 0 9px 0;background:#2E6E71}
.logo-word{font-family:'Comfortaa',sans-serif;font-weight:700;font-size:1.18rem;letter-spacing:-.01em}
.nav{display:flex;gap:26px}
.nav a{text-decoration:none;color:#4A4744;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:#2E6E71;border-bottom-color:#2E6E71}
.burger{display:none;background:none;border:1px solid #E4DCD3;border-radius:8px;padding:8px 12px;font:inherit;color:#2B2A29;cursor:pointer}
/* hero */
.hero{padding:64px 0 40px}
.hero-row{display:flex;align-items:center;gap:40px}
.hero-copy{flex:1 1 0;min-width:0}
.hero h1{font-size:2.6rem;line-height:1.2;margin:0 0 14px;font-weight:700;letter-spacing:-.02em}
.hero p{max-width:60ch;margin:0;color:#56514D;font-size:1.08rem}
.hero-photo{flex:none;width:240px;height:240px;margin:0;border-radius:18px;object-fit:cover;object-position:center}
/* launcher */
.launcher{padding:54px 0 10px}
.launcher h2{font-size:1.35rem;margin:0 0 30px;font-weight:700}
.icon-row{display:flex;gap:28px;justify-content:space-between;list-style:none;margin:0;padding:0}
.icon-row li{flex:1 1 0;min-width:0}
.icon-link{display:block;text-decoration:none;color:inherit;text-align:center}
.icon-tile{width:100%;aspect-ratio:1/1;border-radius:26%;display:flex;align-items:center;justify-content:center;font-family:'Comfortaa',sans-serif;font-weight:700;color:#fff;font-size:clamp(2rem,6vw,3.6rem);letter-spacing:-.02em;box-shadow:0 8px 20px rgba(43,42,41,.13);transition:transform .15s ease,box-shadow .15s ease}
.icon-rose{background:#E8637C}
.icon-teal{background:#2E6E71}
.icon-link:hover .icon-tile{transform:translateY(-4px);box-shadow:0 14px 26px rgba(43,42,41,.18)}
.icon-name{display:block;margin-top:14px;font-family:'Comfortaa',sans-serif;font-weight:700;font-size:1rem}
.icon-count{display:block;margin-top:2px;font-size:.86rem;color:#7D746C}
/* closing */
.closing{padding:56px 0 70px}
.closing p{max-width:66ch;margin:0;color:#56514D}
/* category */
.cat-head{padding:56px 0 8px}
.cat-head h1{font-size:2.2rem;margin:0 0 10px;font-weight:700}
.cat-head .lede{margin:0;color:#56514D;max-width:62ch}
.entries{margin:34px 0 70px;padding:0;list-style:none}
.entry{padding:26px 0;border-bottom:1px solid #E4DCD3}
.entry:first-child{border-top:1px solid #E4DCD3}
.entry-row{display:flex;gap:16px;align-items:flex-start}
.initial{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Comfortaa',sans-serif;font-weight:700;font-size:1.25rem}
.i-rose{background:#E8637C}
.i-teal{background:#2E6E71}
.entry-id h2{margin:0;font-size:1.18rem;font-weight:700}
.entry-id .place{font-size:.88rem;color:#7D746C}
.entry-id .fact{margin:4px 0 0;font-size:.97rem;color:#56514D}
.entry-body{margin:16px 0 0;color:#3D3A37}
/* article pages */
.doc{padding:56px 0 76px;max-width:70ch}
.doc h1{font-size:2.1rem;margin:0 0 20px;font-weight:700}
.doc h2{font-size:1.2rem;margin:34px 0 10px;font-weight:700}
.doc p{margin:0 0 16px;color:#3D3A37}
.doc ul{margin:0 0 16px;padding-left:20px;color:#3D3A37}
/* footer */
.site-foot{border-top:1px solid #E4DCD3;background:#F3EDE6;margin-top:auto}
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;padding:48px 0 34px}
.foot-cols h3{font-size:.95rem;margin:0 0 12px;font-weight:700}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin-bottom:8px}
.foot-cols a{color:#4A4744;text-decoration:none;font-size:.94rem}
.foot-cols a:hover{color:#2E6E71}
.foot-about p{margin:0;color:#6E645C;font-size:.94rem;max-width:40ch}
.foot-bottom{border-top:1px solid #E4DCD3;padding:18px 0 40px;font-size:.87rem;color:#7D746C}
body{display:flex;flex-direction:column;min-height:100vh}
main{flex:1 0 auto}
@media(max-width:860px){
 .foot-cols{grid-template-columns:1fr 1fr}
 .foot-about{grid-column:1/-1}
 .icon-row{gap:18px}
}
@media(max-width:700px){
 .burger{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#FAF7F3;border-bottom:1px solid #E4DCD3;flex-direction:column;gap:0;padding:6px 24px 14px}
 .nav.open{display:flex}
 .nav a{padding:10px 0;border-bottom:1px solid #EFE7DE}
 .site-head .wrap{position:relative}
 .hero{padding:40px 0 26px}
 .hero-row{flex-direction:column;align-items:flex-start;gap:22px}
 .hero h1{font-size:2rem}
 .hero-photo{width:180px;height:180px}
 .icon-row{flex-wrap:wrap;gap:22px 18px}
 .icon-row li{flex:0 0 calc(50% - 9px)}
}
.entry-body{max-width:80ch}
