:root{
  --mg-ink:#1c1714;
  --mg-ink-soft:#2a221e;
  --mg-rose:#c4917f;
  --mg-rose-deep:#a67260;
  --mg-pearl:#f7f3ee;
  --mg-pearl-warm:#efe8e0;
  --mg-muted:#7a6f67;
  --mg-line:rgba(28,23,20,.12);
  --mg-serif:"Playfair Display",serif;
  --mg-sans:"Noto Sans JP",sans-serif;
  --mg-mast-h:7.25rem;
  --mg-nav-h:2.85rem;
  --mg-ease:cubic-bezier(.22,.8,.28,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(ellipse 880px 480px at 6% -6%,rgba(196,145,127,.16),transparent 55%),
    radial-gradient(ellipse 640px 400px at 100% 8%,rgba(28,23,20,.05),transparent 50%),
    radial-gradient(ellipse 520px 320px at 50% 100%,rgba(196,145,127,.08),transparent 58%),
    linear-gradient(168deg,#faf7f3 0%,var(--mg-pearl) 44%,var(--mg-pearl-warm) 100%);
  color:var(--mg-ink);
  font-family:var(--mg-sans);
  font-weight:300;
  line-height:1.85;
  overflow-x:hidden;
  padding-top:calc(var(--mg-mast-h) + var(--mg-nav-h));
}
body::before{
  content:"";
  position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.11;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");
}
::selection{background:var(--mg-rose);color:var(--mg-pearl)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500}
button,input,textarea,select{font:inherit}

.mg-shell{width:min(1160px,calc(100% - 6rem));margin:auto}
.mg-section{padding:8.5rem 0;position:relative}
.mg-bg{
  background-image:
    linear-gradient(145deg,rgba(28,23,20,.3),rgba(28,23,20,.08)),
    radial-gradient(ellipse 80% 60% at 70% 20%,rgba(196,145,127,.14),transparent 55%),
    var(--hero-image,var(--image));
  background-size:cover;background-position:center;
}
.mg-skip{position:fixed;top:-5rem;left:1rem;z-index:999;background:var(--mg-rose);color:var(--mg-ink);padding:.6rem 1rem}
.mg-skip:focus{top:1rem}

.mg-grain{position:relative;isolation:isolate}
.mg-grain::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.08;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
.mg-grain > *{position:relative;z-index:1}

.mg-accent-line{
  display:block;width:3.2rem;height:1px;margin:1.1rem 0 1.4rem;
  background:linear-gradient(90deg,var(--mg-rose),transparent);
  transform-origin:left center;
}
.mg-accent-line--light{background:linear-gradient(90deg,var(--mg-rose),rgba(196,145,127,0))}
.mg-accent-line--center{margin-inline:auto}
.mg-js .mg-reveal .mg-accent-line,
.mg-js .mg-reveal.mg-accent-line{transform:scaleX(0)}
.mg-js .mg-reveal.mg-visible .mg-accent-line,
.mg-js .mg-reveal.mg-visible.mg-accent-line{transform:scaleX(1);transition:transform .9s var(--mg-ease) .15s}

.mg-frame{position:relative}
.mg-frame::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  border:1px solid rgba(196,145,127,.42);
  transform:translate(10px,10px);
  transition:transform .55s var(--mg-ease),opacity .55s;
  opacity:.65;
}
.mg-frame:hover::before{transform:translate(6px,6px);opacity:1}

/* —— Magazine masthead (large brand + thin meta) —— */
.mg-masthead{
  position:fixed;top:0;left:0;right:0;z-index:120;
  height:var(--mg-mast-h);
  display:flex;align-items:center;justify-content:center;
  background:rgba(247,243,238,.94);
  border-bottom:1px solid var(--mg-line);
  backdrop-filter:blur(14px);
  transition:height .45s var(--mg-ease),background .35s;
}
.mg-masthead__rule{
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent 8%,var(--mg-rose) 35%,var(--mg-ink) 50%,var(--mg-rose) 65%,transparent 92%);
}
.mg-masthead__inner{
  text-align:center;padding:.55rem 1.5rem 0;
  transition:padding .4s var(--mg-ease);
}
.mg-masthead__meta{
  margin:0 0 .35rem;
  display:flex;justify-content:center;align-items:center;gap:.55rem;flex-wrap:wrap;
  font-size:.55rem;letter-spacing:.28em;color:var(--mg-muted);font-weight:400;
}
.mg-masthead__brand{
  display:block;
  font:600 clamp(1.85rem,4.2vw,2.85rem)/1 var(--mg-serif);
  letter-spacing:.32em;
  color:var(--mg-ink);
  padding-left:.32em;
  transition:font-size .45s var(--mg-ease),letter-spacing .45s var(--mg-ease);
}
.mg-masthead__brand:hover{color:var(--mg-rose-deep)}
.mg-masthead__sub{
  margin:.4rem 0 0;
  font-size:.58rem;letter-spacing:.22em;color:var(--mg-rose-deep);
  display:flex;justify-content:center;gap:.55rem;align-items:center;
}
body.mg-scrolled .mg-masthead{
  height:4.1rem;
  background:rgba(28,23,20,.96);
  border-bottom-color:rgba(196,145,127,.28);
}
body.mg-scrolled .mg-masthead__brand{color:var(--mg-pearl);font-size:1.35rem;letter-spacing:.26em}
body.mg-scrolled .mg-masthead__meta,
body.mg-scrolled .mg-masthead__sub{display:none}
body.mg-scrolled .mg-navstrip{top:4.1rem}

