/* User-supplied logo, original image preserved. Only new logo elements are styled. */
.wordmark:has(.zz18-navmark){position:relative;padding-left:53px;min-height:72px;justify-content:center;flex-shrink:0}
.wordmark .zz18-navmark{display:block;position:absolute;left:0;top:50%;transform:translateY(-50%);width:42px;height:72px;overflow:hidden;background:#f5f3ed;border-radius:5px;margin:0;letter-spacing:0}
.wordmark .zz18-navmark img{position:absolute;width:210px;max-width:none;height:auto;left:calc(50% - 108px);top:-78px;display:block}
.zz18-brand{width:88%;max-width:1320px;margin:30px auto 75px;display:grid;grid-template-columns:1fr 1fr;background:#f5f3ed;color:#173d35;align-items:center}
.zz18-brand-art{margin:0;aspect-ratio:1/1.05;min-width:0;overflow:hidden;background:#f5f3ed}
.zz18-brand-art img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block}
.zz18-brand-copy{padding:45px 12% 45px 8%}
.zz18-brand-copy>p:first-child{font-size:14px;letter-spacing:.12em;color:#50675c;margin-bottom:24px}
.zz18-brand-copy h2{font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-size:clamp(28px,3.2vw,43px);font-weight:400;line-height:1.6;margin-bottom:25px;color:#173d35}
.zz18-brand-copy p{color:#50675c;font-size:15px;line-height:2}
.zz18-brand-copy a{display:inline-block;color:#173d35;border-bottom:1px solid #7d9085;padding:10px 0;margin-top:12px}
@media(max-width:1050px) and (min-width:761px){header .wordmark:has(.zz18-navmark){padding-left:40px}header .wordmark .zz18-navmark{width:30px;height:48px}header .wordmark .zz18-navmark img{width:145px;left:calc(50% - 75px);top:-55px}}
@media(max-width:760px){.wordmark:has(.zz18-navmark){padding-left:36px;min-height:50px}.wordmark .zz18-navmark{width:30px;height:48px;border-radius:3px}.wordmark .zz18-navmark img{width:145px;left:calc(50% - 75px);top:-55px}.zz18-brand{grid-template-columns:1fr;margin:20px auto 45px}.zz18-brand-art{aspect-ratio:1/1.04}.zz18-brand-copy{padding:30px 9% 38px}.zz18-brand-copy h2{font-size:29px}.zz18-brand-copy>p:first-child{margin-bottom:16px}}
@media(max-width:360px){header .wordmark:has(.zz18-navmark){padding-left:0}header .wordmark .zz18-navmark{display:none}}
#zz18-brand{scroll-margin-top:150px}

/* V27 mobile brand lockup: one compact unit, contained within the header. */
@media(max-width:760px){
  header{height:72px;padding:0 16px;gap:12px}
  header .wordmark:has(.zz18-navmark){
    position:static;display:grid;grid-template-columns:28px max-content;grid-template-rows:auto auto;
    align-items:center;justify-items:start;align-content:center;column-gap:9px;row-gap:2px;
    min-height:46px;padding:0;margin:0;line-height:1;flex-shrink:0
  }
  header .wordmark .zz18-navmark{
    position:relative;left:auto;top:auto;transform:none;grid-column:1;grid-row:1/3;
    width:28px;height:46px;margin:0;border-radius:0;overflow:hidden;background:transparent
  }
  header .wordmark .zz18-navmark img{
    content:url("assets/brand-20261001/zenzan-pine-transparent.png");
    width:120px;left:calc(50% - 62px);top:-4px
  }
  header .wordmark strong{
    grid-column:2;grid-row:1;margin:0;font-size:20px;line-height:1;letter-spacing:.1em;white-space:nowrap
  }
  header .wordmark>span:not(.zz18-navmark){
    grid-column:2;grid-row:2;margin:0;font-size:9px;line-height:1.15;letter-spacing:.28em;white-space:nowrap
  }
  header .header-action{margin-left:auto;font-size:13px;line-height:1;white-space:nowrap}
  header .menu{padding:8px 0 8px 4px;white-space:nowrap}
  header nav{top:72px}
}
@media(max-width:380px){
  header{padding:0 12px;gap:9px}
  header .wordmark:has(.zz18-navmark){grid-template-columns:26px max-content;column-gap:8px;min-height:44px}
  header .wordmark .zz18-navmark{display:block;width:26px;height:44px}
  header .wordmark .zz18-navmark img{width:114px;left:calc(50% - 58.5px);top:-4px}
  header .wordmark strong{font-size:18px;letter-spacing:.08em}
  header .wordmark>span:not(.zz18-navmark){font-size:8px;letter-spacing:.24em}
  header .header-action{font-size:12px}
  header .menu{font-size:12px}
}
@media(max-width:330px){
  header .wordmark:has(.zz18-navmark){grid-template-columns:24px max-content;column-gap:7px}
  header .wordmark .zz18-navmark{width:24px;height:42px}
  header .wordmark .zz18-navmark img{width:108px;left:calc(50% - 55.5px);top:-4px}
  header .wordmark strong{font-size:17px}
  header .wordmark>span:not(.zz18-navmark){font-size:7px}
}
