/*
Theme Name: M&Company
Theme URI: https://example.com/
Author: noki studio
Author URI: https://noki-studio.com/
Description: 株式会社M&Company（福山市）の不動産コーポレートサイト。Claude Designのハンドオフを基にしたクラシックテーマ。物件（カスタム投稿）・お知らせ（投稿）・お問い合わせ（Contact Form 7）対応。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mco
*/

/* ============================================================
   BASE
   ============================================================ */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:#f6f5f2;
  color:#1c1b19;
  font-family:'Noto Sans JP',sans-serif;
  font-weight:300;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; }
a{ color:inherit; }
.mco-root{ position:relative; width:100%; background:#f6f5f2; }
.mco-wrap{ max-width:1180px; margin:0 auto; padding:0 clamp(20px,6vw,80px); }

/* keyframes */
@keyframes mcoFade{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:none;} }
@keyframes mcoSlow{ from{ opacity:0; } to{ opacity:1; } }
@keyframes mcoUp{ from{ opacity:0; transform:translateY(22px);} to{ opacity:1; transform:none;} }

/* scrollbars */
.mco-rec-track{ scrollbar-width:none; -ms-overflow-style:none; }
.mco-rec-track::-webkit-scrollbar{ display:none; }

/* ============================================================
   HEADER / NAV
   ============================================================ */