/* Hover-underline nav strip */
.mg-navstrip{
  position:fixed;top:var(--mg-mast-h);left:0;right:0;z-index:119;
  height:var(--mg-nav-h);
  background:rgba(28,23,20,.97);
  border-bottom:1px solid rgba(196,145,127,.22);
  transition:top .45s var(--mg-ease);
}
.mg-navstrip__inner{
  display:flex;align-items:stretch;justify-content:center;gap:clamp(1.2rem,4vw,3.2rem);
  height:100%;
  padding:0 1.25rem;
  overflow-x:auto;
  scrollbar-width:none;
}
.mg-navstrip__inner::-webkit-scrollbar{display:none}
.mg-navstrip__link{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;min-width:44px;
  font-size:.68rem;letter-spacing:.18em;font-weight:400;
  color:rgba(247,243,238,.72);
  white-space:nowrap;
  transition:color .35s;
}
.mg-navstrip__link::after{
  content:"";
  position:absolute;left:0;right:0;bottom:.55rem;
  height:1px;
  background:var(--mg-rose);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .4s var(--mg-ease);
}
.mg-navstrip__link:hover{color:var(--mg-pearl)}
.mg-navstrip__link:hover::after{transform:scaleX(1)}
.mg-navstrip__link[aria-current=page]{color:var(--mg-rose)}
.mg-navstrip__link[aria-current=page]::after{transform:scaleX(1)}

.mg-kicker{font:500 .62rem var(--mg-serif);letter-spacing:.25em;color:var(--mg-rose-deep);margin:0 0 .6rem}
.mg-heading{margin-bottom:3.5rem}
.mg-heading h2{font:500 clamp(2.4rem,5vw,4.6rem)/1.25 var(--mg-serif);margin:.2em 0}
.mg-heading h2 i{color:var(--mg-rose-deep);font-style:italic;font-weight:500}
.mg-heading--row{display:flex;justify-content:space-between;align-items:end;gap:2rem}
.mg-btn{
  position:relative;isolation:isolate;
  display:inline-flex;justify-content:space-between;align-items:center;gap:2.5rem;
  min-width:13.5rem;min-height:44px;
  padding:1rem 1.25rem;
  border:1px solid var(--mg-rose);
  background:transparent;
  font-size:.65rem;letter-spacing:.18em;color:inherit;
  cursor:pointer;overflow:hidden;
}
.mg-btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(110deg,var(--mg-ink),var(--mg-rose-deep),var(--mg-ink));
  background-size:220%;
  transform:translateX(-101%);
  transition:transform .6s;
}
.mg-btn:hover{color:var(--mg-pearl)}
.mg-btn:hover::before{transform:none}
.mg-link{
  font:500 .62rem var(--mg-serif);letter-spacing:.18em;
  border-bottom:1px solid var(--mg-rose);padding-bottom:.35rem;
}

.mg-hero__photo{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;
  animation:mgKenburns 22s ease-in-out infinite alternate;
  will-change:transform;
}
.mg-kenburns{isolation:isolate}
.mg-kenburns::after{display:none}
.mg-craft__image.mg-kenburns::after,
.mg-about__image.mg-kenburns::after,
.mg-feature__image.mg-kenburns::after{z-index:0}

