/* The user's attached reference is the source of truth for color and layout. */
:root {
  --white-color: #fff;
  --primary-color: #f7c64e;
  --section-bg-color: #fcf7e9;
  --border-color: #d8d7d4;
  --dark-color: #30271f;
  --p-color: #40372f;
  --footer-bg-color: #fff3cc;
  --body-font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --h1-font-size: 54px;
  --h2-font-size: 32px;
  --h3-font-size: 28px;
  --p-font-size: 16px;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
}
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { padding: 0; color: var(--dark-color); -webkit-font-smoothing: antialiased; }
h1,h2,h3 { color: var(--dark-color); letter-spacing: .035em; }
h2 { font-size: 32px; line-height: 1.5; font-weight: 700; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible { outline: 2px solid #8e6220; outline-offset: 5px; }
p { color: var(--p-color); font-weight: 400; }
.container { width: 83%; max-width: 1180px; padding: 0; }
.skip-link { position: absolute; top: -100px; left: 20px; z-index: 2000; background: white; padding: 10px 18px; }
.skip-link:focus { top: 10px; }
.site-header { position: absolute; top: 0; right: 0; left: 0; z-index: 10; }
.navbar { background: transparent; border: 0; padding: 0; min-height: 80px; }
.navbar-brand { display: flex; align-items: center; gap: 15px; font-size: 25px; font-weight: 700; letter-spacing: .015em; color: var(--dark-color); margin: 0; }
.navbar-brand:hover { color: var(--dark-color); }
.navbar-brand img { flex-shrink: 0; }
.navbar-expand-lg .navbar-nav { gap: 39px; }
.navbar-expand-lg .navbar-nav .nav-link { font-size: 14px; color: var(--dark-color); padding: 14px 0 10px; line-height: 1.6; border-bottom: 3px solid transparent; font-weight: 600; }
.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover { color: var(--dark-color); border-bottom-color: var(--primary-color); }
.navbar-toggler { width: 35px; height: 40px; }
.navbar-toggler .navbar-toggler-icon,.navbar-toggler .navbar-toggler-icon::before,.navbar-toggler .navbar-toggler-icon::after { background: var(--dark-color); width: 24px; }
.hero-section { position: relative; height: clamp(333px,32.5vw,490px); overflow: hidden; }
.hero-photo { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; object-position: center 55%; }
.hero-section::after { content: ""; position: absolute; inset: 0; background: rgba(255,249,238,.14); pointer-events: none; }
.hero-section .container { position: relative; height: 100%; display: flex; align-items: center; padding-top: 0; z-index: 1; }
.hero-section h1 { margin: 0; font-size: clamp(40px,4.2vw,61px); line-height: 1.36; font-weight: 700; letter-spacing: .055em; }
.about.section-padding { padding-top: 37px; padding-bottom: 40px; }
.about-heading-row { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; margin-bottom: 23px; }
.about-heading-row h2 { margin: 0; }
.about-tabs { justify-self: end; width: 78%; }
.about-tabs .nav-tabs { border-bottom: 1px solid #e7e4de; display: flex; flex-wrap: nowrap; }
.about-tabs .nav-link { font-size: 14px; color: #a8a6a3; flex: 1; white-space: nowrap; padding: 9px 8px; margin: 0; border-bottom: 3px solid transparent; font-weight: 600; }
.about-tabs .nav-link:hover,.about-tabs .nav-link.active { border-bottom: 3px solid var(--primary-color); color: var(--dark-color); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin: 0; align-items: center; }
.about-grid > div { width: auto; padding: 0; }
.about-photo { display: block; width: 100%; height: auto; aspect-ratio: 1.485; object-fit: cover; border-radius: 5px; }
.about-text-wrap { align-self: center; }
.about-text-wrap h3 { font-size: 26px; line-height: 1.5; margin: 0 0 19px; letter-spacing: .015em; }
.about-text-wrap p { font-size: 15px; line-height: 1.85; margin: 0 0 22px; }
.about-text-wrap p:last-child { margin-bottom: 0; }
.profile-details { margin: 0 0 23px; }
.profile-details > div { padding: 12px 0; border-bottom: 1px solid #e9e5dd; }
.profile-details dt { font-size: 11px; color: #8b8175; font-weight: 400; margin-bottom: 7px; }
.profile-details dd { font-size: 15px; margin: 0; }
.profile-link { font-size: 13px; border-bottom: 1px solid #d9be70; padding-bottom: 4px; }
.brand-section { padding: 0; }
.brand-panel { width: 85.5%; max-width: 1230px; margin: 0 auto; background: #fcf7e9; padding: 25px 5.2% 30px; border-radius: 5px; }
.brand-panel > h2 { margin: 0 0 20px; font-size: 28px; line-height: 1.4; }
.brand-card { display: grid; grid-template-columns: 46% 54%; background: #fff; }
.brand-photo-wrap { position: relative; min-height: 0; overflow: hidden; border-radius: 5px 0 0 0; }
.brand-photo { display: block; width: 100%; height: 100%; min-height: 0; aspect-ratio: 1.75; object-fit: cover; }
.image-caption { position: absolute; bottom: 7px; left: 9px; font-size: 8px; line-height: 1.6; color: #fff; background: rgba(40,23,9,.45); padding: 1px 5px; border-radius: 2px; }
.brand-body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 30px 12%; }
.brand-body h3 { font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; color: #b31417; font-size: clamp(31px,3.25vw,47px); font-weight: 900; line-height: 1.4; margin: 0 0 10px; white-space: nowrap; letter-spacing: .015em; }
.brand-body p { font-size: 15px; line-height: 1.8; margin: 0 0 21px; }
.brand-link { color: #b31417; border: 1.4px solid #b31417; border-radius: 11px; padding: 7px 30px; display: inline-flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 500; line-height: 1.6; white-space: nowrap; }
.brand-link:hover { color: #fff; background: #b31417; }
.company-section { padding: 26px 0 0; }
.company-section .container { width: 75%; max-width: 1080px; }
.company-section h2 { margin: 0 0 20px; }
.company-banner { padding: 17px 25px; text-align: center; background: #fff3cd; border-radius: 9px; font-size: 24px; font-weight: 600; letter-spacing: .025em; }
.contact-section { padding: 36px 0 21px; }
.contact-container { width: 52.5%; max-width: 750px; margin: 0 auto; }
.contact-section h2 { margin: 0 0 25px; }
.contact-details { display: flex; justify-content: center; align-items: flex-start; gap: 65px; margin: 0; font-style: normal; }
.contact-details > div { text-align: left; }
.contact-label { display: block; color: #8b7c67; font-size: 11px; margin-bottom: 7px; }
.contact-details a { display: inline-block; font-size: 16px; color: #40372f; border-bottom: 1px solid #d9bd73; padding-bottom: 3px; }
.contact-details a:hover { color: #926017; border-bottom-color: #926017; }
.site-footer { padding: 18px 0; background: #fff3cc; }
.footer-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.footer-company { display: inline-flex; align-items: center; gap: 15px; font-size: 20px; font-weight: 600; white-space: nowrap; }
.footer-row nav { display: flex; gap: 37px; }
.footer-row nav a { font-size: 12px; color: #60513c; }
.footer-row nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
@media (min-width: 1440px) {
  .about.section-padding { padding-top: 62px; padding-bottom: 48px; }
  .about-heading-row { margin-bottom: 34px; }
  .brand-panel { padding-top: 35px; padding-bottom: 40px; }
  .company-section { padding-top: 37px; }
  .contact-section { padding-top: 42px; padding-bottom: 25px; }
}
@media (max-width: 1199px) {
  .navbar { min-height: 65px; }
  .navbar-brand { font-size: 21px; gap: 11px; }
  .navbar-brand img { width: 35px; height: 28px; }
  .navbar-expand-lg .navbar-nav { gap: 45px; }
  .navbar-expand-lg .navbar-nav .nav-link { font-size: 13px; }
  .hero-section h1 { font-size: 44px; }
  h2 { font-size: 28px; }
  .about-heading-row,.about-grid { gap: 40px; }
  .about-text-wrap h3 { font-size: 23px; margin-bottom: 17px; }
  .about-text-wrap p { font-size: 13px; line-height: 1.75; margin-bottom: 19px; }
  .about-tabs { width: 85%; }
  .about-tabs .nav-link { font-size: 13px; }
  .brand-photo { min-height: 0; }
  .brand-body { padding: 20px 12%; }
  .brand-body h3 { font-size: 36px; }
  .brand-body p { font-size: 13px; margin-bottom: 17px; }
  .brand-link { padding: 7px 25px; font-size: 13px; }
  .company-banner { font-size: 22px; padding: 14px 20px; }
  .footer-company { font-size: 18px; gap: 12px; }
  .footer-row nav { gap: 26px; }
}
@media (max-width: 991px) {
  body { padding-top: 0; }
  .container { width: 86%; }
  .site-header { background: rgba(255,251,238,.25); }
  .navbar { background: transparent; }
  .navbar>.container { min-height: 70px; }
  .navbar-brand { font-size: 20px; }
  .navbar-collapse { padding: 12px 0 18px; }
  .navbar-collapse.show,.navbar-collapse.collapsing { background: rgba(255,252,245,.98); margin: 0 -4vw; padding-left: 4vw; padding-right: 4vw; border-radius: 0 0 6px 6px; }
  .navbar-expand-lg .navbar-nav { gap: 5px; }
  .navbar-expand-lg .navbar-nav .nav-link { font-size: 13px; display: inline-block; width: max-content; padding: 8px 0; }
  .hero-section { height: 390px; }
  .hero-section h1 { font-size: 43px; }
  .about-heading-row,.about-grid { gap: 25px; }
  .about-heading-row { grid-template-columns: .9fr 1.1fr; }
  .about-grid { grid-template-columns: 1fr 1fr; }
  .about-text-wrap h3 { font-size: 18px; }
  .about-text-wrap p { font-size: 11px; line-height: 1.8; }
  .about-photo { aspect-ratio: .95; }
  .about-tabs { width: 100%; }
  .about-tabs .nav-link { font-size: 11px; }
  .brand-panel { width: 90%; padding-left: 5%; padding-right: 5%; }
  .brand-body { padding: 22px 10%; }
  .brand-body h3 { font-size: 30px; }
  .brand-body p { font-size: 11px; }
  .brand-link { font-size: 12px; padding: 6px 18px; }
  .contact-container { width: 65%; }
  .footer-row { align-items: flex-start; }
  .footer-company { font-size: 15px; gap: 8px; }
  .footer-company img { width: 33px; height: 27px; }
  .footer-row nav { gap: 17px; }
  .footer-row nav a { font-size: 10px; }
  .desktop-break { display: none; }
}
@media (max-width: 575px) {
  .navbar>.container { min-height: 65px; }
  .navbar-brand { font-size: 17px; gap: 8px; }
  .navbar-brand img { width: 30px; height: 24px; }
  .navbar-toggler { width: 27px; }
  .hero-section { height: 355px; }
  .hero-photo { object-position: 47% center; }
  .hero-section .container { padding-top: 40px; }
  .hero-section h1 { font-size: clamp(29px,7.3vw,40px); line-height: 1.6; letter-spacing: .04em; }
  h2 { font-size: 24px; }
  .about.section-padding { padding-top: 32px; padding-bottom: 31px; }
  .about-heading-row { display: block; margin-bottom: 21px; }
  .about-heading-row h2 { margin-bottom: 17px; }
  .about-tabs { width: 100%; }
  .about-tabs .nav-link { font-size: 12px; padding: 9px; }
  .about-grid { grid-template-columns: 1fr; gap: 24px; }
  .about-photo { aspect-ratio: 1.485; }
  .about-text-wrap h3 { font-size: 20px; margin-bottom: 15px; }
  .about-text-wrap p { font-size: 12px; line-height: 1.95; margin-bottom: 18px; }
  .brand-panel { padding: 25px 6% 27px; }
  .brand-panel>h2 { margin-bottom: 21px; }
  .brand-card { grid-template-columns: 1fr; }
  .brand-photo-wrap { border-radius: 4px 4px 0 0; }
  .brand-photo { min-height: 0; height: auto; aspect-ratio: 1.5; }
  .brand-body { padding: 23px 24px 25px; }
  .brand-body h3 { font-size: 32px; margin-bottom: 10px; }
  .brand-body p { font-size: 12px; line-height: 1.8; }
  .brand-link { font-size: 12px; padding: 7px 22px; }
  .company-section { padding-top: 29px; }
  .company-section h2 { margin-bottom: 17px; }
  .company-banner { padding: 17px 12px; font-size: 17px; }
  .contact-section { padding-top: 29px; padding-bottom: 24px; }
  .contact-container { width: 80%; }
  .contact-section h2 { margin-bottom: 23px; }
  .contact-details { flex-direction: column; align-items: center; gap: 20px; }
  .contact-details > div { text-align: center; }
  .contact-details a { font-size: 15px; }
  .contact-label { font-size: 10px; }
  .company-section .container { width: 86%; }
  .site-footer { padding: 22px 0; }
  .footer-row { flex-direction: column; gap: 19px; }
  .footer-company { font-size: 16px; gap: 9px; }
  .footer-row nav { width: 100%; justify-content: space-between; gap: 12px; }
  .footer-row nav a { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none!important; transition: none!important; }
}

/* Announcements follow the existing cream, gold and warm-charcoal design. */
.news-section{padding:45px 0 32px}.news-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.news-heading h2{margin:0}.news-eyebrow{font-size:10px;letter-spacing:.18em;color:#998352;font-weight:600;margin:0 0 7px}.news-all{font-size:12px;color:#78653d;white-space:nowrap}.news-all:hover{text-decoration:underline;text-underline-offset:5px}.news-list{border-top:1px solid #e8e0cf}.news-row{display:grid;grid-template-columns:106px 82px 1fr 18px;align-items:start;gap:19px;padding:21px 0;border-bottom:1px solid #e8e0cf;color:#40372f}.news-row:hover{background:#fffaf0;color:#40372f}.news-date{font-family:Arial,sans-serif;font-size:12px;color:#8c806e;line-height:25px}.news-category{display:inline-block;padding:3px 8px;border-radius:4px;background:#fff1c9;color:#8b6b2d;text-align:center;font-size:10px;line-height:19px;white-space:nowrap}.news-row-title{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.news-pin{font-size:9px;color:#a93226;margin-right:8px}.news-arrow{font-size:15px;color:#947844}.news-state{font-size:12px;color:#8c806e;padding:23px 0;margin:0}.news-page-header{padding:24px 0;background:#fff7e2}.news-page-header>.container{display:flex;align-items:center;justify-content:space-between;gap:20px}.news-page-header .navbar-brand{font-size:21px}.news-page-main{min-height:60vh;padding-top:65px;padding-bottom:85px;max-width:1040px}.news-page-main h1{font-size:34px;line-height:1.6;margin-bottom:35px;overflow-wrap:anywhere}.news-pagination{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:30px}.news-pagination button{background:#fff3cc;border:1px solid #e8d7a5;padding:7px 18px;border-radius:5px;color:#705c32;font-size:12px}.news-pagination button:disabled{opacity:.4}.article-meta{display:flex;align-items:center;gap:20px;margin:35px 0 18px;font-size:12px;color:#8c806e}.article-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2.1;font-size:15px;color:#40372f;border-top:1px solid #e8e0cf;padding-top:30px}.article-back{display:inline-block;margin-top:55px}.navbar-expand-lg .navbar-nav{gap:28px}.footer-row nav{gap:25px}
@media(max-width:991px){.navbar-expand-lg .navbar-nav{gap:5px}.news-row{grid-template-columns:90px 75px 1fr 14px;gap:12px}.news-page-header .navbar-brand{font-size:17px}.news-page-header .navbar-brand img{width:30px}.footer-row{flex-wrap:wrap}}
@media(max-width:575px){.news-section{padding:32px 0 20px}.news-heading{align-items:center;gap:12px}.news-all{font-size:10px}.news-eyebrow{font-size:9px}.news-row{grid-template-columns:90px 75px 1fr;gap:7px 10px;padding:16px 0}.news-row-title{grid-column:1/3;font-size:12px}.news-arrow{grid-column:3;grid-row:1/3;align-self:center;justify-self:end}.news-date{font-size:11px}.news-category{font-size:9px}.news-state{font-size:11px}.news-page-header .navbar-brand{font-size:14px;gap:7px}.news-page-header>.container{width:90%}.news-page-main{padding-top:38px;padding-bottom:55px}.news-page-main h1{font-size:26px}.article-body{font-size:13px}.article-meta{margin-top:25px}.news-page-header .news-all{font-size:9px}.footer-row nav{flex-wrap:wrap;gap:12px 18px}}
