
.layout{
  display:grid;
  grid-template-areas:
    "header"
    "main"
    "footer";
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  min-height:100vh;
}
.layout-header{grid-area:header;position:relative;z-index:1100}
.layout-body{grid-area:main}
.layout-footer{grid-area:footer}


.layout-body{
  width:var(--shell-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:var(--rail-width) 1fr;
  gap:var(--space-4);
  align-items:start;
  padding:var(--space-3) 0 0;
}
.layout-main{grid-column:2;grid-row:1;min-width:0}
.layout-rail{grid-column:1;grid-row:1;position:sticky;top:var(--space-3)}
.layout-body-solo{grid-template-columns:1fr}
.layout-body-solo .layout-main{grid-column:1}

.rail-panel{
  background:var(--ink);
  color:var(--bone);
  border-top:6px solid var(--accent);
  padding:var(--space-3) var(--space-2);
}
.rail-title{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:var(--fluid-font-xs);
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--sand);
  margin:0 0 var(--space-2);
}
.rail-list{list-style:none;margin:0;padding:0}
.rail-fact{border-top:1px solid var(--ink-line);padding:0.6rem 0;margin:0}
.rail-fact-label{display:block;font-size:var(--fluid-font-xs);letter-spacing:0.08em;text-transform:uppercase;color:var(--bone-dim)}
.rail-fact-value{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:700;color:var(--bone);font-size:var(--fluid-font-sm)}
.rail-phone{color:var(--sand);text-decoration:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.rail-phone:hover{color:var(--bone)}
.rail-note{font-size:var(--fluid-font-xs);color:var(--bone-dim);margin:var(--space-2) 0 0;line-height:1.6}


.composition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);list-style:none;margin:0;padding:0}
.composition-item{margin:0}
.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3) var(--space-4);list-style:none;margin:0;padding:0}
.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);list-style:none;margin:0;padding:0}
.terms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3) var(--space-4);list-style:none;margin:0;padding:0}
.step-list{list-style:none;margin:0;padding:0;max-width:78ch}
.product-figure-wide{margin:var(--space-4) 0 0;display:grid;grid-template-columns:0.42fr 0.58fr;gap:var(--space-3);align-items:center}
.product-shot-inline{display:block;width:100%;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.1)}


[data-mm-header]{
  --mm-bg:#15100e;
  --mm-text:#f3ece2;
  --mm-primary:#d9b48a;
  --mm-overlay-bg:rgba(10,7,6,0.72);
}
[data-mm-menu] ul li a{border-bottom-color:rgba(217,180,138,0.18)}


.site-nav{margin-left:auto}
.site-nav-list{display:flex;align-items:center;gap:var(--space-3)}


@media (max-width:959px){
  .site-nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%}
}


@media (max-width:1180px){
  .composition-grid{grid-template-columns:repeat(2,1fr)}
  .moment-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .layout-body{grid-template-columns:1fr;gap:var(--space-3)}
  .layout-main{grid-column:1;grid-row:1}
  .layout-rail{grid-column:1;grid-row:2;position:static}
  .firm-introduction-inner{grid-template-columns:1fr;gap:var(--space-3)}
  .firm-introduction-figure{max-width:420px}
  .order-inner{grid-template-columns:1fr}
  .product-figure-wide{grid-template-columns:1fr;max-width:460px}
}
@media (max-width:768px){
  .layout-body{width:100%;padding:0}
  .site-header-inner{width:100%;padding:0.7rem var(--space-2)}
  .firm-introduction{padding:var(--space-4) var(--space-2)}
  .firm-introduction-inner{width:100%}
  .content-section{padding:var(--space-4) var(--space-2)}
  .section-inner{width:100%}
  .composition-grid{grid-template-columns:1fr}
  .benefit-grid{grid-template-columns:1fr}
  .moment-grid{grid-template-columns:1fr}
  .terms-grid{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr;width:100%}
  .footer-disclaimer{width:100%}
  .footer-base{width:100%;flex-direction:column;align-items:flex-start}
  .order-band{padding:var(--space-4) var(--space-2)}
  .order-inner{width:100%}
  .rounded-step{border-radius:24px 24px 0 0;margin-top:-24px}
  .firm-introduction-figure{max-width:none}
  .product-figure-wide{max-width:none}
  .hero-actions{flex-direction:column;align-items:stretch}
  .primary-button{width:100%;text-align:center}
  .ghost-button{width:100%;text-align:center}
}
@media (max-width:560px){
  .faq-item{grid-template-columns:1fr;gap:0.4rem}
  .step-row{grid-template-columns:1fr;gap:0.4rem}
}
@media (prefers-reduced-motion:reduce){
  .content-card{transition:none}
  .moment-block{transition:none}
}