.mg-hero{
  position:relative;
  min-height:calc(100svh - var(--mg-mast-h) - var(--mg-nav-h));
  display:grid;place-items:center;
  overflow:hidden;
  color:var(--mg-ink);
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%,rgba(196,145,127,.18),transparent 68%),
    radial-gradient(circle at 12% 78%,rgba(196,145,127,.1),transparent 42%),
    radial-gradient(circle at 88% 18%,rgba(28,23,20,.05),transparent 40%),
    linear-gradient(180deg,#faf7f4 0%,var(--mg-pearl) 48%,#efe6dc 100%);
  padding:clamp(1.75rem,4.5vw,3.25rem) 1.25rem clamp(2.25rem,5.5vw,3.75rem);
}
.mg-hero__bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.mg-hero__bg img{
  width:100%;height:100%;object-fit:cover;
  opacity:.16;
  transform:scale(1.04);
  filter:saturate(.85) contrast(.95);
}
.mg-hero__bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(250,247,244,.72) 0%,rgba(247,243,238,.55) 42%,rgba(239,230,220,.78) 100%),
    radial-gradient(ellipse 55% 50% at 50% 45%,rgba(255,255,255,.35),transparent 70%);
}
.mg-hero__bloom{
  position:absolute;inset:3.5% 2.5%;z-index:1;pointer-events:none;
  border:1px solid rgba(196,145,127,.32);
  border-radius:2.75rem;
  background:
    radial-gradient(ellipse 80% 55% at 50% 8%,rgba(196,145,127,.1),transparent 58%),
    linear-gradient(165deg,rgba(255,255,255,.42),rgba(255,255,255,.12));
  box-shadow:
    inset 0 0 90px rgba(196,145,127,.07),
    0 28px 60px rgba(28,23,20,.06);
}
.mg-hero__orb{
  position:absolute;z-index:1;pointer-events:none;border-radius:50%;
  filter:blur(2px);
}
.mg-hero__orb--a{
  width:min(28vw,14rem);aspect-ratio:1;
  left:6%;top:18%;
  background:radial-gradient(circle at 35% 35%,rgba(196,145,127,.35),rgba(196,145,127,.05) 68%,transparent 72%);
  animation:mgOrbDrift 11s ease-in-out infinite;
}
.mg-hero__orb--b{
  width:min(22vw,11rem);aspect-ratio:1;
  right:7%;bottom:16%;
  background:radial-gradient(circle at 40% 40%,rgba(28,23,20,.1),transparent 70%);
  animation:mgOrbDrift 14s ease-in-out infinite reverse;
}
.mg-hero__panel{
  position:relative;z-index:2;
  width:min(920px,100%);
  text-align:center;
}
.mg-hero h1{
  margin:.1em 0 .35rem;
  font:600 clamp(2.6rem,7.5vw,5.4rem)/.92 var(--mg-serif);
  letter-spacing:.2em;
  color:var(--mg-ink);
}
.mg-hero__sub{
  margin:0 auto 1.35rem;
  max-width:22rem;
  font-family:var(--mg-serif);
  font-size:clamp(.95rem,1.8vw,1.15rem);
  letter-spacing:.08em;
  color:var(--mg-muted);
}
.mg-hero__sub i{
  font-style:italic;
  color:var(--mg-rose-deep);
}
.mg-hero .mg-kicker{color:var(--mg-rose-deep)}
.mg-hero__stage{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(.85rem,2.8vw,2.25rem);
  margin:0 auto 1.1rem;
  max-width:42rem;
}
.mg-hero__flank{
  margin:0;
  font:500 clamp(1.05rem,2.4vw,1.55rem)/1 var(--mg-serif);
  letter-spacing:.42em;
  writing-mode:vertical-rl;
  color:var(--mg-ink);
  opacity:.88;
  animation:mgFlankIn .9s var(--mg-ease) both;
}
.mg-hero__flank--right{animation-delay:.12s}
.mg-hero__viewport{
  position:relative;
  width:min(100%,20.5rem);
  margin-inline:auto;
}
.mg-hero__stack{
  position:relative;
  width:100%;
  aspect-ratio:1;
  margin-inline:auto;
  animation:mgHeroFloat 7.5s ease-in-out infinite;
}
.mg-hero__fan,
.mg-hero__slides{
  position:absolute;inset:0;
  border-radius:50%;
  overflow:hidden;
}
.mg-hero__fan{
  background:var(--mg-pearl-warm);
  box-shadow:0 18px 40px rgba(28,23,20,.1);
  transition:transform .85s var(--mg-ease),opacity .85s;
}
.mg-hero__fan img{width:100%;height:100%;object-fit:cover;opacity:.88}
.mg-hero__fan--a{transform:rotate(-14deg) translate(-18%,6%) scale(.9);z-index:0;opacity:.75}
.mg-hero__fan--b{transform:rotate(11deg) translate(16%,-4%) scale(.92);z-index:1;opacity:.8}
.mg-hero__fan--c{transform:rotate(-4deg) translate(2%,14%) scale(.88);z-index:0;opacity:.55}
.mg-hero__slides{
  z-index:3;
  inset:4%;
  border:3px solid rgba(255,255,255,.72);
  box-shadow:
    0 24px 48px rgba(28,23,20,.14),
    0 0 0 1px rgba(196,145,127,.25);
  background:var(--mg-ink-soft);
}
.mg-hero__slide{
  position:absolute;inset:0;margin:0;
  opacity:0;transform:scale(1.06) rotate(-1.5deg);
  transition:opacity .8s var(--mg-ease),transform .8s var(--mg-ease);
  pointer-events:none;
}
.mg-hero__slide.is-active{opacity:1;transform:none;pointer-events:auto;z-index:1}
.mg-hero__slide img{
  width:100%;height:100%;object-fit:cover;
  animation:mgKenburns 16s ease-in-out infinite alternate;
}
.mg-hero__slide:not(.is-active) img{animation:none}
.mg-hero__nav{
  position:absolute;top:50%;z-index:4;
  translate:0 -50%;
  width:2.35rem;height:2.35rem;
  border-radius:50%;
  border:1px solid rgba(28,23,20,.14);
  background:rgba(255,255,255,.82);
  color:var(--mg-ink);
  font:500 1.35rem/1 var(--mg-serif);
  cursor:pointer;
  backdrop-filter:blur(6px);
  box-shadow:0 8px 18px rgba(28,23,20,.08);
  transition:background .3s,color .3s,transform .3s var(--mg-ease);
}
.mg-hero__nav:hover{
  background:var(--mg-ink);color:var(--mg-pearl);
  transform:scale(1.05);
}
.mg-hero__nav--prev{left:-.35rem}
.mg-hero__nav--next{right:-.35rem}
.mg-hero__caption{
  margin:.15rem 0 .35rem;
  min-height:1.4em;
  font-family:var(--mg-serif);
  font-size:.92rem;
  letter-spacing:.22em;
  color:var(--mg-rose-deep);
  transition:opacity .35s,transform .35s;
}
.mg-hero__caption.is-swap{opacity:0;transform:translateY(.35rem)}
.mg-hero__tagline{
  margin:0 0 1.1rem;
  font-family:var(--mg-serif);
  font-size:clamp(1rem,1.8vw,1.2rem);
  letter-spacing:.1em;
  color:var(--mg-muted);
}
.mg-hero__cta{
  display:inline-flex;
  margin:0 auto 1.35rem;
  color:var(--mg-pearl);
  background:var(--mg-ink);
  border-color:var(--mg-ink);
  min-width:12rem;gap:1rem;padding:.9rem 1.25rem;
}
.mg-hero__cta::before{display:none}
.mg-hero__cta:hover{background:var(--mg-rose-deep);border-color:var(--mg-rose-deep);color:var(--mg-pearl)}
.mg-hero__controls{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:.65rem 1rem;
}
.mg-hero__index,
.mg-hero__total{
  font-family:var(--mg-serif);
  font-size:.85rem;
  letter-spacing:.16em;
  color:var(--mg-muted);
}
.mg-hero__progress{
  width:min(7.5rem,22vw);height:2px;
  background:rgba(28,23,20,.12);
  overflow:hidden;border-radius:99px;
}
.mg-hero__progress i{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--mg-rose),var(--mg-rose-deep));
  transform-origin:left center;
}
.mg-hero__progress i.is-run{
  animation:mgHeroBar 5s linear forwards;
}
.mg-hero__dots{display:flex;justify-content:center;gap:.55rem;margin-left:.25rem}
.mg-hero__dot{
  width:.5rem;height:.5rem;padding:0;border:none;border-radius:50%;
  background:rgba(28,23,20,.2);cursor:pointer;
  transition:width .35s var(--mg-ease),background .35s,border-radius .35s;
}
.mg-hero__dot.is-active{width:1.55rem;border-radius:999px;background:var(--mg-rose-deep)}
@keyframes mgHeroFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
@keyframes mgOrbDrift{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(10px,-14px) scale(1.06)}
}
@keyframes mgFlankIn{
  from{opacity:0;transform:translateY(.75rem)}
  to{opacity:.88;transform:none}
}
@keyframes mgHeroBar{
  from{width:0}
  to{width:100%}
}
@keyframes mgPulse{
  from{opacity:.55;transform:scale(1)}
  to{opacity:1;transform:scale(1.08)}
}
@keyframes mgKenburns{
  from{transform:scale(1.03) translate3d(0,0,0)}
  to{transform:scale(1.12) translate3d(-1.5%,-1%,0)}
}

