
/* ============================================================
   MM Law Solicitors · site styles
   Palette  : #123B2F pine / #C8A24A brass / #FAF8F4 paper / #EFEAE1 sand
   Type     : Fraunces (display) + Public Sans (body)
   Layout   : full-bleed bands + 1200px inner measure
   ============================================================ */
:root{
  --mml-pine:#123B2F; --mml-pine-deep:#0C2C22; --mml-brass:#C8A24A;
  --mml-paper:#FAF8F4; --mml-sand:#EFEAE1; --mml-ink:#1A1F1C; --mml-slate:#4A5450;
  --mml-line:rgba(26,31,28,.13); --mml-line-light:rgba(255,255,255,.16);
  --mml-wrap:1200px;
  --mml-sh:0 32px 68px rgba(0,0,0,.28);
}
html{scroll-behavior:smooth}
body{
  font-family:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:16px; line-height:1.65; color:var(--mml-ink); background:var(--mml-paper);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.mml-h1,.mml-h2,.mml-h3{
  font-family:Fraunces,Georgia,"Times New Roman",serif; font-weight:600;
  letter-spacing:-.015em; line-height:1.14; color:var(--mml-pine); margin:0 0 .5em;
}
h3{font-size:22px;letter-spacing:-.01em}
a{color:var(--mml-pine); text-decoration-thickness:1px; text-underline-offset:3px; transition:color .18s ease}
a:hover{color:var(--mml-brass)}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--mml-pine);color:#fff}

