/*
Theme Name: Tryzub Mosaic
Description: A custom editorial Gutenberg block theme for Tryzub Mosaic. No paid dependencies.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: tryzub-mosaic
*/
:root{--paper:#f8f7f2;--ink:#152e39;--blue:#194ce2;--yellow:#f3cd42;--line:#d6d8d0;--gutter:clamp(22px,5vw,90px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p{margin-bottom:1.25em}h1,h2,h3{font-weight:500;line-height:1.07;letter-spacing:-.055em}h1{font-size:clamp(52px,6.5vw,104px)}h2{font-size:clamp(36px,4.1vw,66px);margin-bottom:40px}h3{font-size:clamp(25px,2.4vw,36px);margin-bottom:22px;letter-spacing:-.04em}em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px var(--gutter);border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px}.brand .wp-block-site-title,.wordmark{font-size:23px;line-height:1.1;letter-spacing:-.05em;font-weight:700;margin:0}.wordmark{text-decoration:none}.brand .wp-block-site-title a{text-decoration:none}.brand .wp-block-site-logo{margin:0}.brand-note{font-size:10px;letter-spacing:.14em;display:block;margin-top:7px;font-weight:400}.menu-toggle{white-space:nowrap;flex-shrink:0;border:1px solid var(--ink);border-radius:30px;background:transparent;padding:10px 24px;font-size:14px;cursor:pointer}.desktop-links{display:flex;align-items:center;gap:28px;font-size:14px}.desktop-links>a{text-decoration:none}.site-main{max-width:1600px;margin:auto}.hero{padding:75px var(--gutter) 30px}.hero-split{display:grid;grid-template-columns:1.15fr 1fr;gap:4vw;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:28px}.lead{font-size:clamp(17px,1.4vw,21px);line-height:1.65;max-width:590px;margin-top:30px;margin-bottom:0}.hero-art{position:relative;padding:0 6px}.mosaic-art{margin:0;overflow:hidden}.mosaic-art img{width:100%;display:block}.hero-art .mosaic-art{transform:rotate(3deg);box-shadow:20px 20px 0 #e4e6dd}.art-caption{font-size:10px;letter-spacing:.13em;margin-top:28px}.hero-actions{padding:5px var(--gutter) 58px;display:flex;gap:30px;justify-content:space-between;align-items:center}.small-label{font-size:10px;letter-spacing:.16em;margin:0}.wp-block-buttons{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:49px;background:var(--blue);color:#fff;text-decoration:none;border:1px solid var(--blue);border-radius:3px;padding:13px 23px;font-size:13px;line-height:1.4;transition:background .2s,transform .2s}.wp-block-button__link:hover{background:#1039ae;color:#fff;transform:translateY(-2px)}.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);border-color:var(--line)}.is-style-outline .wp-block-button__link:hover{border-color:var(--ink)}.statement-band{background:var(--yellow);padding:26px var(--gutter);overflow:hidden}.statement{font-family:Georgia,serif;font-size:clamp(25px,3vw,42px);font-style:italic;margin:0;white-space:normal}.section{padding:85px var(--gutter);border-bottom:1px solid var(--line)}.section>.eyebrow{color:var(--blue)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-card{border-top:1px solid var(--ink);padding:24px 0 8px;display:flex;flex-direction:column;align-items:flex-start}.tm-card p{font-size:16px;max-width:430px}.tm-card .index{font-size:10px;letter-spacing:.14em;margin-bottom:32px;color:var(--blue);font-weight:700}.tm-card .card-link{margin-top:auto;margin-bottom:0;padding-top:20px;font-size:13px;font-weight:600}.card-link a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:7px}.card-link span{margin-left:8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-copy p{max-width:520px}.archive-art{max-width:400px;margin:auto;transform:rotate(-3deg)}.museum-photo img{width:100%;height:480px;object-fit:cover;object-position:center 40%;display:block}.wp-element-caption{font-size:10px;line-height:1.6;margin-top:12px;color:#4d6066}.cta{background:var(--blue);color:white;border:0;margin:0}.cta h2{max-width:900px}.cta>p{max-width:600px}.cta>.eyebrow{color:#e1e9ff}.cta .wp-block-button__link{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.cta .is-style-outline .wp-block-button__link{background:transparent;color:#fff;border-color:#889ee4}.site-footer{padding:65px var(--gutter) 30px;display:grid;grid-template-columns:1.25fr 1fr;gap:40px;background:#eaece5}.footer-intro h2{font-size:40px;margin-bottom:20px}.footer-intro p{font-size:14px}.footer-links{columns:2;column-gap:25px}.footer-links p{font-size:13px;break-inside:avoid}.footer-links a{text-decoration:none}.footer-meta{border-top:1px solid #c7cdc2;padding-top:24px;grid-column:1/-1;display:flex;gap:30px;flex-wrap:wrap;font-size:11px}.footer-meta p{margin:0}.footer-meta .note{margin-left:auto}.hero-page{padding-top:90px;padding-bottom:80px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 95% 15%,#e0e8fa 0,transparent 42%)}.hero-page h1{font-size:clamp(49px,6.4vw,94px)}.hero-page .lead{max-width:760px}.note,.contact-pending{border-left:3px solid var(--yellow);padding-left:20px;color:#405861}.section>p{max-width:840px}.site-nav{position:absolute;right:var(--gutter);top:86px;min-width:300px;background:var(--paper);padding:22px;border:1px solid var(--line);box-shadow:0 20px 35px #152e3914;z-index:50}.site-nav a{display:block;padding:8px;text-decoration:none;font-size:15px}.site-nav a:hover{background:#e4e9f6}.site-nav[hidden]{display:none}.skip-link{position:absolute;left:20px;top:-80px;z-index:99;background:white;padding:12px}.skip-link:focus{top:10px}.preview-label{font-size:10px;text-align:center;background:#e5eafd;color:#213c83;padding:5px 15px;letter-spacing:.06em}.wp-block-navigation__responsive-container.is-menu-open{padding:40px var(--gutter)!important;background:var(--paper)!important}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{font-size:clamp(20px,3vw,38px)}.wp-block-navigation__responsive-container-open{border:1px solid var(--ink)!important;border-radius:30px;padding:9px 20px!important}.wp-block-navigation__responsive-container-close{top:25px!important;right:var(--gutter)!important}.motion-ready .reveal:not(.is-visible){opacity:.12;transform:translateY(24px)}.reveal{transition:opacity .7s ease,transform .7s ease}.hero-art{animation:float 9s ease-in-out infinite}@keyframes float{50%{transform:translateY(-12px)}}.editor-styles-wrapper .reveal{opacity:1!important;transform:none!important}.editor-styles-wrapper .hero-art{animation:none}.editor-styles-wrapper .site-main{max-width:100%}
@media(min-width:1600px){.site-header,.site-footer{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:900px){.hero-split{grid-template-columns:1fr 1fr;gap:28px}.hero h1{font-size:60px}.hero-actions{display:block}.small-label{margin-top:25px}.card-grid{gap:22px}.split{gap:35px}.desktop-links>a{display:none}.site-footer{grid-template-columns:1fr}.footer-meta{grid-column:auto}.museum-photo img{height:390px}.section{padding-top:65px;padding-bottom:65px}}
@media(max-width:620px){.site-header{padding-top:18px;padding-bottom:18px}.wordmark{font-size:20px}.hero{padding-top:45px}.hero-split{grid-template-columns:1fr}.hero h1{font-size:58px}.hero-art{width:82%;margin:24px auto 10px}.hero-actions{padding-top:20px}.wp-block-buttons{align-items:stretch}.wp-block-button{max-width:100%}.wp-block-button__link{padding:13px 17px}.card-grid,.card-grid.two,.split{grid-template-columns:1fr;gap:35px}.tm-card .index{margin-bottom:20px}.section{padding-top:52px;padding-bottom:52px}.section h2{margin-bottom:30px}.archive-art{width:85%}.hero-page{padding-bottom:45px}.hero-page h1{font-size:49px}.museum-photo img{height:400px}.footer-links{columns:1}.footer-meta{display:block}.footer-meta p{margin:12px 0}.site-nav{left:var(--gutter);min-width:0}.lead{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}}

/* Refined identity: the supplied Tryzub Mosaic emblem guides the palette. */
:root{--paper:#fff;--ink:#122e48;--blue:#074e83;--yellow:#e9ad32;--line:#dce3e9;--gutter:clamp(22px,5vw,80px)}
body{font-size:16px;line-height:1.65;background:#fff}
h1,h2,h3{letter-spacing:-.025em;font-weight:650;line-height:1.18}
h1,.hero h1,.hero-page h1{font-size:clamp(32px,3.25vw,49px)}
h2{font-size:clamp(26px,2.35vw,34px);margin-bottom:25px}
h3{font-size:22px;margin-bottom:14px}
em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--blue)}
.site-header{padding-top:14px;padding-bottom:14px;gap:24px;background:#fff;border-bottom:1px solid var(--line)}
.identity{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}
.identity>img{width:57px;height:57px;object-fit:contain}
.wordmark,.brand .wp-block-site-title{font-size:18px;letter-spacing:.015em;font-weight:750;line-height:1.2}
.brand-note{font-size:9px;letter-spacing:.12em;line-height:1.4;margin-top:5px}
.desktop-links{gap:22px;font-size:13px}.desktop-links>a{white-space:nowrap}
.desktop-links .nav-donate{background:var(--blue);color:white;padding:10px 18px;border-radius:3px}
.menu-toggle{font-family:inherit;border-radius:3px;border:1px solid var(--line);padding:10px 14px;font-size:13px}
.preview-label{background:#eff3f6;color:#526777;font-size:9px;padding:4px}
.hero{padding-top:42px;padding-bottom:25px}
.hero-split{grid-template-columns:1.3fr 1fr;gap:65px;min-height:390px;align-items:center;background:linear-gradient(115deg,#fff 60%,#f0f5f8)}
.hero-copy{max-width:610px}.hero-copy h1{max-width:580px}
.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:18px;color:var(--blue)}
.lead{font-size:17px;line-height:1.7;margin-top:20px;max-width:590px;color:#435b6e}
.hero-art{animation:none;max-width:320px;margin:0 auto;width:100%;padding:0}
.hero-art .mosaic-art{transform:none;box-shadow:none;background:transparent;overflow:visible}
.mosaic-art img{object-fit:contain}.hero-art .mosaic-art img{max-height:315px;filter:drop-shadow(0 10px 12px #082c4514)}
.art-caption{font-size:9px;letter-spacing:.12em;text-align:center;margin-top:12px;margin-bottom:0;color:#566c7f}
.hero-actions{padding-top:0;padding-bottom:30px;background:linear-gradient(115deg,#fff 60%,#f0f5f8)}
.wp-block-button__link{min-height:44px;padding:11px 20px;font-size:13px;border-radius:3px}
.wp-block-button__link:hover{background:#053452}
.small-label{font-size:9px;color:#5b7282;letter-spacing:.12em}
.statement-band{position:relative;background:#082c4c;color:#fff;padding:19px var(--gutter);border-bottom:4px solid var(--yellow)}
.statement-band:after,.cta:after{content:"";position:absolute;right:0;top:0;width:35%;height:100%;pointer-events:none;opacity:.18;background:repeating-linear-gradient(28deg,transparent 0 30px,#69a1c8 31px 32px,transparent 33px 60px),repeating-linear-gradient(110deg,transparent 0 35px,#fff 36px 37px,transparent 38px 72px)}
.statement{font-family:inherit;font-size:18px;font-style:normal;font-weight:500;letter-spacing:.01em}
.section{padding-top:48px;padding-bottom:48px}.section>.eyebrow{margin-bottom:15px}
.card-grid{gap:24px}.tm-card{background:#f6f8fa;padding:24px;border:1px solid #e2e8ed;border-top:3px solid var(--yellow);border-radius:3px;position:relative}
.tm-card:nth-child(2){border-top-color:#0869a5}.tm-card:nth-child(3){border-top-color:#a55b31}
.tm-card p{font-size:15px}.tm-card .index{margin-bottom:17px;font-size:10px}.tm-card .card-link{font-size:13px;padding-top:12px}
.split{gap:50px}.archive-art{max-width:230px;transform:none}.archive-art .art-caption{line-height:1.7}
.museum-photo img{height:320px}.wp-element-caption{font-size:10px}
.cta{position:relative;background:#082c4c;overflow:hidden;border-top:4px solid #d7a333}.cta>*{position:relative;z-index:1}.cta h2{font-size:32px}.cta .lead,.cta>p{color:#e4edf5}.cta>.eyebrow{color:#efc361}
.site-footer{padding-top:38px;background:#f1f4f7;gap:25px}.footer-intro h2{font-size:26px}.footer-links p{font-size:13px}.footer-meta{padding-top:18px}
.hero-page{padding-top:45px;padding-bottom:42px;background:linear-gradient(105deg,#f6f8fa,#fff);border-top:3px solid var(--yellow)}
.hero-page .lead{font-size:16px;max-width:730px}.site-nav{top:80px;max-height:75vh;overflow:auto;border-top:3px solid var(--yellow)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{font-size:20px}
.brand .wp-block-image{width:57px;margin:0;flex-shrink:0}.brand .wp-block-image img{display:block;width:57px;height:57px;object-fit:contain}
@media(max-width:1150px){.desktop-links{gap:14px}.desktop-links>a.nav-secondary{display:none}.identity{gap:9px}.wordmark{font-size:16px}}
@media(max-width:900px){.hero-split{gap:30px;grid-template-columns:1.35fr 1fr;min-height:330px}.hero-art{max-width:250px}.desktop-links>a.nav-donate{display:inline-block}.hero-actions{display:flex;align-items:flex-start}.small-label{display:none}.hero h1{font-size:37px}.section{padding-top:40px;padding-bottom:40px}.card-grid{gap:16px}.tm-card{padding:19px}.museum-photo img{height:310px}}
@media(max-width:620px){.site-header{gap:10px;padding-top:11px;padding-bottom:11px}.identity>img{width:43px;height:43px}.brand-note{display:none}.wordmark{font-size:14px}.desktop-links{gap:8px}.desktop-links>a.nav-donate{display:none}.menu-toggle{padding:8px 10px;font-size:12px}.hero-split{grid-template-columns:1fr;gap:24px}.hero{padding-top:30px}.hero h1,.hero-page h1{font-size:33px}.hero-art{max-width:180px;margin:0 auto 5px}.hero-art .mosaic-art img{max-height:180px}.art-caption{font-size:8px}.lead{font-size:16px;line-height:1.6}.hero-actions{padding-bottom:25px}.wp-block-buttons{gap:10px}.wp-block-button__link{font-size:12px;padding:10px 14px}.statement{font-size:15px}.statement-band{padding-top:15px;padding-bottom:15px}.section{padding-top:33px;padding-bottom:33px}.section h2{font-size:26px;margin-bottom:22px}.tm-card h3{font-size:21px}.card-grid,.card-grid.two,.split{grid-template-columns:1fr;gap:20px}.hero-page{padding-bottom:30px}.cta h2{font-size:28px}.site-nav{top:67px}.footer-intro h2{font-size:24px}}

/* Topic imagery */
.topic-image{margin:0;max-width:100%}.topic-image img{display:block;width:100%;height:auto;max-height:290px;object-fit:contain;background:#eef2f5;border-radius:3px}.topic-image .wp-element-caption{margin-top:9px;font-size:11px;line-height:1.5}.topic-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.nafo-wordmark{max-width:190px;margin-bottom:22px}.nafo-wordmark img{display:block;width:190px;height:auto}.nafo-wordmark figcaption{font-size:10px}@media(max-width:620px){.topic-gallery{grid-template-columns:1fr}.topic-image img{max-height:240px}}

/* WordPress layout parity with the approved preview. */
.wp-site-blocks{padding:0}.wp-site-blocks>*,.wp-block-post-content>*{margin-block-start:0!important}.site-main{width:100%}.site-header .brand{flex-shrink:0}.tm-navigation{font-size:13px;gap:20px}.tm-navigation .wp-block-navigation__container{gap:20px}.tm-navigation a{text-decoration:none}.tm-navigation .wp-block-navigation-submenu__toggle{color:var(--ink)}.tm-navigation .wp-block-navigation__submenu-container{padding:12px;border-top:3px solid var(--yellow)!important;min-width:235px!important;background:white}.tm-navigation .wp-block-navigation__submenu-container a{padding:7px 12px}.tm-navigation .wp-block-navigation__container>.wp-block-navigation-item:last-child>a{background:var(--blue);color:#fff;padding:10px 18px;border-radius:3px}.wp-block-image figcaption a{color:inherit}.wp-block-group.brand{gap:13px}.tm-language{display:flex;gap:8px;font-size:12px;align-items:center;margin:0}.tm-language a{text-decoration:none}.tm-language [aria-current]{font-weight:700;border-bottom:2px solid var(--yellow)}
@media(max-width:1050px){.tm-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.tm-navigation .wp-block-navigation__responsive-container-open{display:flex}.site-header{gap:14px}.tm-language{margin-left:auto}.site-header .tm-navigation{margin-left:auto}}