.mg-materials{background:
  radial-gradient(ellipse 700px 400px at 10% 0%,rgba(196,145,127,.12),transparent 55%),
  linear-gradient(130deg,var(--mg-pearl-warm),var(--mg-pearl) 48%,#e8dfd6)}
.mg-material-grid{display:grid;grid-template-columns:repeat(3,1fr);min-height:32rem;gap:1.1rem}
.mg-material{
  position:relative;display:flex;flex-direction:column;justify-content:end;
  padding:1.4rem;color:var(--mg-pearl);overflow:hidden;
  filter:saturate(.78);transition:.5s var(--mg-ease);
  min-height:28rem;
}
.mg-material > *{position:relative;z-index:2}
.mg-material::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(28,23,20,.9),transparent 65%);
}
.mg-material span{font:500 .6rem var(--mg-serif);letter-spacing:.18em;color:var(--mg-rose)}
.mg-material h3{font-size:.9rem;transform:translateY(1rem);opacity:.3;transition:.4s;margin:0}
.mg-material:hover{transform:translateY(-8px);filter:saturate(1);box-shadow:0 22px 40px rgba(28,23,20,.2)}
.mg-material:hover h3{transform:none;opacity:1}

.mg-signatures{background:
  radial-gradient(ellipse 600px 360px at 90% 0%,rgba(196,145,127,.1),transparent 55%),
  linear-gradient(180deg,#faf6f1 0%,var(--mg-pearl) 100%)}
.mg-mosaic{
  display:grid;
  grid-template-columns:1.2fr .75fr 1.05fr .9fr;
  grid-template-rows:15rem 11rem 17rem;
  gap:.7rem;
}
.mg-product{position:relative;color:var(--mg-pearl);overflow:hidden;transition:.45s var(--mg-ease);min-height:11rem}
.mg-product::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(28,23,20,.88),transparent 58%);
}
.mg-product:nth-child(1){grid-row:1 / span 2;grid-column:1}
.mg-product:nth-child(2){grid-column:2 / span 2}
.mg-product:nth-child(3){grid-column:4;grid-row:1 / span 2}
.mg-product:nth-child(4){grid-column:2}
.mg-product:nth-child(5){grid-column:1 / span 2;grid-row:3}
.mg-product:nth-child(6){grid-column:3 / span 2;grid-row:3}
.mg-product>span,.mg-product>div{position:absolute;z-index:2}
.mg-product>span{top:1rem;right:1rem;font:500 .6rem var(--mg-serif);color:var(--mg-rose)}
.mg-product>div{left:1.35rem;bottom:1.1rem}
.mg-product small{letter-spacing:.2em;color:var(--mg-rose)}
.mg-product h3{font:500 1.2rem var(--mg-serif);margin:.2rem 0}
.mg-product:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(28,23,20,.22)}
.mg-product:hover::before{
  content:"";position:absolute;inset:0;z-index:3;
  background:linear-gradient(115deg,transparent 35%,rgba(255,228,214,.22) 48%,transparent 60%);
  animation:mgShine .75s forwards;
}
@keyframes mgShine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

