/* Review concepts share accessible controls, local fonts and a stable navigation. */
.cc-concept-main,.cc-concept-main>.wp-block-post-content,.cc-concept-main .cc-concept{margin:0!important;padding:0;max-width:none}
.cc-concept{--cx-paper:#fff;--cx-ink:#282832;--cx-accent:#333f68;--cx-soft:#edf0f7;background:var(--cx-paper);color:var(--cx-ink);font:400 18px/1.6 "Public Sans",sans-serif;min-height:100vh}
.cc-concept *{box-sizing:border-box}.cc-concept .wp-block-group>*{margin-block-start:0}.cc-concept .wp-block-group>*,.cc-concept .wp-block-buttons>*{min-width:0}
.cc-concept .cx-container{width:min(1200px,calc(100% - 80px));max-width:1200px;margin-inline:auto!important}.cc-concept .cx-container .cx-container{width:100%}
.cc-concept h1,.cc-concept h2,.cc-concept h3{color:inherit;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:normal;margin:0 0 20px;line-height:1.08}
.cc-concept h1{font:500 64px/1.06 "Public Sans",sans-serif;letter-spacing:-.06em}.cc-concept h2{font:500 40px/1.14 "Public Sans",sans-serif;letter-spacing:-.04em}.cc-concept h3{font:500 26px/1.18 "Public Sans",sans-serif;letter-spacing:-.035em}
.cc-concept p{font-size:18px;line-height:1.6;margin:0 0 18px;max-width:65ch}.cc-concept p:last-child{margin-bottom:0}.cc-concept a{color:var(--cx-ink)}.cc-concept a:hover{text-decoration-thickness:2px}
.cc-concept .cx-section{padding-block:64px}.cc-concept .cx-actions{margin:22px 0 0;display:flex;gap:12px}.cc-concept .cx-button{max-width:100%}
.cc-concept .cx-button .wp-block-button__link,.cc-concept .cx-header-book{font:600 14px/1.4 "Public Sans",sans-serif;display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:54px;background:var(--cx-accent);color:white;padding:16px 24px;border:1px solid transparent;border-radius:6px;text-decoration:none;text-align:center;transition:filter .18s,transform .18s;box-shadow:none;max-width:100%}
.cc-concept .cx-button a:hover,.cc-concept .cx-header-book:hover{filter:brightness(.92);transform:translateY(-2px)}
.cc-concept .cx-portal-note{font-size:12px;line-height:1.5;margin:12px 0 0;max-width:42ch}
.cc-concept .cx-review-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px max(20px,calc((100vw - 1200px)/2));background:var(--cx-ink);color:#fff;font-size:11px;line-height:1.4}.cc-concept .cx-review-strip a{color:white;display:inline-flex;align-items:center;min-height:36px}.cc-concept .cx-review-strip span{text-align:right}
.cc-concept .cx-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:102px;padding-block:12px}
.cc-concept .cx-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;min-height:44px}.cc-concept .cx-brand img{object-fit:contain;width:47px;height:41px}.cc-concept .cx-brand>span{font:400 36px/.95 Newsreader,Georgia,serif;letter-spacing:-.04em}.cc-concept .cx-brand small{display:block;font:500 8px/1.5 "Public Sans",sans-serif;letter-spacing:.28em;margin:5px 0 0 2px}
.cc-concept .cx-header nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.cc-concept .cx-header nav a{font-size:13px;font-weight:500;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.cc-concept .cx-header nav a:hover{text-decoration:underline}.cc-concept .cx-header-book{font-size:12px;padding:13px 17px;min-height:48px}
.cc-concept .cx-photo{margin:0}.cc-concept .cx-photo img{width:100%;height:auto;display:block;object-fit:cover;border-radius:0}.cc-concept .cx-photo figcaption{font:400 11px/1.4 "Public Sans",sans-serif;color:var(--cx-ink);margin:9px 0 0;text-align:left}
.cc-concept .cx-preferences{font:400 12px/1.5 "Public Sans",sans-serif;color:var(--cx-ink);background:none;border:0;padding:8px 0;min-height:44px;text-align:left;text-decoration:underline;grid-column:1/-1;justify-self:start}
.cc-concept .cx-faq{border-block-end:1px solid color-mix(in srgb,var(--cx-ink) 30%,transparent);margin:0}.cc-concept .cx-faq:first-child{border-block-start:1px solid color-mix(in srgb,var(--cx-ink) 30%,transparent)}
.cc-concept .cx-faq summary{position:relative;display:block;min-height:60px;padding:18px 38px 18px 0;list-style:none;font-size:17px;line-height:1.4;font-weight:500;cursor:pointer}.cc-concept .cx-faq summary::-webkit-details-marker{display:none}.cc-concept .cx-faq summary:after{content:'+';position:absolute;right:5px;top:16px;font-size:23px;font-weight:400}.cc-concept .cx-faq[open] summary:after{content:'−'}.cc-concept .cx-faq>p{font-size:17px;padding:0 10px 22px 0;margin:0}
.cc-concept .cx-footer{border-top:1px solid color-mix(in srgb,var(--cx-ink) 25%,transparent);padding:36px 0}.cc-concept .cx-footer-inner{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px;align-items:center}.cc-concept .cx-footer-brand{font:400 33px/1 Newsreader,serif}.cc-concept .cx-footer-brand span{display:block;font:400 12px/1.5 "Public Sans",sans-serif;margin-top:8px}.cc-concept .cx-footer-location,.cc-concept .cx-footer-links{font-size:12px;line-height:1.6}.cc-concept .cx-footer-links a{display:inline-flex;min-height:44px;align-items:center}
.cc-concept :focus-visible{outline:3px solid var(--cx-accent);outline-offset:4px}.cc-concept .cx-review-strip :focus-visible,.cc-concept .cx-button a:focus-visible,.cc-concept .cx-header-book:focus-visible{outline:3px solid currentColor;box-shadow:0 0 0 6px var(--cx-accent)}
.cc-concept .cx-skip{position:fixed;top:8px;left:16px;transform:translateY(-180%);padding:12px 20px;background:var(--cx-ink);color:#fff;z-index:1000}.cc-concept .cx-skip:focus{transform:translateY(0)}
.cc-concept.concept-gallery{background:#f3f0ec}.cx-gallery-intro{padding-block:64px 40px}.cc-concept .cx-gallery-intro h1{font-size:64px;max-width:800px}.cc-concept .cx-gallery-intro p{max-width:660px}.cc-concept .cx-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:64px}.cc-concept .cx-gallery-card{border:1px solid #d3cbc4;border-radius:8px;overflow:hidden;background:#fff}.cc-concept .cx-gallery-card>div{padding:28px}.cc-concept .cx-gallery-card h2{font-size:32px}.cc-concept .cx-gallery-card p{font-size:15px}.cc-concept .cx-gallery-card .cx-photo img{aspect-ratio:1.40625;object-fit:cover;object-position:top}.cc-concept .cx-gallery-links a{display:flex;min-height:48px;align-items:center;justify-content:space-between;border-top:1px solid #cfcac3;text-decoration:none;font-weight:600;font-size:14px}.cc-concept .cx-gallery-card-a{background:#fff3e3}.cc-concept .cx-gallery-card-b{background:#fff}.cc-concept .cx-gallery-card-c{background:#f5e6eb}
@media(max-width:1050px){.cc-concept .cx-header-book{display:none}.cc-concept .cx-header{min-height:86px}.cc-concept .cx-gallery-grid{grid-template-columns:1fr}.cc-concept .cx-gallery-card{display:grid;grid-template-columns:1fr 1fr}.cc-concept .cx-gallery-card .cx-photo img{height:100%;min-height:320px}}
@media(max-width:767px){.cc-concept{font-size:17px}.cc-concept .cx-container{width:calc(100% - 40px)}.cc-concept h1{font-size:40px;line-height:1.08;letter-spacing:-.045em}.cc-concept h2{font-size:32px}.cc-concept h3{font-size:25px}.cc-concept p{font-size:17px}.cc-concept .cx-section{padding-block:36px}.cc-concept .cx-header{gap:12px;min-height:76px;flex-wrap:wrap}.cc-concept .cx-brand img{width:36px;height:34px}.cc-concept .cx-brand>span{font-size:28px}.cc-concept .cx-brand small{font-size:6px}.cc-concept .cx-brand{gap:7px}.cc-concept .cx-header nav{gap:12px}.cc-concept .cx-header nav a{font-size:11px}.cc-concept .cx-review-strip{font-size:10px;padding-inline:20px;gap:8px}.cc-concept .cx-button .wp-block-button__link{font-size:13px;min-height:54px;padding:14px 18px}.cc-concept .cx-portal-note{font-size:12px}.cc-concept .cx-footer-inner{grid-template-columns:1fr 1fr;gap:20px}.cc-concept .cx-footer-brand{grid-column:1/-1}.cc-concept .cx-footer-links,.cc-concept .cx-footer-location{font-size:12px}.cc-concept .cx-footer{padding-block:30px}.cc-concept .cx-faq summary{font-size:16px}.cc-concept .cx-gallery-intro{padding-block:36px}.cc-concept .cx-gallery-intro h1{font-size:42px}.cc-concept .cx-gallery-card{display:block}.cc-concept .cx-gallery-card .cx-photo img{height:auto;min-height:0}.cc-concept .cx-gallery-grid{padding-bottom:36px}}
@media(max-width:359px){.cc-concept .cx-header nav{width:100%;justify-content:space-between;gap:8px}.cc-concept .cx-header{padding-top:8px;padding-bottom:0;gap:0}.cc-concept .cx-header nav a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.cc-concept *{animation:none!important;transition:none!important}.cc-concept .cx-button a:hover,.cc-concept .cx-header-book:hover{transform:none}}
