/* Beacon of Wellness — prototype + Gutenberg overlays */
:root{
  --bow-img-hero-bg:none;--bow-img-still-life:none;
  --navy:#092e55;--navy-deep:#072746;--gold:#b58949;--cream:#fbf8f3;
  --ink:#14273f;--line:#dccbb2;--white:#fff;--muted:#6f7882;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;width:100%;max-width:100%}
body{margin:0;width:100%;max-width:100%;color:var(--ink);background:var(--cream);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;left:1rem;top:-10rem;z-index:99;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.topbar{background:var(--navy-deep);color:#eef3f6;font-size:.74rem;letter-spacing:.01em}
.topbar-inner{height:40px;display:flex;align-items:center;justify-content:space-between}
.topbar b{color:#d6ad6e;font-size:1.1rem;margin-right:.45rem}
.site-header{position:absolute;z-index:20;top:40px;left:0;right:0;background:rgba(255,255,255,.94);backdrop-filter:blur(10px)}
.nav-row{height:92px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;gap:.65rem;min-width:300px}
.brand-logo{display:block;width:292px;height:auto;object-fit:contain}
.brand-mark{width:56px;height:63px;display:grid;place-items:center;color:var(--navy);font-size:2.6rem;border-bottom:3px solid var(--gold)}
.brand strong{display:block;font-family:Italiana,serif;font-size:2rem;letter-spacing:.025em;line-height:.9}
.brand small{display:block;font-size:.69rem;line-height:1.2;margin-top:.35rem;letter-spacing:.01em}
.primary-nav{display:flex;align-items:center;gap:1.65rem;font-size:.73rem;text-transform:uppercase;font-weight:600;white-space:nowrap}
.primary-nav>a:not(.nav-cta){padding-block:.6rem;border-bottom:1px solid transparent}
.primary-nav>a:hover,.primary-nav>a.active{color:var(--gold);border-bottom-color:var(--gold)}
.nav-cta{background:var(--navy-deep);color:#fff;padding:1rem 1.35rem;border-radius:4px}
.menu-toggle{display:none;border:0;background:transparent;padding:.5rem}.menu-toggle span:not(.sr-only){display:block;width:27px;height:2px;background:var(--navy);margin:5px}
.hero{min-height:735px;position:relative;padding-top:132px;isolation:isolate;background:#f8f2e9}
.hero-bg{position:absolute;inset:0;z-index:-2;background:var(--bow-img-hero-bg) center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(253,249,243,.68) 0%,rgba(253,249,243,.82) 27%,rgba(253,249,243,.34) 52%,rgba(253,249,243,.03) 78%,transparent 100%)}
.hero:before{content:"";position:absolute;z-index:1;left:0;right:0;bottom:-1px;height:132px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 132' preserveAspectRatio='none'%3E%3Cpath d='M0 82 C230 108 430 119 650 104 C850 90 930 61 1080 38 C1215 18 1325 13 1440 4 V132 H0Z' fill='%23fdfbf8'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.hero-grid{min-height:603px;position:relative;display:grid;grid-template-columns:51% 49%;align-items:end}
.hero-copy{position:relative;z-index:2;align-self:center;padding:52px 0 30px 34px;max-width:560px}
.eyebrow{text-transform:uppercase;color:var(--gold);font-weight:600;font-size:.82rem;letter-spacing:.18em}
.hero h1{font-family:"Cormorant Garamond",serif;font-size:4.1rem;line-height:.86;font-weight:500;margin:1rem 0;color:#132d4c}
.hero h1 em{display:inline-block;font-family:Allura,cursive;font-weight:400;color:#90734f;font-size:.82em;line-height:1.05;letter-spacing:.01em;margin-top:.12em}
.faith-divider{display:flex;align-items:center;color:var(--gold);gap:.6rem;width:355px;margin:1.7rem 0}
.faith-divider:before,.faith-divider:after{content:"";height:1px;background:var(--gold);flex:1}.faith-divider span{font-size:1.45rem}
.hero-lede{max-width:520px;font-family:"Cormorant Garamond",serif;font-size:1.1rem;line-height:1.45;color:#24303b}
.hero-actions{display:flex;gap:1.25rem;margin:1.55rem 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:.8rem 1.7rem;border-radius:3px;text-transform:uppercase;font-weight:600;font-size:.76rem;letter-spacing:.03em;transition:.2s}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--navy-deep);color:#fff}
.button.secondary{border:1px solid var(--gold);background:rgba(255,255,255,.55);color:var(--navy)}
.credentials{display:grid;grid-template-columns:repeat(3,1fr);max-width:430px;margin-top:1.5rem}
.credentials>div{display:grid;justify-items:center;text-align:center;padding:0 .85rem;border-right:1px solid var(--line);font-size:.67rem;text-transform:uppercase;line-height:1.45}
.credentials>div:last-child{border:0}.credentials img{width:39px;height:39px;object-fit:contain;margin-bottom:.5rem}
.hero-portrait{position:relative;z-index:0;height:560px;max-width:420px;align-self:end;display:flex;align-items:flex-end;justify-content:flex-start;overflow:visible;justify-self:start}
.hero-portrait img{height:100%;width:auto;max-width:100%;max-height:560px;object-fit:contain;object-position:left bottom}
.scripture-card{z-index:3;position:absolute;right:-20px;bottom:35px;width:520px;min-height:168px;margin:0;background:linear-gradient(115deg,#0c355e,#072748);border:1px solid #aa8346;color:#fff;padding:34px 175px 28px 67px;border-radius:7px;box-shadow:0 12px 35px rgba(2,29,56,.18);font-family:"Cormorant Garamond",serif;overflow:hidden}
.scripture-card .quote-mark{position:absolute;left:25px;top:10px;color:#d1a45f;font-size:3.5rem}.scripture-card p{font-size:1.18rem;line-height:1.45;margin:0 0 .6rem}.scripture-card cite{font-family:Inter,sans-serif;color:#d6a85f;text-transform:uppercase;font-style:normal;font-size:.74rem;letter-spacing:.06em}
.quote-tree{position:absolute;right:-12px;bottom:-28px;width:185px;height:225px;object-fit:contain;object-position:right bottom;opacity:.74;pointer-events:none}
.section{padding:58px 0}
.services{background:#fdfbf8}
.section-heading{text-align:center}.section-heading h2{font-family:"Cormorant Garamond",serif;font-size:2.55rem;font-weight:600;margin:.35rem 0 .35rem}.section-heading>p:last-child{font-family:"Cormorant Garamond",serif;font-size:1rem;line-height:1.5;margin:.2rem 0 2.3rem}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.service-card{border:1px solid #ddcbb1;border-radius:7px;text-align:center;padding:1.35rem .8rem 1.25rem;min-height:248px;background:rgba(255,255,255,.36)}
.service-card img{width:72px;height:72px;object-fit:contain;margin:0 auto .7rem}.service-card h3{text-transform:uppercase;font-size:.78rem;margin:.5rem 0 .7rem;color:var(--navy);white-space:nowrap}.service-card p{font-family:"Cormorant Garamond",serif;font-size:.94rem;line-height:1.5;margin:0}
.about{display:grid;grid-template-columns:40% 60%;min-height:340px;background:#092d50}
.about-copy{position:relative;background:linear-gradient(120deg,#092f55,#0c2947);color:#fff;display:grid;align-items:center}
.about-copy:after{content:"";position:absolute;right:-55px;top:0;bottom:0;width:110px;background:#092d50;clip-path:polygon(0 0,100% 0,50% 100%,0 100%);z-index:2}
.about-inner{width:min(490px,calc(100% - 64px));margin-left:auto;padding-right:38px;position:relative;z-index:3}
.about h2{font-family:Italiana,serif;text-transform:uppercase;font-size:2.6rem;font-weight:400;letter-spacing:.06em;margin:0;display:flex;align-items:baseline;gap:.35rem}.about h2 em{font-family:Allura,cursive;color:#d0a15e;text-transform:none;font-size:1.45em;letter-spacing:0;margin-right:.08rem;font-weight:400;line-height:.7}
.about-sub{font-family:"Cormorant Garamond",serif;font-size:1.3rem}.short-rule{display:block;width:100px;height:1px;background:#c99a58;margin:.75rem 0}.about-inner>p:not(.about-sub){font-family:"Cormorant Garamond",serif;font-size:1rem;line-height:1.55}.outline-gold{border:1px solid #c99a58;color:#e3bc7d;margin-top:.65rem}
.about-photo{overflow:hidden}.about-photo img{width:100%;height:auto;min-height:100%;object-fit:cover;object-position:center}
.cta-strip{background:radial-gradient(circle at 90% 20%,#e7d9c9 0,transparent 24%),linear-gradient(90deg,#f7f3ed,#f0e6da);padding:18px 0}
.cta-inner{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:25px;max-width:820px}
.cta-icon{width:58px;height:58px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center}.cta-icon img{width:36px;height:36px;object-fit:contain}.cta-inner p{font-family:"Cormorant Garamond",serif;font-size:1.4rem;line-height:1.25;margin:0}
.site-footer{background:linear-gradient(115deg,#082c50,#0c365f);color:#edf2f7;padding:42px 0 18px;position:relative}
.site-footer:before{content:"";position:absolute;inset:0;opacity:.06;background:repeating-radial-gradient(ellipse at 100% 100%,transparent 0 12px,#fff 13px 14px)}
.footer-grid,.footer-bottom{position:relative}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr 1.35fr;gap:50px}
.brand.light{min-width:0}.brand.light .brand-logo{width:255px}
.footer-brand p,.footer-grid li{font-size:.76rem;line-height:1.6}.socials{display:flex;gap:20px;margin-top:1rem}.socials a{font-size:1.2rem;color:#d4a65e}
.footer-grid h3{text-transform:uppercase;color:#d4a65e;font-size:.76rem;letter-spacing:.05em}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid a:hover{color:#e7bd7b}.contact-list li{display:flex;gap:.7rem;margin-bottom:.5rem}.contact-list span{color:#d4a65e}
.footer-bottom{border-top:1px solid rgba(255,255,255,.22);margin-top:18px;padding-top:15px;display:flex;justify-content:center;gap:180px;font-size:.65rem}.footer-bottom i{display:inline-block;width:1px;height:11px;background:#fff;margin:0 14px;vertical-align:middle}
.page-main{background:#fdfbf8}.page-hero{position:relative;padding:185px 0 78px;background:linear-gradient(90deg,rgba(251,248,243,.96),rgba(251,248,243,.75)),var(--bow-img-hero-bg) center/cover no-repeat;text-align:center}.page-hero .eyebrow{margin:0 0 .7rem}.page-hero h1{font-family:"Cormorant Garamond",serif;font-size:3.75rem;line-height:1;font-weight:500;color:var(--navy);margin:.25rem 0 .8rem}.page-hero p:last-child{max-width:680px;margin:0 auto;font-family:"Cormorant Garamond",serif;font-size:1.25rem;line-height:1.55}.content-wrap{width:min(900px,calc(100% - 48px));margin:auto;padding:68px 0}.content-wrap.wide{width:min(1120px,calc(100% - 48px))}.prose{font-family:"Cormorant Garamond",serif;font-size:1.14rem;line-height:1.75}.prose h2,.prose h3{font-family:"Cormorant Garamond",serif;color:var(--navy);line-height:1.15}.prose h2{font-size:2.25rem;margin-top:2.2rem}.prose h3{font-size:1.45rem;margin-top:1.8rem}.prose a{color:#8d6936;text-decoration:underline}.prose li{margin:.45rem 0}.split-content{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.portrait-card{background:#eee3d6;border-radius:8px;overflow:hidden;min-height:520px}.portrait-card img{width:100%;height:100%;object-fit:cover;object-position:center top}.feature-panel{padding:35px;border:1px solid #decbb0;background:#fff;border-radius:8px}.feature-panel h2{margin-top:0}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.testimonial-card{background:#fff;border:1px solid #decbb0;border-radius:8px;padding:30px}.testimonial-card h2{font-family:"Cormorant Garamond",serif;color:var(--navy);font-size:1.45rem;line-height:1.25;margin-top:0}.testimonial-card blockquote{margin:0;font-family:"Cormorant Garamond",serif;font-size:1.05rem;line-height:1.65}.testimonial-card cite{display:block;color:#9a713d;margin-top:1rem;font-style:normal;font-size:.82rem;font-weight:600}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid #decbb0;border-radius:8px;overflow:hidden}.blog-card-image{height:190px;background:linear-gradient(135deg,rgba(8,47,84,.78),rgba(181,137,73,.5)),var(--bow-img-still-life) center/cover}.blog-card-body{display:flex;flex-direction:column;flex:1;padding:24px}.blog-card h2{font-family:"Cormorant Garamond",serif;color:var(--navy);font-size:1.55rem;line-height:1.15;margin:.5rem 0}.blog-card p{font-size:.9rem;line-height:1.55}.blog-card .button{margin-top:auto;align-self:flex-start}.article-meta{text-align:center;color:#8d6936;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2rem}.reflection{border-left:3px solid var(--gold);background:#f6efe6;padding:18px 22px;margin:1.5rem 0;font-style:italic}.legal h2{font-size:1.45rem}.partner-card{display:grid;grid-template-columns:260px 1fr;gap:35px;align-items:start}.partner-mark{background:linear-gradient(145deg,var(--navy),#15527f);color:#fff;min-height:260px;border-radius:8px;display:grid;place-items:center;text-align:center;padding:25px}.partner-mark strong{font-family:"Cormorant Garamond",serif;font-size:2.2rem}.cta-box{text-align:center;background:linear-gradient(115deg,#0c355e,#072748);color:#fff;border-radius:8px;padding:42px;margin-top:45px}.cta-box h2{color:#fff;margin-top:0}.page-main .site-header{position:absolute}
@media(max-width:1050px){
  .primary-nav{gap:.85rem}.primary-nav a{font-size:.67rem}.brand{min-width:230px}.brand-logo{width:230px}.service-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .topbar,.site-header,.hero,main,.site-footer{width:100%;max-width:100%}
  .shell{width:min(100% - 32px,680px)}.topbar-inner span:last-child{display:none}.site-header{position:relative;top:0}.nav-row{height:78px}.brand-logo{width:230px}
  .menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:1rem 1.5rem 1.5rem;box-shadow:0 15px 30px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;z-index:30}.primary-nav.open{display:flex}.primary-nav a{text-align:center;padding:.75rem}.nav-cta{margin-top:.25rem}
  .hero{padding-top:0;min-height:auto}.hero-bg{background-position:left center}.hero-grid{display:block;padding-top:45px;padding-bottom:320px;min-height:870px}.hero-copy{padding:25px 0;max-width:540px}.hero h1{font-size:3.6rem}.hero:after{background:linear-gradient(180deg,rgba(253,249,243,.9) 0%,rgba(253,249,243,.8) 53%,rgba(253,249,243,.1) 100%)}.hero:before{height:105px}
  .hero-portrait{position:absolute;right:-35px;bottom:17px;width:50%;max-width:300px;height:380px}.scripture-card{right:10px;left:10px;bottom:30px;width:auto;z-index:4;min-height:125px}.credentials{max-width:420px}
  .about{grid-template-columns:1fr}.about-copy:after{display:none}.about-inner{width:min(100% - 40px,650px);margin:auto;padding:46px 0}.about-photo{height:380px}.cta-inner{grid-template-columns:58px 1fr}.cta-inner .button{grid-column:1/-1;margin:auto}
  .footer-grid{grid-template-columns:repeat(2,1fr)}.footer-bottom{gap:30px;justify-content:space-between}
  .page-main .site-header{position:relative}.page-hero{padding:70px 0;background-position:left center}.page-hero h1{font-size:3rem}.split-content,.partner-card{grid-template-columns:1fr}.portrait-card{min-height:430px}.testimonial-grid{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .topbar{font-size:.64rem}.topbar-inner{height:34px}.site-header{top:0}.nav-row{height:72px}.primary-nav{top:72px}.brand{min-width:0}.brand-logo{width:205px}.hero-grid{padding-top:25px;padding-bottom:325px;min-height:870px}.hero-copy{padding-inline:0;text-align:center}.eyebrow{font-size:.68rem}.hero h1{font-size:3.05rem}.faith-divider{width:85%;margin:1.3rem auto}.hero-lede{font-size:1rem;margin-inline:auto}.hero-actions{flex-wrap:wrap;justify-content:center}.credentials>div{padding-inline:.35rem}.credentials img{width:34px;height:34px}
  .hero-portrait{width:58%;max-width:260px;height:320px;right:-50px;opacity:.96}.scripture-card{padding:22px 118px 20px 55px}.scripture-card p{font-size:1rem}.quote-tree{width:122px;height:155px;right:-10px;bottom:-18px;opacity:.45}
  .section{padding:45px 0}.section-heading h2{font-size:2rem}.section-heading>p:last-child br{display:none}.service-grid{grid-template-columns:repeat(2,1fr);gap:10px}.service-card{min-height:230px;padding:1rem .6rem}.service-card h3{font-size:.68rem;white-space:normal}.service-card p{font-size:.87rem}.service-card img{width:62px;height:62px}
  .about h2{font-size:2.1rem}.about-photo{height:auto}.cta-inner{display:flex;flex-direction:column;text-align:center}.cta-inner p{font-size:1.2rem}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.footer-brand,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px;text-align:center}.footer-bottom i{margin-inline:8px}
  .page-hero{padding:52px 0}.page-hero h1{font-size:2.55rem}.page-hero p:last-child{font-size:1.08rem}.content-wrap,.content-wrap.wide{width:calc(100% - 32px);padding:48px 0}.blog-grid{grid-template-columns:1fr}.feature-panel,.testimonial-card{padding:23px}.portrait-card{min-height:360px}.partner-mark{min-height:210px}
}


/* ——— WordPress / Gutenberg overlays ——— */
html, body { overflow-x: visible; }
main#main-content { overflow: visible; display: block; width: 100%; }
body.bow-inner #main-content,
body.bow-blog #main-content { background: #fdfbf8; }
.alignfull { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }
.entry-content { max-width: none; width: 100%; padding: 0; margin: 0; }
.bow-entry { width: 100%; }
.entry-content > *:first-child { margin-top: 0; }
.wp-block-group { margin-top: 0; margin-bottom: 0; }
.wp-block-image { margin: 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
body.bow-nav-open { overflow: hidden; }

.wp-block-group.hero,
.hero { overflow: hidden; width: 100%; }
.wp-block-group.hero-bg,
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--bow-img-hero-bg) center/cover no-repeat;
}
.wp-block-group.page-hero,
.page-hero {
  width: 100%;
  background: linear-gradient(90deg,rgba(251,248,243,.96),rgba(251,248,243,.75)), var(--bow-img-hero-bg) center/cover no-repeat;
}
.scripture-card .cite { font-family: Inter, sans-serif; color: #d6a85f; text-transform: uppercase; font-style: normal; font-size: .74rem; letter-spacing: .06em; margin: 0; }
.wp-block-image.quote-tree,
figure.quote-tree { position: absolute; right: -12px; bottom: -28px; width: 185px; height: 225px; margin: 0; }
.wp-block-image.quote-tree img,
figure.quote-tree img { width: 100%; height: 100%; object-fit: contain; object-position: right bottom; opacity: .74; }

.credentials .wp-block-image,
.service-card .wp-block-image,
.hero-portrait .wp-block-image,
.about-photo .wp-block-image,
.cta-icon .wp-block-image,
.portrait-card .wp-block-image { margin: 0; }
.credentials img,
.service-card img,
.cta-icon img { display: block; }

.credentials > .wp-block-group,
.credentials > .wp-block-group__inner-container > .wp-block-group {
  display: grid;
  justify-items: center;
  text-align: center;
  padding: 0 .85rem;
  border-right: 1px solid var(--line);
  font-size: .67rem;
  text-transform: uppercase;
  line-height: 1.45;
}
.credentials > .wp-block-group:last-child,
.credentials > .wp-block-group__inner-container > .wp-block-group:last-child { border: 0; }
.credentials > .wp-block-group img,
.credentials > .wp-block-group__inner-container > .wp-block-group img { width: 39px; height: 39px; object-fit: contain; margin-bottom: .5rem; }

.hero-grid:has(> .wp-block-group__inner-container),
.service-grid:has(> .wp-block-group__inner-container),
.credentials:has(> .wp-block-group__inner-container),
.about:has(> .wp-block-group__inner-container),
.cta-inner:has(> .wp-block-group__inner-container),
.split-content:has(> .wp-block-group__inner-container),
.partner-card:has(> .wp-block-group__inner-container),
.testimonial-grid:has(> .wp-block-group__inner-container) { display: block; }

.hero-grid > .wp-block-group__inner-container,
.hero-grid:not(:has(> .wp-block-group__inner-container)) {
  min-height: 603px;
  position: relative;
  display: grid;
  grid-template-columns: 51% 49%;
  align-items: end;
}
.service-grid > .wp-block-group__inner-container,
.service-grid:not(:has(> .wp-block-group__inner-container)) {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.about > .wp-block-group__inner-container,
.about:not(:has(> .wp-block-group__inner-container)) {
  display: grid;
  grid-template-columns: 40% 60%;
  min-height: 340px;
}
.cta-inner > .wp-block-group__inner-container,
.cta-inner:not(:has(> .wp-block-group__inner-container)) {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  align-items: center;
  gap: 25px;
  max-width: 820px;
}
.split-content > .wp-block-group__inner-container,
.split-content:not(:has(> .wp-block-group__inner-container)) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 58px;
  align-items: center;
}
.partner-card > .wp-block-group__inner-container,
.partner-card:not(:has(> .wp-block-group__inner-container)) {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 35px;
  align-items: start;
}
.testimonial-grid > .wp-block-group__inner-container,
.testimonial-grid:not(:has(> .wp-block-group__inner-container)) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.wp-block-group.hero-portrait,
.hero-portrait { overflow: visible; height: 560px; max-width: 420px; justify-self: start; }
.wp-block-group.hero-portrait .wp-block-image,
.wp-block-group.hero-portrait figure,
.hero-portrait .wp-block-image,
.hero-portrait figure { width: auto; max-width: 100%; height: 100%; margin: 0; }
.wp-block-group.hero-portrait img,
.hero-portrait img { height: 100%; width: auto; max-width: 100%; max-height: 560px; object-fit: contain; object-position: left bottom; }
.wp-block-group.about-photo,
.about-photo { overflow: hidden; }
.wp-block-group.about-photo img,
.about-photo img { width: 100%; height: auto; min-height: 100%; object-fit: cover; object-position: center; }
.wp-block-group.portrait-card img,
.portrait-card img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }

.hero-actions p { margin: 0; }
.short-rule { min-height: 1px; }
.footer-bottom a + a { margin-left: 14px; padding-left: 14px; border-left: 1px solid #fff; }
.footer-bottom .primary-nav,
.footer-bottom nav { display: contents; }

.faq-list, .bow-faqs { display: flex; flex-direction: column; gap: 12px; }
.faq-item { border: 1px solid #decbb0; background: #fff; border-radius: 8px; overflow: hidden; }
.faq-question {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 18px 22px;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.25rem;
  color: var(--navy);
  cursor: pointer;
}
.faq-question[aria-expanded="true"] { color: var(--gold); }
.faq-answer { padding: 0 22px 18px; font-family: "Cormorant Garamond", serif; font-size: 1.05rem; line-height: 1.65; }

.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.contact-form label { display: flex; flex-direction: column; gap: 6px; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.contact-form .full { grid-column: 1 / -1; }
.contact-form input,
.contact-form textarea,
.wpcf7-form-control { width: 100%; border: 1px solid #decbb0; border-radius: 4px; padding: .7rem .85rem; font-family: Inter, sans-serif; background: #fff; }
.wpcf7-submit { cursor: pointer; }

.bow-cookie {
  position: fixed; z-index: 10000; left: 16px; right: 16px; bottom: 16px;
  display: flex; justify-content: center; pointer-events: none;
  opacity: 0; transform: translateY(18px);
  transition: opacity .35s ease, transform .45s cubic-bezier(.22, 1, .36, 1);
}
.bow-cookie.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.bow-cookie[hidden] { display: none !important; }
.bow-cookie-card {
  width: min(720px, 100%);
  display: grid; grid-template-columns: auto 1fr; gap: 18px 22px; align-items: center;
  padding: 18px 20px 18px 14px; border-radius: 16px;
  background: linear-gradient(135deg, #0c355e 0%, #072748 100%);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 22px 60px rgba(7,39,72,.45); color: #edf2f7;
}
.bow-cookie-mascot { width: 96px; height: 96px; border-radius: 50%; background: #fff; display: grid; place-items: center; }
.bow-cookie-mascot img { width: 64px; height: auto; }
.bow-cookie-kicker { margin: 0 0 4px; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; font-weight: 700; color: #d4a65e; }
.bow-cookie-copy h2 { margin: 0 0 8px; font-size: 26px; line-height: 1.1; color: #fff; font-family: "Cormorant Garamond", serif; }
.bow-cookie-copy p { margin: 0 0 14px; font-size: 14px; line-height: 1.5; color: #d8e0e8; }
.bow-cookie-privacy { display: inline; margin-left: 6px; color: #fff; text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
.bow-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.bow-cookie-accept, .button.primary-button { background: var(--navy-deep); color: #fff; border: 0; }
.bow-cookie-essential { border: 1px solid rgba(255,255,255,.55); color: #fff; background: rgba(255,255,255,.06); }

body.bow-blog #main-content,
body.blog #main-content,
body.single-post #main-content { background: #fdfbf8; }
.bow-blog-band { width: min(1180px, calc(100% - 48px)); margin: auto; padding: 20px 0 80px; }
.bow-blog-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; align-items: start; }
.bow-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bow-blog-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #decbb0; border-radius: 8px; overflow: hidden; }
.bow-blog-card-media { display: block; height: 190px; background: linear-gradient(135deg, rgba(8,47,84,.78), rgba(181,137,73,.5)), var(--bow-img-still-life) center/cover; }
.bow-blog-card-media img { width: 100%; height: 190px; object-fit: cover; }
.bow-blog-card-copy { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.bow-blog-card-title { font-family: "Cormorant Garamond", serif; color: var(--navy); font-size: 1.55rem; line-height: 1.15; margin: .5rem 0; }
.bow-blog-card-excerpt { font-size: .9rem; line-height: 1.55; }
.bow-blog-card-meta { color: #8d6936; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.bow-blog-sidebar { display: grid; gap: 22px; }
.bow-side-card, .bow-blog-widget, .widget { padding: 20px; background: #fff; border: 1px solid #decbb0; border-radius: 8px; }
.bow-side-title { font-family: "Cormorant Garamond", serif; color: var(--navy); font-size: 1.2rem; margin: 0 0 12px; }
.bow-side-list { list-style: none; padding: 0; margin: 0; }
.bow-side-list li { margin: .4rem 0; }
.bow-blog-widget h2, .bow-blog-widget h3, .widget h2, .widget h3 { font-family: "Cormorant Garamond", serif; color: var(--navy); font-size: 1.2rem; margin: 0 0 12px; }
.bow-article-title { font-family: "Cormorant Garamond", serif; font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 1.1; color: var(--navy); margin: .35rem 0; }
.bow-byline, .bow-crumb, .article-meta { color: #8d6936; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.bow-article-hero-image img { width: 100%; height: auto; border-radius: 8px; }
.bow-article-body { font-family: "Cormorant Garamond", serif; font-size: 1.14rem; line-height: 1.75; }
.bow-written-card { display: grid; grid-template-columns: 88px 1fr; gap: 18px; align-items: start; margin-top: 18px; }
.bow-written-photo { border-radius: 50%; }
.bow-post-nav { display: flex; justify-content: space-between; gap: 24px; margin-top: 36px; }
.bow-post-nav a { font-family: "Cormorant Garamond", serif; color: var(--navy); }
.bow-post-nav span { display: block; font-family: Inter, sans-serif; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #8d6936; }
.searchform, .bow-search { display: flex; gap: 8px; }
.searchform input[type="search"], .searchform input[type="text"] { flex: 1; border: 1px solid #decbb0; border-radius: 4px; padding: .6rem .75rem; }
.searchform button, .searchform input[type="submit"] { background: var(--navy-deep); color: #fff; border: 0; border-radius: 4px; padding: .6rem 1rem; cursor: pointer; }

@media (max-width: 1050px) {
  .wp-block-group.service-grid > .wp-block-group__inner-container,
  .service-grid > .wp-block-group__inner-container,
  .service-grid:not(:has(> .wp-block-group__inner-container)) { grid-template-columns: repeat(3, 1fr); }
  .bow-blog-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 24px; }
  .bow-blog-card-copy { padding: 18px; }
  .bow-blog-card-title { font-size: 1.35rem; }
}

@media (max-width: 820px) {
  .wp-block-group.hero,
  .hero { padding-top: 0; min-height: auto; }
  .wp-block-group.hero-bg,
  .hero-bg {
    background: var(--bow-img-hero-bg) left center / cover no-repeat;
    background-position: left center;
  }
  .wp-block-group.hero-grid > .wp-block-group__inner-container,
  .hero-grid > .wp-block-group__inner-container,
  .hero-grid:not(:has(> .wp-block-group__inner-container)) {
    display: block; padding-top: 45px; padding-bottom: 320px; min-height: 870px;
  }
  .wp-block-group.hero .hero-copy,
  .hero-copy { padding: 25px 0; max-width: 540px; }
  .wp-block-group.hero h1,
  .hero h1 { font-size: 3.6rem; }
  .wp-block-group.about > .wp-block-group__inner-container,
  .about > .wp-block-group__inner-container,
  .about:not(:has(> .wp-block-group__inner-container)),
  .split-content > .wp-block-group__inner-container,
  .split-content:not(:has(> .wp-block-group__inner-container)),
  .partner-card > .wp-block-group__inner-container,
  .partner-card:not(:has(> .wp-block-group__inner-container)),
  .testimonial-grid > .wp-block-group__inner-container,
  .testimonial-grid:not(:has(> .wp-block-group__inner-container)),
  .cta-inner > .wp-block-group__inner-container,
  .cta-inner:not(:has(> .wp-block-group__inner-container)) { grid-template-columns: 1fr; }
  .cta-inner .button { grid-column: 1 / -1; margin: auto; }
  .wp-block-group.page-hero,
  .page-hero { padding: 70px 0; background-position: left center; }
  .wp-block-group.page-hero h1,
  .page-hero h1 { font-size: 3rem; }
  .bow-blog-layout { grid-template-columns: 1fr; }
  .bow-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-form { grid-template-columns: 1fr; }
  .bow-cookie { left: 10px; right: 10px; bottom: 10px; }
  .bow-cookie-card { grid-template-columns: 1fr; text-align: center; padding: 16px; }
  .bow-cookie-mascot { margin: 0 auto; }
  .bow-cookie-actions { justify-content: center; flex-direction: column; }
  .wp-block-group.hero-portrait,
  .hero-portrait { position: absolute; right: -35px; bottom: 17px; width: 50%; max-width: 300px; height: 380px; }
  .wp-block-group.hero-portrait img,
  .hero-portrait img { max-height: 380px; }
}

@media (max-width: 560px) {
  .wp-block-group.hero-bg,
  .hero-bg {
    background-position: left center;
  }
  .wp-block-group.hero-grid > .wp-block-group__inner-container,
  .hero-grid > .wp-block-group__inner-container,
  .hero-grid:not(:has(> .wp-block-group__inner-container)) { padding-top: 25px; padding-bottom: 325px; min-height: 870px; }
  .wp-block-group.hero .hero-copy,
  .hero-copy { padding-inline: 0; text-align: center; }
  .wp-block-group.hero h1,
  .hero h1 { font-size: 3.05rem; }
  .wp-block-group.service-grid > .wp-block-group__inner-container,
  .service-grid > .wp-block-group__inner-container,
  .service-grid:not(:has(> .wp-block-group__inner-container)) { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .wp-block-group.page-hero,
  .page-hero { padding: 52px 0; }
  .wp-block-group.page-hero h1,
  .page-hero h1 { font-size: 2.55rem; }
  .bow-written-card, .bow-post-nav { grid-template-columns: 1fr; display: grid; }
  .bow-blog-grid { grid-template-columns: 1fr; }
  .wp-block-group.hero-portrait,
  .hero-portrait { width: 58%; max-width: 260px; height: 320px; right: -50px; }
  .wp-block-group.hero-portrait img,
  .hero-portrait img { max-height: 320px; }
}