.mg-craft{
  display:grid;grid-template-columns:1.15fr .85fr;
  min-height:46rem;background:var(--mg-ink);color:var(--mg-pearl);
  position:relative;overflow:hidden;
}
.mg-craft__image{min-height:38rem;position:relative;overflow:hidden}
.mg-craft__copy{padding:6.5vw;align-self:center;position:relative;z-index:2}
.mg-craft--overlap .mg-craft__image{clip-path:inset(0 8% 0 0)}
.mg-craft--overlap .mg-craft__copy{
  margin-left:-4.5vw;
  padding:3.2rem 3rem;
  background:rgba(28,23,20,.88);
  border:1px solid rgba(196,145,127,.28);
  box-shadow:-18px 22px 60px rgba(0,0,0,.35);
  backdrop-filter:blur(6px);
}
.mg-craft h2,.mg-visit h2{font:500 clamp(2.4rem,5vw,4.6rem)/1.35 var(--mg-serif)}
.mg-craft h2 i,.mg-visit h2 i{color:var(--mg-rose);font-style:italic}
.mg-craft__copy>p:not(.mg-kicker){color:rgba(247,243,238,.68);margin-bottom:2rem}
.mg-craft .mg-kicker,.mg-visit .mg-kicker{color:var(--mg-rose)}
.mg-craft .mg-link{color:var(--mg-pearl);border-color:var(--mg-rose)}

.mg-lookbook{background:var(--mg-ink-soft);color:var(--mg-pearl)}
.mg-lookbook .mg-heading h2 i{color:var(--mg-rose)}
.mg-lookbook .mg-kicker{color:var(--mg-rose)}
.mg-looks{
  display:grid;grid-template-columns:1.35fr .9fr .95fr;
  grid-template-rows:28rem;gap:.75rem;
}
.mg-looks figure{margin:0;position:relative;overflow:hidden;transition:.5s var(--mg-ease);min-height:22rem}
.mg-looks figcaption{
  position:absolute;left:1rem;bottom:1rem;z-index:2;
  font:500 .55rem var(--mg-serif);letter-spacing:.2em;color:var(--mg-pearl);
}
.mg-looks figure:hover{transform:scale(.985);filter:saturate(1.15)}

.mg-journal{background:var(--mg-pearl)}
.mg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.mg-card__image{height:24rem;margin-bottom:1.1rem;transition:.4s var(--mg-ease);overflow:hidden}
.mg-card small{font:500 .58rem var(--mg-serif);letter-spacing:.15em;color:var(--mg-rose-deep)}
.mg-card h3{font:500 1.15rem/1.6 var(--mg-serif);margin:.55rem 0}
.mg-card>span{font:500 .54rem var(--mg-serif);letter-spacing:.16em}
.mg-card>p{font-size:.82rem;color:var(--mg-muted)}
.mg-card:hover .mg-card__image{transform:translateY(-7px);box-shadow:0 16px 36px rgba(28,23,20,.14)}

.mg-faq{background:linear-gradient(115deg,#e8dfd6,var(--mg-pearl))}
.mg-faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem}
.mg-faq details{border-top:1px solid var(--mg-line);padding:1.35rem 0}
.mg-faq details:last-child{border-bottom:1px solid var(--mg-line)}
.mg-faq summary{
  list-style:none;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;font-weight:400;gap:1rem;min-height:44px;
}
.mg-faq summary::-webkit-details-marker{display:none}
.mg-faq summary span{color:var(--mg-rose-deep);transition:.3s}
.mg-faq details[open] summary span{transform:rotate(45deg)}
.mg-faq details p{font-size:.82rem;color:var(--mg-muted);padding-right:2.5rem;margin:1rem 0 0}

.mg-visit{
  min-height:44rem;display:grid;place-items:center;text-align:center;
  color:var(--mg-pearl);position:relative;overflow:hidden;
}
.mg-visit::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(circle at 50% 12%,rgba(196,145,127,.28),transparent 38%),
    linear-gradient(160deg,rgba(28,23,20,.72),rgba(42,34,30,.82) 55%,rgba(28,23,20,.88)),
    rgba(28,23,20,.76);
}
.mg-visit>div{position:relative;z-index:2}
.mg-visit>div>p:not(.mg-kicker){font-size:.72rem;letter-spacing:.18em}

.mg-footer{background:#0e0b0a;color:rgba(247,243,238,.6);padding:5.5rem 0 2rem}
.mg-footer__grid{display:grid;grid-template-columns:1.5fr 1fr .75fr;gap:4rem}
.mg-footer__logo{
  display:block;font:500 2rem var(--mg-serif);letter-spacing:.2em;color:var(--mg-rose);margin-bottom:.8rem;
}
.mg-footer__jp{font-size:.72rem;letter-spacing:.08em}
.mg-footer address{font-style:normal;font-size:.72rem}
.mg-footer address b{font:500 .6rem var(--mg-serif);letter-spacing:.18em;color:var(--mg-rose)}
.mg-footer nav{display:grid;gap:.4rem;font-size:.7rem}
.mg-footer nav a:hover{color:var(--mg-rose)}
.mg-footer__bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:3.5rem;padding-top:1.1rem;
  display:flex;justify-content:space-between;
  font:500 .48rem var(--mg-serif);letter-spacing:.2em;
}