/* ---------- page band primitives ---------- */
.mml-band{width:100%; position:relative}
.mml-wrap{max-width:var(--mml-wrap); margin:0 auto; padding:0 32px; width:100%}
.mml-eyebrow{
  font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--mml-brass); margin:0 0 18px;
}
.mml-eyebrow-dark{color:var(--mml-pine)}
.mml-lede{font-size:18.5px; line-height:1.6; color:var(--mml-slate); max-width:62ch; margin:0 0 32px}
.mml-lede-light{color:rgba(255,255,255,.82)}
.mml-h2{font-size:clamp(30px,3.4vw,44px); margin-bottom:20px}
.mml-h2-light{color:#fff}
.mml-h3{font-size:26px; margin-bottom:12px}
.mml-unv{font-size:15px;color:var(--mml-slate);border-left:3px solid var(--mml-brass);padding-left:14px;margin-top:16px}

/* ---------- buttons ---------- */
.mml-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:"Public Sans",sans-serif; font-size:15px; font-weight:600; letter-spacing:.01em;
  padding:15px 30px; border-radius:3px; text-decoration:none; cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  border:1.5px solid transparent;
}
.mml-btn-solid{background:var(--mml-brass); color:#1A1F1C; box-shadow:0 10px 26px rgba(0,0,0,.22)}
.mml-btn-solid:hover{background:#D4AF5C; color:#1A1F1C; transform:translateY(-2px); box-shadow:0 16px 34px rgba(0,0,0,.28)}
.mml-btn-brass{background:var(--mml-brass); color:#141A17}
.mml-btn-brass:hover{background:#DCBB69; color:#141A17}
.mml-btn-line{background:transparent; color:var(--mml-pine); border-color:rgba(18,59,47,.42)}
.mml-btn-line:hover{background:var(--mml-pine); color:#fff; border-color:var(--mml-pine); transform:translateY(-2px)}
.mml-btn-light{color:#fff; border-color:rgba(255,255,255,.5)}
.mml-btn-light:hover{background:#fff; color:var(--mml-pine); border-color:#fff; transform:translateY(-2px)}

/* ---------- 1 hero ---------- */
.mml-band-hero{background:var(--mml-pine); color:#fff; overflow:hidden}
.mml-band-hero .mml-wrap{padding:88px 32px 92px}
.mml-hero{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; align-items:center}
.mml-hero-h1{
  font-size:clamp(40px,6.4vw,80px); line-height:1.03; letter-spacing:-.028em;
  color:#fff; margin:0 0 26px; font-weight:600;
}
.mml-hero-sub{font-size:19px; line-height:1.62; color:rgba(255,255,255,.86); max-width:56ch; margin:0 0 34px}
.mml-hero-cta{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:44px}
.mml-facts{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:40px}
.mml-facts li{
  display:flex; flex-direction:column; gap:2px; font-size:14px;
  letter-spacing:.02em; color:rgba(255,255,255,.66);
}
.mml-facts li span{
  font-family:Fraunces,Georgia,serif; font-size:38px; line-height:1; color:var(--mml-brass);
  font-weight:600; letter-spacing:-.02em;
}
.mml-hero-fig{margin:0}
.mml-hero-fig img{
  width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:4px;
  box-shadow:var(--mml-sh);
}
.mml-hero-fig:hover img{transform:scale(1.015)}

/* ---------- 2 trust ---------- */
.mml-band-trust{background:var(--mml-paper); border-bottom:1px solid var(--mml-line)}
.mml-band-trust .mml-wrap{padding:56px 32px}
.mml-trust{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:44px}
.mml-trust li{display:flex; flex-direction:column; gap:9px}
.mml-trust strong{font-family:Fraunces,Georgia,serif; font-size:20px; color:var(--mml-pine); font-weight:600}
.mml-trust span{font-size:15.5px; line-height:1.6; color:var(--mml-slate)}

/* ---------- 3 split (individuals / business) ---------- */
.mml-band-split{background:var(--mml-paper); padding:96px 0 100px}
.mml-split{display:grid; grid-template-columns:repeat(2,1fr); gap:44px; margin-top:44px}
.mml-split-col{
  background:#fff; border:1px solid var(--mml-line); border-radius:4px; overflow:hidden;
  padding-bottom:34px; display:flex; flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease;
}
.mml-split-col:hover{transform:translateY(-4px); box-shadow:var(--mml-sh)}
.mml-split-col img{width:100%; aspect-ratio:3/2; object-fit:cover; margin-bottom:26px}
.mml-split-col h3{font-size:25px; margin:0 32px 12px}
.mml-split-col p{font-size:16px; line-height:1.62; color:var(--mml-slate); margin:0 32px 20px}
.mml-split-col ul{list-style:none; margin:0 32px; padding:0; display:flex; flex-wrap:wrap; gap:10px}
.mml-split-col ul li{
  font-size:14px; font-weight:500; padding:7px 14px; border-radius:2px;
  background:var(--mml-sand); color:var(--mml-pine);
}
.mml-split-col ul li a{color:var(--mml-pine); text-decoration:none}
.mml-split-col ul li a:hover{color:var(--mml-brass); text-decoration:underline}
.mml-split-tag{
  margin:0 32px 8px; font-size:12px; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:var(--mml-brass);
}

/* ---------- 4 fees ---------- */
.mml-band-fees{background:var(--mml-paper); padding:0 0 100px}
.mml-band-fees .mml-wrap{padding-top:8px}
/* 🔴 R24：多列网格必须有 gap（.mml-fees 桌面 3 列曾无 gap ⇒ 卡片紧贴） */
.mml-fees{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin:0 0 26px}
.mml-fee{
  background:#fff; border:1px solid var(--mml-line); border-top:3px solid var(--mml-pine);
  border-radius:3px; padding:32px 30px 34px; display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.mml-fee:hover{transform:translateY(-3px); box-shadow:var(--mml-sh)}
.mml-fee-t{margin:0 0 10px; font-size:15px; font-weight:600; letter-spacing:.02em; color:var(--mml-slate)}
.mml-fee-p{
  margin:0 0 16px; font-family:Fraunces,Georgia,serif; font-size:38px; line-height:1;
  font-weight:600; color:var(--mml-pine); letter-spacing:-.02em;
}
.mml-fee-d{margin:0; font-size:15px; line-height:1.6; color:var(--mml-slate); flex:1}
.mml-fee-note{font-size:14.5px; color:var(--mml-slate); margin:0 0 26px; max-width:70ch}
.mml-btn-dark{color:var(--mml-pine); border-color:rgba(18,59,47,.42)}

/* ---------- 5 remote ---------- */
.mml-band-remote{background:var(--mml-pine-deep); color:#fff; padding:100px 0; overflow:hidden}
.mml-remote{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:60px; align-items:center}
.mml-remote .mml-h2{color:#fff}
.mml-steps{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:28px}
.mml-steps-tight{gap:18px}
.mml-steps li{display:flex; gap:18px; align-items:flex-start}
.mml-step-n{
  font-family:Fraunces,Georgia,serif; font-size:15px; font-weight:600; letter-spacing:.06em;
  color:var(--mml-brass); flex:0 0 auto; padding-top:5px; min-width:26px;
}
.mml-steps h3{font-size:20px; color:#fff; margin:0 0 6px}
.mml-steps p{margin:0; font-size:15.5px; line-height:1.6; color:rgba(255,255,255,.76)}
.mml-remote-fig{margin:0}
.mml-remote-fig img{width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:4px; box-shadow:var(--mml-sh)}

/* ---------- 6 cards ---------- */
.mml-band-cards{background:var(--mml-paper); padding:100px 0}
.mml-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px}
.mml-card{
  background:#fff; border:1px solid var(--mml-line); border-radius:4px; overflow:hidden;
  text-decoration:none; display:flex; flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease;
}
.mml-card:hover{transform:translateY(-5px); box-shadow:var(--mml-sh)}
.mml-card img{width:100%; aspect-ratio:4/3; object-fit:cover}
.mml-card h3{font-size:21px; margin:22px 24px 10px; color:var(--mml-pine)}
.mml-card p{font-size:15px; line-height:1.58; color:var(--mml-slate); margin:0 24px 26px}
.mml-card:hover h3{color:var(--mml-brass)}

/* ---------- 7 team ---------- */
.mml-band-team{background:var(--mml-sand); padding:100px 0}
.mml-team{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:48px}
.mml-team-row h3{font-size:21px; margin:20px 0 8px; color:var(--mml-pine)}
.mml-team-row p{font-size:15px; line-height:1.6; color:var(--mml-slate); margin:0}
.mml-team-row img{width:100%; aspect-ratio:1; object-fit:cover; border-radius:3px; box-shadow:0 18px 40px rgba(0,0,0,.16)}
.mml-team-row:hover img{transform:scale(1.02)}
.mml-team-row{transition:transform .2s ease}

/* ---------- 8 CTA ---------- */
.mml-band-cta{background:var(--mml-pine-deep) !important; color:#fff; padding:0; overflow:hidden}
.mml-cta{position:relative; isolation:isolate; background:var(--mml-pine-deep)}
.mml-cta-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:1; z-index:0;
}
.mml-cta-in{position:relative; z-index:1; max-width:var(--mml-wrap); margin:0 auto; padding:96px 32px}
/* 🔴 §五·E 红线1/4：文字局部衬底，⛔ 禁整图压暗（整图 opacity=.10 会连深底一起失效） */
.mml-cta-in > *{position:relative; z-index:2}
.mml-cta-shade{
  position:absolute; z-index:1; left:0; top:0; bottom:0; width:min(760px,100%);
  background:linear-gradient(90deg,var(--mml-pine-deep) 60%,rgba(12,44,34,0) 100%);
  pointer-events:none;
}
.mml-cta .mml-h2{color:#fff; max-width:20ch}
.mml-cta-contact{display:flex; flex-wrap:wrap; gap:26px; margin:32px 0 0; font-size:16px}
.mml-cta-contact a{color:var(--mml-brass); text-decoration:none; border-bottom:1px solid rgba(200,162,74,.4)}
.mml-cta-contact a:hover{color:#fff; border-color:#fff}
.mml-cta-flat .mml-cta-in{padding:80px 32px}
@media(max-width:680px){ .mml-cta-shade{width:100%;background:linear-gradient(180deg,rgba(12,44,34,.93) 58%,rgba(12,44,34,0) 100%)} }

/* ---------- inner pages ---------- */
.mml-band-innerhero{background:var(--mml-paper); border-bottom:1px solid var(--mml-line)}
.mml-band-innerhero .mml-wrap{padding:76px 32px 68px}
.mml-inner-h1{
  font-size:clamp(36px,5vw,60px); line-height:1.06; letter-spacing:-.026em;
  color:var(--mml-pine); margin:0 0 22px;
}
.mml-band-services{background:#fff; padding:96px 0; border-bottom:1px solid var(--mml-line)}
.mml-svc{padding:0 0 44px; margin:0 0 44px; border-bottom:1px solid var(--mml-line); max-width:78ch}
.mml-svc:last-child{border-bottom:0; margin-bottom:0; padding-bottom:0}
.mml-svc p{font-size:16.5px; line-height:1.66; color:var(--mml-slate); margin:0 0 16px}
.mml-svc ul{display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0}
.mml-svc ul li{font-size:14.5px; padding:7px 15px; border-radius:2px; background:var(--mml-sand); color:var(--mml-pine)}

.mml-band-teampg{background:#fff; padding:96px 0}
.mml-team-wide{gap:36px}
.mml-reg{margin-top:72px; padding-top:48px; border-top:2px solid var(--mml-pine); max-width:78ch}
.mml-reg p{font-size:16.5px; line-height:1.66; color:var(--mml-slate); margin:0 0 14px}

.mml-band-about{background:var(--mml-paper); padding:96px 0}
.mml-two{display:grid; grid-template-columns:repeat(2,1fr); gap:56px}
.mml-two h2{margin-top:0}
.mml-two p{font-size:16.5px; line-height:1.66; color:var(--mml-slate); margin:0 0 16px}

.mml-band-feespg{background:#fff; padding:96px 0}
.mml-fees-pg{margin-bottom:64px; display:grid; grid-template-columns:repeat(3,1fr); gap:28px}
.mml-fee-block{max-width:78ch}
.mml-fee-block h2{margin-top:44px}
.mml-fee-block ul{list-style:none; padding:0; margin:0 0 8px}
.mml-fee-block ul li{
  position:relative; padding-left:24px; font-size:16.5px; line-height:1.64;
  color:var(--mml-slate); margin:0 0 12px;
}
.mml-fee-block ul li::before{
  content:""; position:absolute; left:0; top:11px; width:9px; height:9px;
  background:var(--mml-brass); border-radius:50%;
}
.mml-fee-block p{font-size:16.5px; line-height:1.66; color:var(--mml-slate)}

.mml-band-faq{background:#fff; padding:96px 0}
.mml-faqs{max-width:88ch; margin:0 auto; border-top:1px solid var(--mml-line)}
.mml-faq{border-bottom:1px solid var(--mml-line)}
.mml-faq summary{
  list-style:none; cursor:pointer; display:flex; align-items:flex-start; justify-content:space-between;
  gap:24px; padding:26px 0; font-family:Fraunces,Georgia,serif; font-size:21px;
  color:var(--mml-pine); font-weight:600; line-height:1.32;
}
.mml-faq summary::-webkit-details-marker{display:none}
.mml-faq-i{
  flex:0 0 auto; width:15px; height:15px; margin-top:7px; position:relative;
}
.mml-faq-i::before,.mml-faq-i::after{
  content:""; position:absolute; background:var(--mml-brass); transition:transform .2s ease;
}
.mml-faq-i::before{left:0; top:7px; width:15px; height:1.5px}
.mml-faq-i::after{left:7px; top:0; width:1.5px; height:15px}
.mml-faq[open] .mml-faq-i::after{transform:scaleY(0)}
.mml-faq-a{padding:0 44px 28px 0}
.mml-faq-a p{font-size:16.5px; line-height:1.66; color:var(--mml-slate); margin:0}

.mml-band-book{background:var(--mml-paper); padding:96px 0}
.mml-book{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:60px; align-items:start}
.mml-book h2{margin-top:36px}
.mml-book-txt h2:first-child{margin-top:0}
.mml-book ul,.mml-book ol{padding-left:22px; margin:0 0 8px}
.mml-book li{font-size:16.5px; line-height:1.64; color:var(--mml-slate); margin:0 0 10px}
.mml-book-contact{font-size:16.5px; line-height:1.9; color:var(--mml-slate)}

.mml-band-legal{background:#fff; padding:96px 0}
.mml-band-legal .mml-wrap{max-width:900px}
.mml-band-legal h2{font-size:24px; margin-top:40px; margin-bottom:12px}
.mml-band-legal p{font-size:16.5px; line-height:1.68; color:var(--mml-slate); margin:0 0 14px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .mml-cards,.mml-team,.mml-trust{grid-template-columns:repeat(2,1fr)}
  .mml-fees{grid-template-columns:1fr 1fr}
  .mml-hero{grid-template-columns:1fr; gap:48px}
  .mml-hero-fig{max-width:460px}
  .mml-remote{grid-template-columns:1fr}
  .mml-split,.mml-two,.mml-book{grid-template-columns:1fr}
  .mml-band-cta .mml-fwrap{padding:0 22px}
}
@media (max-width:900px){
  /* 🔴 390 视口横滚实测源：.mml-fees 三列 ⇒ 每列 105px 挤到 x=443 ⇒ scrollW 578
     1100px 断点的 1fr 1fr 在 390 下仍是两列 ⇒ 这里必须落 1 列 */
  .mml-fees{grid-template-columns:1fr}
  .mml-split-col ul li{font-size:13px;padding:6px 12px}
}
@media (max-width:680px){
  .mml-wrap{padding:0 22px}
  .mml-band-hero .mml-wrap{padding:60px 22px 64px}
  .mml-band-split,.mml-band-cards,.mml-band-team,.mml-band-remote,
  .mml-band-faq,.mml-band-book,.mml-band-about,.mml-band-services,
  .mml-band-teampg,.mml-band-feespg,.mml-band-legal{padding:70px 0}
  .mml-cards,.mml-team,.mml-trust{grid-template-columns:1fr; gap:34px}
  .mml-fees{grid-template-columns:1fr}
  .mml-facts{gap:26px}
  .mml-hero-cta{flex-direction:column; align-items:stretch}
  .mml-btn{width:100%}
  .mml-inner-h1{font-size:clamp(30px,8vw,42px)}
  .mml-band-innerhero .mml-wrap{padding:52px 22px 48px}
  .mml-faq summary{font-size:18.5px}
  .mml-faq-a{padding-right:0}
  .mml-split-col h3,.mml-split-col p,.mml-split-col ul,.mml-split-tag{margin-left:22px; margin-right:22px}
  .mml-card h3,.mml-card p{margin-left:20px; margin-right:20px}
}

/* ---------- Astra 壳微调 ---------- */
/* 🔴 宽屏露白根因（2560 实测）：Astra .ast-container{max-width:1240px} 把整条内容链
   （site-content > hfeed > article > entry-content > .mml-band）全锁在 1240 内，
   而 .mml-band{width:100%} 只相对这 1240 生效 ⇒ 段背景不落满幅，两侧各露 680px 白。
   对标站基线：容器 max-width:none（满幅 + 内 padding）⇒ 必须解除内容区限宽。
   页头/页脚保持 1240（它们是满幅带 + 内层限宽的独立轨道，不受影响）。*/
.site-content .ast-container{max-width:none; padding-left:0; padding-right:0}
.site-header .ast-container{max-width:1240px; padding-left:20px; padding-right:20px}
.custom-logo{max-height:52px; width:auto}
@media (max-width:680px){ .custom-logo{max-height:40px} }
/* ---------- 页头导航不换行（业主报「有点别扭」） ----------
   实测：导航项总宽 1057px（10 项，含 Cookie/Privacy/Terms 三个法定页）
        容器 .main-navigation 只有 1025px(1440) / 809px(1024) ⇒ flex-wrap 换行成两排。
   对标站同款处理：① 字号降到 15px ② 收紧项间距 ③ 法定页在页脚已有副本
   （页脚 .mml-fcols 三栏 + 法定页链接），主导航不再重复承载。
   ⛔ 不隐藏任何导航项（§五·F：语义与结构不动）—— 只调尺寸与间距。      */
.main-navigation .main-header-menu > li > a{font-size:15px; padding-left:11px; padding-right:11px}
@media (max-width:1240px){
  .main-navigation .main-header-menu > li > a{font-size:14.5px; padding-left:8px; padding-right:8px}
}
@media (max-width:1100px){
  .main-navigation .main-header-menu > li > a{font-size:14px; padding-left:6px; padding-right:6px}
}
/* 移动端：汉堡菜单展开时导航竖排，间距另给 */
@media (max-width:768px){
  .main-navigation .main-header-menu > li > a{font-size:15px; padding-left:0; padding-right:0}
}
/* 🔴 移动端 cookie pill 压住 logo（截图实证：390 下 pill 固定 top:12px 右侧，
   与 logo 同一行相撞）⇒ 移动端 pill 移回右下，logo 让出完整左侧 */
@media (max-width:680px){
  #mml-ck-pill{left:auto; right:12px; top:auto; bottom:12px; padding:7px 13px}
}
.entry-header,.ast-archive-description,.page-header{display:none}
#primary{padding:0 !important; margin:0 !important}
.ast-single-page .entry-content{padding-bottom:0}
.site-content{flex:1 0 auto}
footer.site-footer .ast-container{max-width:1240px}
.admin-bar .mml-wrap{padding-top:32px}