.mco-header{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  height:66px; padding:0 clamp(20px,6vw,80px);
  background:rgba(246,245,242,0.8);
  -webkit-backdrop-filter:saturate(1.2) blur(6px);
  backdrop-filter:saturate(1.2) blur(6px);
  border-bottom:1px solid #e3e0db;
  transition:background .55s ease, border-color .55s ease, opacity .7s ease, transform .8s cubic-bezier(.2,.7,.2,1);
}
.mco-logo-img, .mco-logo-sub{ transition:filter .55s ease, color .55s ease, text-shadow .55s ease; }
.mco-logo-link{ display:flex; flex-direction:row; align-items:center; gap:11px; background:none; border:none; cursor:pointer; padding:0; text-decoration:none; }
.mco-logo-img{ height:clamp(24px,2.9vw,32px); width:auto; display:block; }
.mco-logo-sub{ font-size:clamp(11px,1.35vw,14px); letter-spacing:0.16em; color:#3a3833; font-weight:500; white-space:nowrap; }

/* transparent header on hero */
.mco-header.is-transparent{ background:transparent !important; border-color:transparent !important; }
.mco-header.is-transparent .mco-logo-img{ filter:brightness(0) invert(1) drop-shadow(0 1px 12px rgba(0,0,0,0.45)); }
.mco-header.is-transparent .mco-logo-sub{ color:rgba(246,245,242,0.78) !important; text-shadow:0 1px 12px rgba(0,0,0,0.4); }
.mco-header.is-transparent .mco-navlink{ color:#f6f5f2 !important; text-shadow:0 1px 12px rgba(0,0,0,0.4); }
.mco-header.is-transparent .mco-navlink::after{ background:#f6f5f2 !important; }
.mco-header.is-transparent .mco-menu-word span{ color:#f6f5f2 !important; text-shadow:0 1px 12px rgba(0,0,0,0.4); }
.mco-header.is-transparent .mco-menu-bars span{ background:#f6f5f2 !important; box-shadow:0 1px 8px rgba(0,0,0,0.35); }

.mco-nav{ display:flex; align-items:center; gap:clamp(18px,2.8vw,40px); }
.mco-navlink{
  background:none; border:none; cursor:pointer; padding:7px 0;
  font-family:'Noto Sans JP',sans-serif; font-size:13px; letter-spacing:0.14em;
  color:#3a3833; position:relative; font-weight:400; text-decoration:none;
  transition:color .55s ease, text-shadow .55s ease;
}
.mco-navlink::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:#1c1b19; transition:width .42s cubic-bezier(.2,.7,.2,1), background .55s ease; }
.mco-navlink:hover::after, .mco-navlink.is-active::after{ width:100%; }
@media (max-width:860px){ .mco-navlink{ display:none !important; } }

.mco-menu-btn{ display:flex; align-items:center; gap:12px; background:none; border:none; cursor:pointer; padding:7px 0; }
.mco-menu-words{ position:relative; display:inline-block; height:12px; overflow:hidden; }
.mco-menu-word{ display:flex; }
.mco-menu-word span{ display:inline-block; font-family:'Noto Sans JP',sans-serif; font-size:11px; letter-spacing:0.22em; color:#1c1b19; line-height:12px; transition:transform .42s cubic-bezier(.2,.7,.2,1), color .55s ease, text-shadow .55s ease; }
.mco-menu-word--open{ position:absolute; left:0; top:0; }
.mco-menu-word--open span{ transform:translateY(130%); }
.mco-menu-btn:hover .mco-menu-word--menu span{ transform:translateY(-130%); }
.mco-menu-btn:hover .mco-menu-word--open span{ transform:translateY(0); }
.mco-menu-bars{ display:flex; flex-direction:column; gap:4px; align-items:flex-end; }
.mco-menu-bars span{ display:block; height:1.5px; width:22px; background:#1c1b19; transition:width .4s ease, background .55s ease, box-shadow .55s ease; }
.mco-menu-bars span:nth-child(3){ width:14px; }
.mco-menu-btn:hover .mco-menu-bars span:nth-child(3){ width:22px; }

/* fullscreen overlay menu */
.mco-overlay{ position:fixed; inset:0; z-index:60; background:#1c1b19; color:#f6f5f2; display:none; flex-direction:column; animation:mcoSlow .4s ease; }
.mco-overlay.is-open{ display:flex; }
.mco-overlay-head{ flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; height:66px; padding:0 clamp(20px,6vw,80px); }
.mco-overlay-body{ flex:1; display:flex; flex-direction:column; justify-content:center; width:100%; max-width:1180px; margin:0 auto; padding:clamp(16px,3vw,36px) clamp(20px,6vw,80px); }
.mco-overItem{ opacity:0; animation:mcoUp .6s cubic-bezier(.2,.7,.2,1) forwards; border-top:1px solid rgba(246,245,242,0.14); }
.mco-overlay.is-open .mco-overItem:nth-child(1){animation-delay:.06s}
.mco-overlay.is-open .mco-overItem:nth-child(2){animation-delay:.13s}
.mco-overlay.is-open .mco-overItem:nth-child(3){animation-delay:.2s}
.mco-overlay.is-open .mco-overItem:nth-child(4){animation-delay:.27s}
.mco-overlay.is-open .mco-overItem:nth-child(5){animation-delay:.34s}
.mco-overlink{ background:none; border:none; cursor:pointer; text-align:left; display:flex; align-items:center; gap:clamp(16px,3vw,32px); padding:clamp(18px,3vw,32px) 0; width:100%; text-decoration:none; }
.mco-overlink__num{ font-family:'Noto Serif JP',serif; font-size:12px; letter-spacing:0.16em; color:rgba(246,245,242,0.4); flex:0 0 auto; min-width:26px; }
.mco-overlink__t{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(19px,3.2vw,30px); letter-spacing:0.08em; color:#f6f5f2; line-height:1.18; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.mco-overlink:hover .mco-overlink__t{ transform:translateX(7px); }
.mco-overlink__en{ font-family:'Noto Sans JP',sans-serif; font-size:11px; letter-spacing:0.2em; color:rgba(246,245,242,0.45); margin-left:auto; transition:color .4s ease; }
.mco-overlink:hover .mco-overlink__en{ color:#f6f5f2; }
.mco-overlay-foot{ flex:0 0 auto; padding:clamp(16px,2.4vw,28px) clamp(20px,6vw,80px); border-top:1px solid rgba(246,245,242,0.14); display:flex; flex-wrap:wrap; gap:12px 40px; justify-content:space-between; align-items:flex-end; }
.mco-overclose{ display:flex; align-items:center; gap:11px; background:none; border:none; cursor:pointer; padding:6px 0; }
.mco-overclose__label{ font-family:'Noto Sans JP',sans-serif; font-size:11px; letter-spacing:0.22em; color:#f6f5f2; }
.mco-overclose__x{ position:relative; width:20px; height:20px; }
.mco-overclose__x span{ position:absolute; top:50%; left:0; width:20px; height:1.5px; background:#f6f5f2; transition:transform .4s ease; }
.mco-overclose__x span:nth-child(1){ transform:rotate(45deg); }
.mco-overclose__x span:nth-child(2){ transform:rotate(-45deg); }
.mco-overclose:hover .mco-overclose__x span:nth-child(1){ transform:rotate(135deg); }
.mco-overclose:hover .mco-overclose__x span:nth-child(2){ transform:rotate(45deg); }

/* ============================================================
   INTRO SPLASH
   ============================================================ */
.mco-intro{ position:fixed; inset:0; z-index:80; cursor:pointer; transition:opacity 1.1s ease, visibility 1.1s; }
.mco-intro.is-gone{ opacity:0; visibility:hidden; pointer-events:none; }
.mco-intro-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.07); animation:mcoIntroBg 6.5s ease-out forwards; }
@keyframes mcoIntroBg{ to{ transform:scale(1); } }
.mco-intro-veil{ position:absolute; inset:0; background:radial-gradient(120% 90% at 50% 50%, rgba(246,245,242,0) 40%, rgba(246,245,242,0.35) 100%); }
.mco-intro-center{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(20px,3vw,32px); padding:0 clamp(22px,6vw,90px); text-align:center; }
.mco-intro-logo{ width:clamp(158px,21vw,272px); height:auto; opacity:0; transform:translateY(20px); animation:mcoIntroUp 1.3s cubic-bezier(.2,.7,.2,1) .2s forwards; }
.mco-intro-co{ font-family:'Noto Sans JP',sans-serif; font-weight:400; font-size:clamp(14px,1.85vw,21px); letter-spacing:0.5em; padding-left:0.5em; color:#1c1b19; white-space:nowrap; opacity:0; transform:translateY(20px); animation:mcoIntroUp 1.3s cubic-bezier(.2,.7,.2,1) .45s forwards; }
.mco-intro-rule{ display:block; height:1px; background:#8c8880; width:0; animation:mcoIntroRule 1.1s cubic-bezier(.2,.7,.2,1) .55s forwards; }
@keyframes mcoIntroRule{ to{ width:46px; } }
.mco-intro-msg{ margin:0; text-align:center; font-family:'Noto Serif JP',serif; font-weight:500; color:#2c2a26; font-size:clamp(15px,2.3vw,27px); letter-spacing:0.1em; line-height:2.05; }
.mco-intro-line{ display:block; white-space:nowrap; opacity:0; transform:translateY(20px); animation:mcoIntroUp 1.3s cubic-bezier(.2,.7,.2,1) forwards; }
.mco-intro-line--1{ animation-delay:.85s; }
.mco-intro-line--2{ animation-delay:1.25s; }
@keyframes mcoIntroUp{ to{ opacity:1; transform:none; } }
.mco-intro-enter{ position:absolute; left:0; right:0; bottom:clamp(24px,3vw,40px); display:flex; flex-direction:column; align-items:center; gap:9px; pointer-events:none; opacity:0; animation:mcoIntroUp 1s ease 2.7s forwards; }
.mco-intro-enter__en{ font-family:monospace; font-size:10px; letter-spacing:0.34em; color:#5a574f; }
.mco-intro-enter__jp{ font-size:11px; letter-spacing:0.18em; color:#6f6c67; }
.mco-intro-enter__arrow{ display:inline-block; font-size:15px; color:#5a574f; animation:mcoEnterBob 1.8s ease-in-out 3.7s infinite; }
@keyframes mcoEnterBob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(7px);} }
.mco-intro-br-sp{ display:none; } /* スマホのみ2行目を分割して計3行に */
@media (max-width:600px){ .mco-intro-msg{ font-size:clamp(10px,3.4vw,15px); letter-spacing:0; line-height:2; } .mco-intro-line{ white-space:nowrap; } .mco-intro-br-sp{ display:inline; } }
@media (max-width:380px){ .mco-intro-msg{ font-size:3.2vw; } }
/* 会社概要：狭い幅でのみ改行を増やす（デザイン準拠） */
.mco-about-br{ display:none; }
@media (max-width:680px){ .mco-about-br{ display:inline; } }
/* 業務内容：モバイル横スライドUI（物件ピックアップと同デザイン） */
.mco-biz-controls{ display:none; max-width:1180px; margin:26px auto 0; padding:0 clamp(20px,6vw,80px); align-items:center; gap:clamp(20px,4vw,36px); }
@media (max-width:980px){ .mco-biz-controls{ display:flex; } }
.mco-biz-controls__bar{ flex:1; height:2px; background:#e0ddd8; position:relative; overflow:hidden; }
.mco-biz-controls__fill{ position:absolute; left:0; top:0; height:100%; width:100%; background:#1c1b19; transform:scaleX(0.3); transform-origin:left; transition:transform 0.45s cubic-bezier(.2,.7,.2,1); }
.mco-biz-controls__btns{ display:flex; gap:12px; }

/* ============================================================
   HERO FILM (30s loop, 3 scenes)
   ============================================================ */
.mco-hero{ position:relative; width:100%; height:100svh; min-height:586px; margin-top:-66px; overflow:hidden; background:#050506; }
.mco-film{ position:absolute; inset:0; overflow:hidden; background:#050506; font-family:'Shippori Mincho','Noto Serif JP',serif; }
.mco-film-scene{ position:absolute; inset:0; }
.mco-film-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.07) brightness(0.74); transform-origin:50% 46%; }
.mco-film-shade{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,6,8,0.6) 0%, rgba(5,6,8,0.04) 26%, rgba(5,6,8,0.12) 56%, rgba(5,6,8,0.82) 100%), linear-gradient(96deg, rgba(5,6,8,0.62) 0%, rgba(5,6,8,0.12) 50%, transparent 78%); }
.mco-film-kwrap{ position:absolute; top:20%; left:0; width:100%; overflow:hidden; pointer-events:none; }
.mco-film-k{ display:flex; width:max-content; animation:marq 26s linear infinite; color:rgba(255,255,255,0.085); font-weight:800; font-size:clamp(70px,13vw,200px); letter-spacing:0.06em; white-space:nowrap; line-height:1; }
.mco-film-k span{ padding-right:0.5em; }
@keyframes marq{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes marqv{ 0%{transform:translateY(0)} 100%{transform:translateY(-50%)} }
.mco-film-text{ position:absolute; left:clamp(24px,5.5vw,104px); bottom:clamp(76px,12vh,150px); max-width:min(1100px,92vw); display:flex; gap:clamp(16px,2vw,30px); }
.mco-film-vbar{ width:2px; flex:none; background:rgba(255,255,255,0.78); transform-origin:50% 0; }
.mco-film-hbar{ width:clamp(40px,5vw,80px); height:2px; background:rgba(255,255,255,0.85); transform-origin:0 50%; }
.mco-film-kick{ display:flex; align-items:center; gap:14px; margin:clamp(14px,2vh,22px) 0 clamp(12px,1.8vh,20px); color:rgba(255,255,255,0.8); font-size:clamp(11px,1.35vw,15px); font-weight:500; letter-spacing:0.36em; }
.mco-film-capwrap{ overflow:hidden; padding-bottom:0.12em; }
.mco-film-cap{ color:#fff; font-weight:600; line-height:1.4; letter-spacing:0.05em; text-shadow:0 2px 26px rgba(0,0,0,0.45); }

/* scene timing */
.mco-film-s2{ animation:s2wipe 30s cubic-bezier(.76,0,.24,1) infinite; }
.mco-film-s3{ animation:s3wipe 30s cubic-bezier(.76,0,.24,1) infinite; }
.mco-film-s1c{ animation:s1cwipe 30s cubic-bezier(.76,0,.24,1) infinite; }
@keyframes s2wipe {0%{clip-path:inset(0 100% 0 0)}31%{clip-path:inset(0 100% 0 0)}36%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes s3wipe {0%{clip-path:inset(0 0 0 100%)}61%{clip-path:inset(0 0 0 100%)}66%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes s1cwipe {0%{clip-path:inset(0 100% 0 0)}91%{clip-path:inset(0 100% 0 0)}96%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0)}}
.mco-bg1{ animation:bg1z 30s linear infinite; }
.mco-bg2{ animation:bg2z 30s linear infinite; }
.mco-bg3{ animation:bg3z 30s linear infinite; }
@keyframes bg1z {0%{transform:scale(1.12) translate(2.6%,1%)}36%{transform:scale(1.21) translate(-1.4%,-0.8%)}100%{transform:scale(1.28) translate(-2.8%,-1.4%)}}
@keyframes bg2z {0%{transform:scale(1.1) translate(-2.4%,1%)}34%{transform:scale(1.1) translate(-2.4%,1%)}66%{transform:scale(1.2) translate(2%,-1%)}100%{transform:scale(1.23) translate(2.6%,-1.1%)}}
@keyframes bg3z {0%{transform:scale(1.27) translate(0.4%,-1.2%)}64%{transform:scale(1.27) translate(0.4%,-1.2%)}100%{transform:scale(1.08) translate(-0.6%,1%)}}
.mco-drift1{ animation:drift1 30s linear infinite; }
.mco-drift2{ animation:drift2 30s linear infinite; }
.mco-drift3{ animation:drift3 30s linear infinite; }
@keyframes drift1 {0%{transform:translateY(0)}31%{transform:translateY(-15px)}100%{transform:translateY(-15px)}}
@keyframes drift2 {0%,36%{transform:translateY(0)}63%{transform:translateY(-15px)}100%{transform:translateY(-15px)}}
@keyframes drift3 {0%,66%{transform:translateY(0)}93%{transform:translateY(-15px)}100%{transform:translateY(-15px)}}
.mco-a-s1bar{ animation:s1bar 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s1ln{ animation:s1ln 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s1k{ animation:s1k 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s1l1{ animation:s1l1 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s2bar{ animation:s2bar 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s2ln{ animation:s2ln 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s2k{ animation:s2k 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s2l1{ animation:s2l1 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s2l2{ animation:s2l2 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s3bar{ animation:s3bar 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s3ln{ animation:s3ln 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s3k{ animation:s3k 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s3l1{ animation:s3l1 30s cubic-bezier(.16,.84,.3,1) infinite; }
.mco-a-s3l2{ animation:s3l2 30s cubic-bezier(.16,.84,.3,1) infinite; }
@keyframes s1bar {0%,4%{transform:scaleY(0)}11%,100%{transform:scaleY(1)}}
@keyframes s1ln  {0%,5%{transform:scaleX(0)}12%,100%{transform:scaleX(1)}}
@keyframes s1k   {0%,6%{opacity:0;transform:translateY(12px)}12%,100%{opacity:1;transform:translateY(0)}}
@keyframes s1l1  {0%,8%{opacity:0}15%,100%{opacity:1}}
@keyframes s2bar {0%,38%{transform:scaleY(0)}45%,100%{transform:scaleY(1)}}
@keyframes s2ln  {0%,39%{transform:scaleX(0)}46%,100%{transform:scaleX(1)}}
@keyframes s2k   {0%,40%{opacity:0;transform:translateY(12px)}46%,100%{opacity:1;transform:translateY(0)}}
@keyframes s2l1  {0%,42%{opacity:0}49%,100%{opacity:1}}
@keyframes s2l2  {0%,45%{opacity:0}52%,100%{opacity:1}}
@keyframes s3bar {0%,68%{transform:scaleY(0)}75%,100%{transform:scaleY(1)}}
@keyframes s3ln  {0%,69%{transform:scaleX(0)}76%,100%{transform:scaleX(1)}}
@keyframes s3k   {0%,70%{opacity:0;transform:translateY(12px)}76%,100%{opacity:1;transform:translateY(0)}}
@keyframes s3l1  {0%,72%{opacity:0}79%,100%{opacity:1}}
@keyframes s3l2  {0%,75%{opacity:0}82%,100%{opacity:1}}
.mco-film-sweep{ position:absolute; top:0; bottom:0; left:0; width:2px; background:rgba(255,255,255,0.92); box-shadow:0 0 40px 9px rgba(255,255,255,0.22); z-index:9; pointer-events:none; }
.mco-sweep12{ animation:sweep12 30s linear infinite; }
.mco-sweep23{ animation:sweep23 30s linear infinite; }
.mco-sweepClose{ animation:sweepClose 30s linear infinite; }
@keyframes sweep12 {0%,30.3%{transform:translateX(-3vw);opacity:0}31.5%{opacity:0.9}36%{transform:translateX(103vw);opacity:0}100%{transform:translateX(103vw);opacity:0}}
@keyframes sweep23 {0%,60.3%{transform:translateX(103vw);opacity:0}61.5%{opacity:0.9}66%{transform:translateX(-3vw);opacity:0}100%{transform:translateX(-3vw);opacity:0}}
@keyframes sweepClose {0%,90.3%{transform:translateX(-3vw);opacity:0}91.5%{opacity:0.9}96%{transform:translateX(103vw);opacity:0}100%{transform:translateX(103vw);opacity:0}}

/* ============================================================
   REVEAL
   ============================================================ */
.mco-reveal{ opacity:0; transform:translateY(30px); transition:opacity .85s cubic-bezier(.2,.7,.2,1), transform .85s cubic-bezier(.2,.7,.2,1); }
.mco-reveal.is-in{ opacity:1; transform:none; }

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.mco-section{ padding:clamp(34px,5vw,60px) clamp(20px,6vw,80px) clamp(56px,9vw,112px); }
.mco-ey{ font-size:12px; letter-spacing:0.2em; color:#9a968f; margin:0 0 6px; text-align:center; }
.mco-h2{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(22px,3.6vw,38px); letter-spacing:0.1em; margin:0; color:#1c1b19; text-align:center; }

/* ============================================================
   ABOUT (dark)
   ============================================================ */
.mco-about{ position:relative; background:#1c1b19; color:#f6f5f2; padding:clamp(34px,5vw,64px) clamp(20px,6vw,80px) clamp(56px,9vw,118px); overflow:hidden; }
.mco-about-amp{ position:absolute; right:clamp(-40px,-2vw,0px); top:50%; transform:translateY(-50%); height:clamp(220px,52vw,560px); opacity:0.07; filter:invert(1); pointer-events:none; }
.mco-about-inner{ position:relative; max-width:1180px; margin:0 auto; }
.mco-about-ey{ color:#6f6c67; }
.mco-about-h2{ color:#f6f5f2; margin-bottom:clamp(26px,3.6vw,42px); }
.mco-about-body{ font-family:'Noto Serif JP',serif; font-size:clamp(15px,1.9vw,18px); letter-spacing:0.04em; line-height:2.2; color:rgba(246,245,242,0.85); text-align:center; }
.mco-about-body p{ margin:0 0 1.5em; }
.mco-about-body p:last-child{ margin:0; }

/* ============================================================
   BUSINESS CARDS
   ============================================================ */
.mco-biz-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.6vw,26px); }
@media (max-width:980px){
  .mco-biz-grid{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; margin:0 calc(-1 * clamp(20px,6vw,80px)); padding:4px 9vw; }
  .mco-biz-grid::-webkit-scrollbar{ display:none; }
  .mco-biz-card{ flex:0 0 auto; width:clamp(248px,80vw,330px); scroll-snap-align:center; }
}
.mco-biz-card{ display:block; text-decoration:none; cursor:pointer; opacity:0; transform:translateY(38px); transition:opacity .85s cubic-bezier(.2,.7,.2,1), transform .85s cubic-bezier(.2,.7,.2,1); }
.mco-biz-card.is-in{ opacity:1; transform:none; }
.mco-biz-imgwrap{ position:relative; width:100%; aspect-ratio:1 / 1; overflow:hidden; background:#ececea; }
@media (max-width:980px){ .mco-biz-imgwrap{ aspect-ratio:1 / 0.72; } }
.mco-biz-img1{ position:absolute; inset:0; background-size:cover; background-position:center; transition:opacity .85s ease, transform 1.7s cubic-bezier(.2,.7,.2,1); }
.mco-biz-card:hover .mco-biz-img1{ transform:scale(1.07); }
.mco-biz-shade{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,15,13,0.34) 0%, rgba(16,15,13,0.06) 42%, rgba(16,15,13,0.5) 100%); pointer-events:none; }
.mco-biz-center{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; pointer-events:none; }
.mco-biz-tick{ width:30px; height:2px; }
.mco-biz-num{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(30px,3.6vw,42px); letter-spacing:0.3em; text-indent:0.3em; color:#f6f5f2; line-height:1; transition:letter-spacing .6s ease; }
.mco-biz-card:hover .mco-biz-num{ letter-spacing:0.46em; }
.mco-biz-en{ font-size:9.5px; letter-spacing:0.26em; color:rgba(246,245,242,0.82); }
.mco-biz-btn{ position:absolute; right:13px; bottom:13px; width:42px; height:42px; border-radius:0; border:1px solid rgba(246,245,242,0.8); color:#f6f5f2; display:flex; align-items:center; justify-content:center; font-size:15px; transition:background .45s ease, color .45s ease, border-color .45s ease; }
.mco-biz-card:hover .mco-biz-btn{ background:#1c1b19; color:#f6f5f2; border-color:#1c1b19; }
.mco-biz-body{ padding:18px 2px 0; }
.mco-biz-cat{ display:block; font-size:10px; letter-spacing:0.2em; margin-bottom:9px; }
.mco-biz-jp{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(17px,1.5vw,20px); letter-spacing:0.08em; margin:0; color:#1c1b19; transition:color .35s ease; }
.mco-biz-card:hover .mco-biz-jp{ color:#7a766f; }
.mco-biz-desc{ font-size:12.5px; letter-spacing:0.03em; line-height:2; color:#6f6c67; margin:12px 0 0; }
.mco-biz-more{ display:inline-block; margin-top:14px; font-size:11px; letter-spacing:0.14em; color:#1c1b19; opacity:0; transform:translateX(-6px); transition:opacity .45s ease, transform .45s ease; }
.mco-biz-card:hover .mco-biz-more{ opacity:1; transform:translateX(0); }

/* business modal */
.mco-bizm{ position:fixed; inset:0; z-index:70; background:rgba(16,15,13,0.55); display:none; align-items:center; justify-content:center; padding:clamp(14px,3vw,40px); animation:mcoSlow .25s ease; }
.mco-bizm.is-open{ display:flex; }
.mco-bizm-card{ position:relative; width:100%; max-width:1080px; height:min(88svh,680px); background:#f6f5f2; display:flex; overflow:hidden; box-shadow:0 34px 100px rgba(0,0,0,0.45); animation:mcoBizmIn .42s cubic-bezier(.2,.7,.2,1); }
@keyframes mcoBizmIn{ from{ opacity:0; transform:translateY(16px) scale(.985);} to{ opacity:1; transform:none;} }
.mco-bizm-img{ position:relative; flex:1 1 0; min-width:0; background:#ececea; min-height:300px; background-size:cover; background-position:center; }
.mco-bizm-img-shade{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,15,13,0.34) 0%, rgba(16,15,13,0.06) 42%, rgba(16,15,13,0.54) 100%); }
.mco-bizm-imghead{ position:absolute; left:0; top:0; display:flex; flex-direction:column; gap:10px; padding:clamp(18px,2.6vw,30px); }
.mco-bizm-imgnum{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(34px,4.2vw,54px); letter-spacing:0.12em; color:#f6f5f2; line-height:1; }
.mco-bizm-imgen{ font-size:10px; letter-spacing:0.26em; color:rgba(246,245,242,0.85); }
.mco-bizm-col{ flex:1 1 0; min-width:0; min-height:0; display:flex; flex-direction:column; }
.mco-bizm-scroll{ flex:1 1 0; min-height:0; overflow-y:auto; padding:clamp(26px,3.4vw,44px) clamp(26px,3.4vw,46px) clamp(16px,2vw,22px); display:flex; flex-direction:column; scrollbar-width:thin; }
.mco-bizm-en{ font-size:10px; letter-spacing:0.2em; color:#9a968f; }
.mco-bizm-h2{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(22px,2.9vw,31px); letter-spacing:0.08em; margin:8px 0 0; color:#1c1b19; }
.mco-bizm-rule{ display:block; width:42px; height:1px; background:#1c1b19; margin:clamp(14px,2vw,20px) 0; }
.mco-bizm-lead{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(15px,1.8vw,18px); letter-spacing:0.04em; line-height:1.85; color:#1c1b19; margin:0 0 clamp(13px,1.8vw,18px); }
.mco-bizm-p{ font-size:13.5px; letter-spacing:0.03em; line-height:2.05; color:#5f5c56; margin:0 0 1em; }
.mco-bizm-feats{ list-style:none; margin:clamp(6px,1.2vw,12px) 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.mco-bizm-feats li{ display:flex; align-items:center; gap:12px; font-size:13px; letter-spacing:0.04em; color:#1c1b19; }
.mco-bizm-feats li::before{ content:''; width:5px; height:5px; background:#1c1b19; flex:0 0 auto; }
.mco-bizm-foot{ flex:0 0 auto; padding:clamp(13px,1.7vw,18px) clamp(26px,3.4vw,46px); border-top:1px solid #e3e0db; background:#f6f5f2; }
.mco-bizm-cta{ width:100%; border:1px solid #1c1b19; background:#1c1b19; color:#f6f5f2; cursor:pointer; text-decoration:none; font-family:'Noto Sans JP'; font-size:13px; letter-spacing:0.16em; padding:14px 20px; display:flex; align-items:center; justify-content:center; gap:10px; }
.mco-bizm-x{ position:absolute; top:13px; right:13px; z-index:4; width:42px; height:42px; border-radius:0; border:1px solid #1c1b19; background:rgba(246,245,242,0.9); color:#1c1b19; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:15px; transition:background .35s ease, color .35s ease; }
.mco-bizm-x:hover{ background:#1c1b19; color:#f6f5f2; }
@media (max-width:680px){
  .mco-bizm-card{ flex-direction:column; height:92svh; }
  .mco-bizm-img{ flex:1 1 0; min-height:0; }
  .mco-bizm-col{ flex:1 1 0; min-height:0; }
}

/* ============================================================
   PROPERTY CARDS / CAROUSEL
   ============================================================ */
.mco-rec-head{ max-width:1180px; margin:0 auto clamp(24px,4vw,40px); padding:0 clamp(20px,6vw,80px); display:flex; align-items:flex-end; justify-content:space-between; gap:20px 24px; flex-wrap:wrap; }
.mco-rec-track{ display:flex; gap:24px; overflow-x:auto; padding:6px max(clamp(20px,6vw,80px), calc((100% - 1180px) / 2)) 4px; scroll-snap-type:x mandatory; }
.mco-rec-card{ flex:0 0 auto; width:clamp(244px,27vw,290px); scroll-snap-align:start; cursor:pointer; text-decoration:none; display:block; }
@media (max-width:640px){ .mco-rec-card{ width:82vw; scroll-snap-align:center; } }
.mco-rec-imgwrap{ position:relative; width:100%; aspect-ratio:4 / 3; overflow:hidden; background:#ececea; }
.mco-rec-img{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform 1.5s cubic-bezier(.2,.7,.2,1); }
.mco-rec-card:hover .mco-rec-img{ transform:scale(1.06); }
.mco-rec-ph{ position:absolute; inset:0; background-image:repeating-linear-gradient(135deg,#e6e4e0 0,#e6e4e0 11px,#f3f2ef 11px,#f3f2ef 22px); display:flex; align-items:center; justify-content:center; font-family:monospace; font-size:10px; letter-spacing:0.14em; color:#a8a39b; }
.mco-rec-type{ position:absolute; top:0; left:0; z-index:3; background:#1c1b19; color:#f6f5f2; font-size:10px; letter-spacing:0.18em; padding:5px 12px; }
.mco-rec-tag{ position:absolute; top:13px; right:13px; z-index:3; font-size:10px; letter-spacing:0.14em; color:#46443f; background:rgba(246,245,242,0.9); padding:4px 10px; }
.mco-rec-info{ padding:17px 2px 0; }
.mco-rec-h3{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:18px; letter-spacing:0.06em; margin:0; color:#1c1b19; line-height:1.55; transition:color 0.35s ease; }
.mco-rec-card:hover .mco-rec-h3{ color:#7a766f; }
.mco-rec-area{ font-size:12.5px; letter-spacing:0.06em; color:#6f6c67; margin:10px 0 0; }
.mco-rec-spec{ font-size:12.5px; letter-spacing:0.06em; color:#9a968f; margin:5px 0 0; }
.mco-rec-foot{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:13px; padding-top:13px; border-top:1px solid #e3e0db; }
.mco-rec-price{ font-family:'Noto Serif JP',serif; font-weight:600; font-size:20px; letter-spacing:0.02em; color:#1c1b19; }
.mco-rec-go{ font-size:11px; letter-spacing:0.12em; color:#1c1b19; opacity:0; transform:translateX(-6px); transition:opacity 0.4s ease, transform 0.4s ease; }
.mco-rec-card:hover .mco-rec-go{ opacity:1; transform:translateX(0); }
.mco-arrow{ width:clamp(44px,5vw,52px); height:clamp(44px,5vw,52px); border-radius:0; border:1px solid #1c1b19; background:none; color:#1c1b19; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; transition:background 0.4s ease, color 0.4s ease; }
.mco-arrow:hover{ background:#1c1b19; color:#f6f5f2; }

/* property archive grid */
.mco-prop-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:clamp(24px,3vw,40px); }
.mco-prop-grid .mco-rec-card{ width:auto; }
.mco-filter{ display:flex; gap:8px; justify-content:center; margin-bottom:clamp(28px,4vw,44px); flex-wrap:wrap; }
.mco-filter a{ font-family:'Noto Sans JP'; font-size:14px; letter-spacing:0.16em; padding:10px 4px; text-decoration:none; border-bottom:2px solid transparent; color:#9a968f; }
.mco-filter a.is-active{ border-bottom-color:#1c1b19; color:#1c1b19; font-weight:500; }

/* ============================================================
   PROPERTY DETAIL
   ============================================================ */
.mco-back{ background:none; border:none; cursor:pointer; font-size:12px; letter-spacing:0.14em; color:#6f6c67; padding:4px 0; margin-bottom:clamp(20px,3vw,32px); font-family:'Noto Sans JP'; text-decoration:none; display:inline-block; }
.mco-detail-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(28px,4vw,56px); align-items:start; }
.mco-detail-main{ position:relative; width:100%; height:clamp(260px,34vw,400px); background:#ececea; border:1px solid #e3e0db; overflow:hidden; }
.mco-detail-main img{ width:100%; height:100%; object-fit:cover; }
.mco-detail-type{ position:absolute; top:16px; left:16px; z-index:2; background:#1c1b19; color:#f6f5f2; font-size:11px; letter-spacing:0.18em; padding:5px 12px; }
.mco-detail-thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:8px; }
.mco-detail-thumb{ height:72px; background:#ececea; border:1px solid #e3e0db; overflow:hidden; }
.mco-detail-thumb img{ width:100%; height:100%; object-fit:cover; }
.mco-detail-tag{ font-size:11px; letter-spacing:0.2em; color:#9a968f; }
.mco-detail-title{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(24px,3.6vw,36px); letter-spacing:0.08em; margin:8px 0 0; color:#1c1b19; line-height:1.5; }
.mco-detail-area{ font-size:13px; letter-spacing:0.06em; color:#6f6c67; margin:12px 0 0; }
.mco-detail-price{ display:flex; align-items:baseline; gap:10px; margin:clamp(20px,3vw,28px) 0; padding:clamp(18px,2.4vw,24px) 0; border-top:1px solid #1c1b19; border-bottom:1px solid #e3e0db; }
.mco-detail-price__l{ font-size:12px; letter-spacing:0.16em; color:#9a968f; }
.mco-detail-price__v{ font-family:'Noto Serif JP',serif; font-weight:600; font-size:clamp(28px,4.4vw,42px); letter-spacing:0.02em; color:#1c1b19; }
.mco-detail-dl{ margin:0; }
.mco-detail-dl > div{ display:flex; padding:13px 2px; border-bottom:1px solid #ece9e4; }
.mco-detail-dl dt{ flex:0 0 96px; font-size:12px; letter-spacing:0.1em; color:#9a968f; }
.mco-detail-dl dd{ margin:0; font-size:14px; color:#1c1b19; }
.mco-detail-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:clamp(24px,3vw,32px); }
.mco-btn-dark{ border:1px solid #1c1b19; background:#1c1b19; color:#f6f5f2; cursor:pointer; text-decoration:none; font-family:'Noto Sans JP'; font-size:13px; letter-spacing:0.16em; padding:14px 32px; display:inline-block; }
.mco-btn-line{ border:1px solid #1c1b19; background:none; color:#1c1b19; cursor:pointer; text-decoration:none; font-family:'Noto Sans JP'; font-size:13px; letter-spacing:0.16em; padding:14px 32px; display:inline-block; }

/* ============================================================
   NEWS (お知らせ)
   ============================================================ */
.mco-news-list{ max-width:860px; margin:0 auto; border-top:1px solid #e3e0db; }
.mco-news-item{ display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 22px; padding:clamp(20px,2.6vw,26px) 4px; border-bottom:1px solid #e3e0db; text-decoration:none; transition:background .3s ease; }
.mco-news-item:hover{ background:#efedea; }
.mco-news-date{ font-family:'Noto Serif JP',serif; font-size:13px; letter-spacing:0.1em; color:#9a968f; flex:0 0 auto; }
.mco-news-cat{ font-size:10px; letter-spacing:0.14em; color:#46443f; border:1px solid #d9d6d0; padding:3px 12px; flex:0 0 auto; }
.mco-news-title{ flex:1 1 280px; font-size:15px; letter-spacing:0.04em; color:#1c1b19; line-height:1.7; margin:0; }
.mco-article{ max-width:760px; margin:0 auto; }
.mco-article h1{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(22px,3.2vw,32px); letter-spacing:0.06em; line-height:1.6; color:#1c1b19; margin:14px 0 0; }
.mco-article .mco-article-body{ margin-top:clamp(28px,4vw,44px); font-size:15px; line-height:2.1; letter-spacing:0.03em; color:#3a3833; }
.mco-article .mco-article-body p{ margin:0 0 1.5em; }
.mco-article .mco-article-body img{ height:auto; }

/* ============================================================
   PAGE HEAD (sub pages)
   ============================================================ */
.mco-pagehead{ text-align:center; padding:clamp(40px,7vw,96px) clamp(20px,6vw,80px) clamp(20px,3vw,32px); }
.mco-pagehead .mco-ey{ letter-spacing:0.28em; }
.mco-pagehead h1{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(28px,4.4vw,46px); letter-spacing:0.1em; margin:0; color:#1c1b19; }
.mco-pagehead p{ font-size:14px; letter-spacing:0.06em; color:#6f6c67; margin:clamp(18px,2.6vw,26px) auto 0; line-height:2.1; max-width:480px; }

/* ============================================================
   COMPANY TABLE
   ============================================================ */
.mco-company-dl{ margin:0 auto; max-width:760px; border-top:2px solid #1c1b19; }
.mco-co-row{ display:grid; grid-template-columns:clamp(110px,20vw,170px) 1fr; gap:clamp(16px,4vw,48px); align-items:baseline; padding:clamp(18px,2.6vw,26px) 6px; border-bottom:1px solid #e3e0db; transition:background .3s ease; }
.mco-co-row:hover{ background:#efedea; }
.mco-co-row dt{ font-family:'Noto Serif JP',serif; font-size:clamp(14px,1.6vw,16px); letter-spacing:0.14em; color:#46443f; }
.mco-co-row dd{ margin:0; font-family:'Noto Serif JP',serif; font-size:clamp(15px,1.7vw,17px); letter-spacing:0.06em; color:#1c1b19; line-height:1.85; }
@media (max-width:560px){ .mco-co-row{ grid-template-columns:1fr; gap:7px; } }

/* ============================================================
   CONTACT CTA (home dark)
   ============================================================ */
.mco-contact-cta{ background:#1c1b19; color:#f6f5f2; padding:clamp(40px,6vw,72px) clamp(20px,6vw,80px) clamp(48px,7vw,84px); text-align:center; }
.mco-contact-cta .mco-ey{ color:#6f6c67; }
.mco-contact-cta h2{ font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(22px,3.6vw,38px); letter-spacing:0.1em; margin:0; color:#f6f5f2; }
.mco-contact-cta p{ font-size:13px; letter-spacing:0.08em; color:#a8a39b; margin:18px 0 0; line-height:2; }
.mco-btn-light{ border:1px solid #f6f5f2; background:#f6f5f2; color:#1c1b19; cursor:pointer; text-decoration:none; font-family:'Noto Sans JP'; font-size:13px; letter-spacing:0.2em; padding:15px 52px; font-weight:500; display:inline-flex; align-items:center; gap:12px; margin-top:clamp(26px,4vw,40px); }

/* ============================================================
   CONTACT FORM (Contact Form 7 styling)
   ============================================================ */
.mco-form{ max-width:680px; margin:clamp(36px,5vw,56px) auto 0; }
.mco-form p{ margin:0 0 clamp(22px,3vw,28px); }
.mco-form label, .mco-form .mco-flabel{ display:block; font-size:11px; letter-spacing:0.16em; color:#6f6c67; margin-bottom:9px; }
.mco-form .mco-req{ color:oklch(0.55 0.13 35); margin-left:8px; }
.mco-form input[type=text],
.mco-form input[type=email],
.mco-form input[type=tel],
.mco-form select,
.mco-form textarea{
  width:100%; box-sizing:border-box; background:#f6f5f2; border:1px solid #d9d6d0; color:#1c1b19;
  font-family:'Noto Sans JP'; font-size:14px; letter-spacing:0.04em; padding:14px 16px; outline:none;
  transition:border-color .3s ease, background .3s ease;
}
.mco-form select{ appearance:none; }
.mco-form textarea{ line-height:1.9; resize:vertical; }
.mco-form input:focus, .mco-form select:focus, .mco-form textarea:focus{ border-color:#1c1b19; background:#fff; }
.mco-form .wpcf7-submit, .mco-form button[type=submit]{
  border:1px solid #1c1b19; background:#1c1b19; color:#f6f5f2; cursor:pointer;
  font-family:'Noto Sans JP'; font-size:13px; letter-spacing:0.2em; padding:16px 56px; font-weight:500;
  transition:background .35s ease, color .35s ease; display:inline-block; margin-top:clamp(6px,1vw,10px);
}
.mco-form .wpcf7-submit:hover, .mco-form button[type=submit]:hover{ background:none; color:#1c1b19; }
.mco-form-submit-wrap{ text-align:center; }
.mco-contact-alt{ margin-top:clamp(40px,6vw,68px); padding-top:clamp(28px,4vw,40px); border-top:1px solid #e3e0db; text-align:center; }
.mco-contact-alt p{ font-size:11px; letter-spacing:0.2em; color:#9a968f; margin:0 0 18px; }
.mco-contact-alt a{ text-decoration:none; border:1px solid #d9d6d0; background:none; color:#1c1b19; font-family:'Noto Sans JP'; font-size:13px; letter-spacing:0.16em; padding:14px 34px; display:inline-flex; align-items:center; gap:12px; }
.mco-contact-alt a span{ font-size:12px; color:#6f6c67; }

/* ============================================================
   FOOTER
   ============================================================ */
.mco-footer{ position:relative; background:#e9e7e2; color:#46443f; padding:clamp(40px,7vw,80px) clamp(20px,6vw,80px) clamp(24px,4vw,40px); overflow:hidden; }
.mco-footer-bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.mco-footer-veil{ position:absolute; inset:0; background:radial-gradient(120% 120% at 50% 40%, rgba(246,245,242,0) 38%, rgba(246,245,242,0.4) 100%); }
.mco-footer-inner{ position:relative; max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; gap:clamp(28px,5vw,72px); justify-content:space-between; }
.mco-footer-brand{ min-width:240px; }
.mco-footer-brand img{ height:clamp(42px,5.2vw,60px); width:auto; display:block; }
.mco-footer-co{ font-size:10px; letter-spacing:0.3em; color:#3a3833; margin-top:8px; text-shadow:0 1px 3px rgba(0,0,0,0.28); }
.mco-footer-addr{ font-size:12px; letter-spacing:0.08em; line-height:2; color:#2c2a26; margin:20px 0 0; text-shadow:0 1px 3px rgba(0,0,0,0.28); }
.mco-footer-nav{ display:flex; flex-wrap:wrap; gap:40px; }
.mco-footer-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.mco-footer-nav a{ font-size:12px; letter-spacing:0.12em; color:#1c1b19; font-family:'Noto Sans JP'; text-decoration:none; text-shadow:0 1px 3px rgba(0,0,0,0.28); }
.mco-footer-copy{ position:relative; max-width:1180px; margin:clamp(28px,5vw,56px) auto 0; padding-top:20px; border-top:1px solid rgba(28,27,25,0.2); font-size:10px; letter-spacing:0.16em; color:#3a3833; text-shadow:0 1px 3px rgba(0,0,0,0.28); }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; }
}