.mg-page-hero{
  min-height:62vh;padding:8rem 8vw 5rem;
  display:flex;align-items:end;position:relative;color:var(--mg-pearl);overflow:hidden;
  margin-top:calc(-1 * (var(--mg-mast-h) + var(--mg-nav-h)));
  padding-top:calc(var(--mg-mast-h) + var(--mg-nav-h) + 5rem);
}
.mg-page-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(28,23,20,.92),rgba(28,23,20,.35) 60%,rgba(28,23,20,.22)),
    radial-gradient(ellipse 60% 50% at 80% 40%,rgba(196,145,127,.2),transparent 65%);
}
.mg-page-hero>div{position:relative;z-index:2}
.mg-page-hero h1{font:500 clamp(3.2rem,7vw,6.2rem)/1 var(--mg-serif);margin:.25em 0}
.mg-page-hero h1 i{color:var(--mg-rose);font-style:italic}
.mg-page-hero .mg-kicker{color:var(--mg-rose)}
.mg-filter{
  display:flex;justify-content:center;gap:2.2rem;padding:1.2rem 1rem;
  background:var(--mg-ink);color:var(--mg-pearl);
  position:sticky;top:calc(var(--mg-mast-h) + var(--mg-nav-h));z-index:40;
  overflow-x:auto;
}
.mg-filter a{font:500 .58rem var(--mg-serif);letter-spacing:.16em;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.mg-filter a:hover{color:var(--mg-rose)}
.mg-collections{padding:7rem 0}
.mg-collection{
  display:grid;grid-template-columns:1.1fr .9fr;align-items:center;
  min-height:34rem;margin-bottom:6rem;gap:1.5rem;
}
.mg-collection:nth-child(even){grid-template-columns:.9fr 1.1fr}
.mg-collection:nth-child(even) .mg-collection__image{order:2}
.mg-collection__image{height:100%;min-height:32rem;overflow:hidden;position:relative}
.mg-collection__copy{padding:4.5vw}
.mg-collection h2{font:500 2.5rem var(--mg-serif)}
.mg-collection p{color:var(--mg-muted)}
.mg-panel{padding:7rem 0;background:var(--mg-pearl-warm)}
.mg-panel.mg-success{padding:2rem;margin:0}
.mg-three{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--mg-line)}
.mg-three article{padding:2.6rem;background:var(--mg-pearl-warm)}
.mg-three span{font:500 .65rem var(--mg-serif);color:var(--mg-rose-deep)}
.mg-three h3{font-family:var(--mg-serif)}

.mg-editorial{
  padding:calc(var(--mg-mast-h) + var(--mg-nav-h) + 5rem) 7vw 5rem;
  margin-top:calc(-1 * (var(--mg-mast-h) + var(--mg-nav-h)));
  background:var(--mg-ink);color:var(--mg-pearl);
}
.mg-editorial .mg-kicker{color:var(--mg-rose)}
.mg-editorial h1{font:500 clamp(3.2rem,7vw,6.2rem) var(--mg-serif)}
.mg-editorial h1 i{color:var(--mg-rose);font-style:italic}
.mg-feature{display:grid;grid-template-columns:1.2fr .8fr;min-height:36rem}
.mg-feature__image{min-height:30rem;position:relative;overflow:hidden}
.mg-feature__copy{padding:4.5vw;align-self:center}
.mg-feature h2{font:500 2.1rem/1.5 var(--mg-serif)}
.mg-archive{padding:7rem 0}

.mg-about{
  display:grid;grid-template-columns:1fr 1fr;min-height:88vh;
  background:var(--mg-ink);color:var(--mg-pearl);
  margin-top:calc(-1 * (var(--mg-mast-h) + var(--mg-nav-h)));
}
.mg-about__image{min-height:42rem;padding-top:calc(var(--mg-mast-h) + var(--mg-nav-h));position:relative;overflow:hidden}
.mg-about__copy{padding:8vw;align-self:center}
.mg-about .mg-kicker{color:var(--mg-rose)}
.mg-about h1{font:500 clamp(2.8rem,5.5vw,5.4rem) var(--mg-serif)}
.mg-about h1 i{color:var(--mg-rose);font-style:italic}
.mg-manifesto{font:500 clamp(1.9rem,4.5vw,4.4rem)/1.55 var(--mg-serif)}
.mg-manifesto i{color:var(--mg-rose-deep);font-style:italic}

.mg-contact{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw}
.mg-contact address{font-style:normal}
.mg-contact address p{border-top:1px solid var(--mg-line);padding-top:1rem}
.mg-form{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.mg-form label{display:grid;gap:.35rem;font-size:.72rem}
.mg-form input,.mg-form select,.mg-form textarea{
  border:0;border-bottom:1px solid var(--mg-line);
  background:transparent;padding:.85rem .25rem;outline:0;
}
.mg-form input:focus,.mg-form textarea:focus,.mg-form select:focus{border-color:var(--mg-rose-deep)}
.mg-wide{grid-column:span 2}
.mg-form .mg-btn{background:var(--mg-ink);color:var(--mg-pearl)}

.mg-not-found{
  min-height:calc(100svh - var(--mg-mast-h) - var(--mg-nav-h));
  display:grid;place-items:center;text-align:center;
  background:radial-gradient(circle at 50% 15%,#3a2c28,var(--mg-ink) 55%);
  color:var(--mg-pearl);padding:3rem;
  margin-top:calc(-1 * (var(--mg-mast-h) + var(--mg-nav-h)));
  padding-top:calc(var(--mg-mast-h) + var(--mg-nav-h) + 2rem);
}
.mg-not-found b{
  display:block;font:500 clamp(7rem,22vw,16rem)/.7 var(--mg-serif);
  color:rgba(196,145,127,.18);
}
.mg-not-found h1{font:500 clamp(1.9rem,4vw,3.6rem) var(--mg-serif)}
.mg-not-found .mg-kicker{color:var(--mg-rose)}
.mg-not-found .mg-btn{color:var(--mg-pearl)}

.mg-reveal{opacity:1;transform:none}
.mg-js .mg-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s var(--mg-ease),transform .9s var(--mg-ease);
}
.mg-js .mg-reveal.mg-visible{opacity:1;transform:none}
.mg-js .mg-mosaic .mg-reveal:nth-child(2){transition-delay:.06s}
.mg-js .mg-mosaic .mg-reveal:nth-child(3){transition-delay:.12s}
.mg-js .mg-mosaic .mg-reveal:nth-child(4){transition-delay:.18s}
.mg-js .mg-mosaic .mg-reveal:nth-child(5){transition-delay:.24s}
.mg-js .mg-mosaic .mg-reveal:nth-child(6){transition-delay:.3s}
.mg-js .mg-material-grid .mg-reveal:nth-child(2){transition-delay:.08s}
.mg-js .mg-material-grid .mg-reveal:nth-child(3){transition-delay:.16s}
.mg-js .mg-looks .mg-reveal:nth-child(2){transition-delay:.1s}
.mg-js .mg-looks .mg-reveal:nth-child(3){transition-delay:.2s}
.mg-js .mg-cards .mg-reveal:nth-child(2){transition-delay:.08s}
.mg-js .mg-cards .mg-reveal:nth-child(3){transition-delay:.16s}

.mg-stats{
  padding:4.5rem 0 3.8rem;
  background:
    radial-gradient(ellipse 70% 60% at 0% 0%,rgba(196,145,127,.14),transparent 55%),
    linear-gradient(180deg,#efe8e0 0%,var(--mg-pearl) 100%);
  border-bottom:1px solid var(--mg-line);
}
.mg-stats__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.25rem;
  align-items:stretch;
}
.mg-stat{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  aspect-ratio:1;width:100%;max-width:11.5rem;margin-inline:auto;
  padding:1.35rem 1rem;
  text-align:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.72),transparent 52%),
    radial-gradient(circle at 70% 78%,rgba(196,145,127,.16),transparent 55%),
    rgba(247,243,238,.92);
  border:1px solid rgba(196,145,127,.28);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
  transition:transform .45s var(--mg-ease),border-color .45s;
}
.mg-stat:hover{transform:scale(1.04);border-color:rgba(196,145,127,.5)}
.mg-stat::before{display:none}
.mg-stat__value{
  margin:0;font:500 clamp(1.65rem,2.8vw,2.35rem)/1 var(--mg-serif);
  letter-spacing:.02em;color:var(--mg-ink);
}
.mg-stat__label{
  margin:.55rem 0 0;font-size:.58rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mg-muted);font-weight:500;
}

.mg-trust{
  overflow:hidden;
  border-block:1px solid rgba(196,145,127,.35);
  background:var(--mg-ink);color:var(--mg-rose);
  font:500 .72rem/2.55 var(--mg-serif);letter-spacing:.22em;white-space:nowrap;
}
.mg-trust__track{display:inline-flex;width:max-content;animation:mg-trust 34s linear infinite}
.mg-trust__track i{margin:0 1.2rem;opacity:.4;font-style:normal;color:var(--mg-pearl)}
@keyframes mg-trust{to{transform:translateX(-50%)}}

/* Magazine jewel dials */
.mg-meters{
  background:
    radial-gradient(ellipse 50% 40% at 100% 0%,rgba(196,145,127,.1),transparent 50%),
    linear-gradient(165deg,var(--mg-pearl-warm),var(--mg-pearl));
}
.mg-meters__strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1.25rem,3vw,2.4rem);
  margin-top:2.75rem;
  padding:2rem 0 0;
  border-top:1px solid rgba(196,145,127,.28);
}
.mg-dial{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;min-width:0;
  transition:transform .45s var(--mg-ease);
}
.mg-dial:hover{transform:scale(1.035)}
.mg-js .mg-meters__strip .mg-reveal:nth-child(1){transition-delay:.04s}
.mg-js .mg-meters__strip .mg-reveal:nth-child(2){transition-delay:.12s}
.mg-js .mg-meters__strip .mg-reveal:nth-child(3){transition-delay:.2s}
.mg-js .mg-meters__strip .mg-reveal:nth-child(4){transition-delay:.28s}
.mg-dial__jewel{
  position:relative;
  width:min(100%,9.5rem);
  aspect-ratio:1;
}
.mg-dial__svg{
  display:block;width:100%;height:100%;
  transform:rotate(-90deg);
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.5));
}
.mg-dial__track{
  stroke:rgba(196,145,127,.22);
  stroke-width:1.15;
}
.mg-dial__fill{
  stroke:var(--mg-rose);
  stroke-width:1.35;
  stroke-linecap:round;
  transition:stroke-dasharray 1.45s var(--mg-ease);
}
.mg-dial:nth-child(2) .mg-dial__fill{stroke:var(--mg-rose-deep)}
.mg-dial:nth-child(3) .mg-dial__fill{stroke:#b88472}
.mg-dial:nth-child(4) .mg-dial__fill{stroke:#c9a090}
.mg-dial__core{
  position:absolute;inset:0;
  display:grid;place-items:center;
  pointer-events:none;
}
.mg-dial__core strong{
  font:500 clamp(1.35rem,2.4vw,1.85rem)/1 var(--mg-serif);
  letter-spacing:.04em;color:var(--mg-ink);
}
.mg-dial__index{
  margin:.95rem 0 0;
  font:500 .62rem/1 var(--mg-serif);
  letter-spacing:.28em;color:var(--mg-rose-deep);
}
.mg-dial__label{
  margin:.4rem 0 0;
  font-size:.78rem;letter-spacing:.06em;color:var(--mg-muted);
  max-width:9em;
}

@media(max-width:960px){
  .mg-shell{width:min(100% - 2.4rem,720px)}
  .mg-section{padding:5.5rem 0}
  .mg-material-grid{grid-template-columns:1fr 1fr}
  .mg-material{min-height:20rem}
  .mg-material-grid .mg-material:last-child{grid-column:span 2}
  .mg-mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:20rem 16rem 18rem 16rem;
  }
  .mg-product:nth-child(1),.mg-product:nth-child(2),.mg-product:nth-child(3),
  .mg-product:nth-child(4),.mg-product:nth-child(5),.mg-product:nth-child(6){
    grid-column:auto;grid-row:auto;
  }
  .mg-product:nth-child(1){grid-row:span 1;grid-column:1 / span 2}
  .mg-product:nth-child(5){grid-column:1 / span 2}
  .mg-craft{grid-template-columns:1fr}
  .mg-craft--overlap .mg-craft__image{clip-path:none}
  .mg-craft--overlap .mg-craft__copy{margin:-3.5rem 1.2rem 0;padding:2.4rem 1.6rem}
  .mg-craft__copy{padding:4rem 1.6rem}
  .mg-looks{grid-template-columns:1fr 1fr;grid-template-rows:23rem 20rem}
  .mg-looks figure:first-child{grid-column:span 2}
  .mg-cards{grid-template-columns:1fr 1fr}
  .mg-faq__grid{grid-template-columns:1fr;gap:2rem}
  .mg-footer__grid{grid-template-columns:1fr 1fr}
  .mg-collection,.mg-collection:nth-child(even){grid-template-columns:1fr}
  .mg-collection:nth-child(even) .mg-collection__image{order:0}
  .mg-feature,.mg-about,.mg-contact{grid-template-columns:1fr}
  .mg-three{grid-template-columns:1fr}
  .mg-about__copy{padding:4rem 1.6rem}
  .mg-frame::before{transform:translate(6px,6px)}
  .mg-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mg-meters__strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem}
  .mg-hero__stage{gap:1rem}
  .mg-hero__viewport{width:min(100%,17.5rem)}
  .mg-hero__bg img{opacity:.12}
}

@media(max-width:560px){
  :root{--mg-mast-h:5.6rem;--mg-nav-h:2.7rem}
  .mg-shell{width:calc(100% - 1.8rem)}
  .mg-heading--row{display:block}
  .mg-heading--row .mg-link{display:inline-block;margin-top:1rem}
  .mg-masthead__meta span:nth-child(n+5){display:none}
  .mg-masthead__brand{font-size:1.55rem;letter-spacing:.22em}
  .mg-navstrip__inner{justify-content:flex-start;gap:1.4rem}
  .mg-hero h1{font-size:clamp(2.4rem,10vw,3.6rem);letter-spacing:.14em}
  .mg-hero{
    min-height:auto;
    padding:1.5rem 1rem 2rem;
  }
  .mg-hero__stage{grid-template-columns:1fr;gap:.85rem}
  .mg-hero__flank{writing-mode:horizontal-tb;letter-spacing:.28em}
  .mg-hero__flank--left{order:1}
  .mg-hero__viewport{order:2;width:min(72vw,17rem)}
  .mg-hero__flank--right{order:3}
  .mg-hero__nav{width:2.1rem;height:2.1rem;font-size:1.15rem}
  .mg-hero__nav--prev{left:-.15rem}
  .mg-hero__nav--next{right:-.15rem}
  .mg-hero__bloom{inset:2% 1.5%;border-radius:1.5rem}
  .mg-hero__orb{opacity:.45}
  .mg-hero__bg img{opacity:.1}
  .mg-hero__controls{gap:.5rem .75rem}
  .mg-hero__progress{width:min(5.5rem,28vw)}
  .mg-hero__cta{min-width:0;width:min(100%,16rem);justify-content:center}
  .mg-material-grid{grid-template-columns:1fr}
  .mg-material-grid .mg-material:last-child{grid-column:auto}
  .mg-material{min-height:15rem;padding:1rem}
  .mg-mosaic{display:block}
  .mg-product{height:23rem;margin-bottom:.7rem;display:block}
  .mg-looks{grid-template-columns:1fr;grid-template-rows:none}
  .mg-looks figure:first-child{grid-column:auto}
  .mg-looks figure{min-height:18rem}
  .mg-cards{grid-template-columns:1fr}
  .mg-card__image{height:22rem}
  .mg-footer__grid{grid-template-columns:1fr;gap:2rem}
  .mg-footer__bottom{display:block;gap:1rem}
  .mg-form{grid-template-columns:1fr}
  .mg-wide{grid-column:auto}
  .mg-page-hero{padding-inline:1.2rem;min-height:520px}
  .mg-frame::before{display:none}
  .mg-stats{padding:3rem 0 2.5rem}
  .mg-stats__grid{gap:.9rem}
  .mg-stat{max-width:9.5rem;padding:1.1rem .75rem}
  .mg-stat__value{font-size:1.55rem}
  .mg-dial__jewel{width:min(100%,8.25rem)}
  .mg-meters__strip{gap:1.6rem 1rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .mg-js .mg-reveal{opacity:1;transform:none}
  .mg-kenburns::after{transform:none!important}
  .mg-trust__track{animation:none!important}
  .mg-hero__stack{animation:none!important}
  .mg-hero__slide{transition:none!important}
  .mg-hero__orb,.mg-hero__flank,.mg-hero__slide img{animation:none!important}
  .mg-hero__progress i{animation:none!important;width:100%!important}
}
