/*
Theme Name: Master G Organics
Theme URI: https://mastergorganics.com/
Author: Master G Organics
Author URI: https://mastergorganics.com/
Description: Custom organic wellness e-commerce theme for Master G Organics — botanical oils, skincare, haircare, massage and traditional wellness essentials. WooCommerce-ready.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mgo
*/

/* ===== from 00-global-setup.html ===== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500;1,9..144,600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --mgo-ink:#20281f;
  --mgo-forest:#2f4a3d;
  --mgo-forest-deep:#182720;
  --mgo-gold:#c9a15a;
  --mgo-gold-deep:#a67c3d;
  --mgo-amber:#d98e3f;
  --mgo-ivory:#faf6ef;
  --mgo-sand:#f1ebdd;
  --mgo-white:#ffffff;
  --mgo-line:rgba(32,40,31,.14);
  --mgo-shadow:0 20px 45px -20px rgba(32,40,31,.28);
  --mgo-radius:18px;
  --mgo-display:'Fraunces', serif;
  --mgo-body:'Manrope', sans-serif;
}

.mgo-eyebrow{
  font-family:var(--mgo-body);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--mgo-gold-deep);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.mgo-eyebrow::before{
  content:"";width:22px;height:1.5px;background:var(--mgo-gold-deep);display:inline-block;
  transform-origin:left; transform:scaleX(0); transition:transform .7s cubic-bezier(.2,.8,.2,1) .25s;
}
.mgo-reveal.mgo-in .mgo-eyebrow::before{transform:scaleX(1)}

.mgo-btn-primary,.mgo-btn-outline{
  position:relative;
  font-family:var(--mgo-body);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.01em;
  padding:15px 32px;
  border-radius:999px;
  border:1.5px solid var(--mgo-gold);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:0;
  text-decoration:none;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, background .45s ease, background-position .55s ease, color .3s ease, gap .35s ease;
}

/* animated arrow that slides in on hover — pure CSS, no markup changes needed */
.mgo-btn-primary::after,.mgo-btn-outline::after{
  content:"→";
  display:inline-block;
  width:0;
  opacity:0;
  transform:translateX(-8px);
  overflow:hidden;
  transition:width .35s ease, opacity .35s ease, transform .35s ease, margin-left .35s ease;
}
.mgo-btn-primary:hover::after,.mgo-btn-outline:hover::after{
  width:16px; opacity:1; transform:translateX(0); margin-left:6px;
}

.mgo-btn-primary{
  color:var(--mgo-forest-deep);
  background:linear-gradient(100deg, var(--mgo-gold) 42%, #f2ddb0 51%, var(--mgo-gold) 60%);
  background-size:260% 100%;
  background-position:100% 0;
}
.mgo-btn-primary:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 18px 32px -10px rgba(201,161,90,.6);
  background-position:0 0;
}
.mgo-btn-primary:active{transform:translateY(-1px) scale(.97); box-shadow:0 8px 18px -8px rgba(201,161,90,.5)}

.mgo-btn-outline{background:transparent;color:var(--mgo-forest)}
.mgo-btn-outline:hover{background:var(--mgo-forest);color:var(--mgo-ivory);border-color:var(--mgo-forest);transform:translateY(-3px) scale(1.03);box-shadow:0 16px 28px -12px rgba(32,40,31,.35)}
.mgo-btn-outline:active{transform:translateY(-1px) scale(.97)}
.mgo-btn-outline.mgo-on-dark{color:var(--mgo-gold);border-color:var(--mgo-gold)}
.mgo-btn-outline.mgo-on-dark:hover{background:var(--mgo-gold);color:var(--mgo-forest-deep);box-shadow:0 16px 28px -12px rgba(201,161,90,.45)}

@media (prefers-reduced-motion: reduce){
  .mgo-btn-primary,.mgo-btn-outline{transition:background .3s ease, color .3s ease}
  .mgo-btn-primary:hover,.mgo-btn-outline:hover{transform:none}
}

/* Global responsive scaling — applies to every section using these classes */
@media (max-width:480px){
  .mgo-btn-primary,.mgo-btn-outline{padding:13px 24px; font-size:.86rem}
  .mgo-eyebrow{font-size:.7rem}
}
html{-webkit-text-size-adjust:100%}
img{max-width:100%; height:auto}
* { box-sizing: border-box; }

.mgo-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1)}
.mgo-reveal.mgo-in{opacity:1;transform:translateY(0)}
.mgo-reveal.mgo-from-left{transform:translateX(-32px)}
.mgo-reveal.mgo-from-left.mgo-in{transform:translateX(0)}
.mgo-reveal.mgo-from-right{transform:translateX(32px)}
.mgo-reveal.mgo-from-right.mgo-in{transform:translateX(0)}

@media (prefers-reduced-motion: reduce){
  .mgo-reveal{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ===== from 01-header.html ===== */
.mgo-header{
  position:sticky; top:0; z-index:999;
  background:rgba(250,246,239,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--mgo-line, rgba(32,40,31,.14));
  transition:padding .35s ease, box-shadow .35s ease;
}
.mgo-header.mgo-shrink{box-shadow:0 10px 30px -18px rgba(32,40,31,.35)}
.mgo-header-inner{
  max-width:1240px; margin:0 auto; padding:20px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  transition:padding .35s ease;
}
.mgo-header.mgo-shrink .mgo-header-inner{padding:12px 28px}

.mgo-logo{
  display:flex; align-items:center; gap:10px;
  font-family:var(--mgo-display,'Fraunces',serif);
  font-weight:600; font-size:1.4rem; color:var(--mgo-forest,#2f4a3d);
  text-decoration:none; white-space:nowrap;
}
.mgo-logo svg{flex:none}

.mgo-nav{display:flex; align-items:center; gap:34px; list-style:none; margin:0; padding:0}
.mgo-nav a{
  font-family:var(--mgo-body,'Manrope',sans-serif); font-weight:600; font-size:.92rem;
  color:var(--mgo-ink,#20281f); text-decoration:none; position:relative; padding-bottom:4px;
}
.mgo-nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--mgo-gold,#c9a15a); transition:width .35s cubic-bezier(.2,.8,.2,1);
}
.mgo-nav a:hover::after{width:100%}

.mgo-header-right{display:flex; align-items:center; gap:18px}
.mgo-cart{position:relative; display:inline-flex; color:var(--mgo-forest,#2f4a3d); text-decoration:none}
.mgo-cart svg{width:22px; height:22px}
.mgo-cart-badge{
  position:absolute; top:-8px; right:-9px; background:var(--mgo-gold,#c9a15a);
  color:var(--mgo-forest-deep,#182720); font-family:var(--mgo-body,'Manrope',sans-serif);
  font-size:.65rem; font-weight:800; width:17px; height:17px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.mgo-burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px}
.mgo-burger span{width:24px; height:2px; background:var(--mgo-forest,#2f4a3d); display:block; transition:transform .3s ease, opacity .3s ease}

.mgo-mobile-panel{
  position:fixed; inset:0 0 0 auto; width:78%; max-width:320px; height:100vh;
  background:var(--mgo-ivory,#faf6ef); z-index:1001; box-shadow:-20px 0 45px -20px rgba(0,0,0,.3);
  transform:translateX(100%); transition:transform .4s cubic-bezier(.2,.8,.2,1);
  padding:26px 26px; display:flex; flex-direction:column; gap:26px;
}
.mgo-mobile-panel.mgo-open{transform:translateX(0)}
.mgo-mobile-overlay{
  position:fixed; inset:0; background:rgba(24,39,32,.45); z-index:1000; opacity:0; visibility:hidden;
  transition:opacity .35s ease, visibility .35s ease;
}
.mgo-mobile-overlay.mgo-open{opacity:1; visibility:visible}
.mgo-mobile-panel .mgo-close{align-self:flex-end; background:none; border:0; cursor:pointer}
.mgo-mobile-panel a{
  font-family:var(--mgo-display,'Fraunces',serif); font-size:1.25rem; color:var(--mgo-forest,#2f4a3d);
  text-decoration:none; padding-bottom:10px; border-bottom:1px solid var(--mgo-line,rgba(32,40,31,.14));
}

@media (max-width:900px){
  .mgo-nav{display:none}
  .mgo-burger{display:flex}
}
@media (max-width:640px){
  .mgo-header-inner{padding:16px 18px; gap:12px}
  .mgo-header.mgo-shrink .mgo-header-inner{padding:10px 18px}
  .mgo-logo{font-size:1.1rem}
  .mgo-logo svg{width:22px; height:22px}
  .mgo-header-right{gap:10px}
}
@media (max-width:400px){
  .mgo-header-right .mgo-btn-primary{display:none} /* keep header uncluttered on very small phones — Shop Now is still in hero */
}

/* ===== from 02-hero.html ===== */
.mgo-hero{
  background:linear-gradient(180deg,#fbf8f2 0%, var(--mgo-ivory,#faf6ef) 60%, var(--mgo-sand,#f1ebdd) 100%);
  padding:90px 28px 70px;
  overflow:hidden;
}
.mgo-hero-inner{
  max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
}
.mgo-hero-headline{
  font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d);
  font-size:clamp(2.5rem,4.6vw,3.9rem); line-height:1.08; margin:20px 0 22px;
}
.mgo-hero-headline em{
  font-style:italic; font-weight:500; color:var(--mgo-gold-deep,#a67c3d);
}
.mgo-hero-sub{
  font-family:var(--mgo-body,'Manrope',sans-serif); font-size:1.08rem; line-height:1.7; color:var(--mgo-ink,#20281f);
  opacity:.85; max-width:480px; margin-bottom:34px;
}
.mgo-hero-actions{display:flex; gap:16px; flex-wrap:wrap}

.mgo-hero-visual{position:relative; display:flex; align-items:center; justify-content:center}
.mgo-hero-blob{
  position:absolute; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(201,161,90,.35), rgba(47,74,61,.28) 70%);
  filter:blur(30px); z-index:0;
}
.mgo-hero-imgwrap{
  position:relative; z-index:1; width:100%; max-width:420px; border-radius:28px; overflow:hidden;
  box-shadow:var(--mgo-shadow,0 20px 45px -20px rgba(32,40,31,.28));
  animation:mgoFloat 5s ease-in-out infinite;
}
.mgo-hero-imgwrap img{display:block; width:100%; height:520px; object-fit:cover}
@keyframes mgoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}

.mgo-leaf{position:absolute; opacity:.8; z-index:2}
.mgo-leaf-1{top:6%; left:-4%; animation:mgoSpin1 7s ease-in-out infinite}
.mgo-leaf-2{bottom:12%; right:-6%; animation:mgoSpin2 6s ease-in-out infinite}
.mgo-leaf-3{top:44%; left:-10%; animation:mgoSpin1 8s ease-in-out infinite}
@keyframes mgoSpin1{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(8deg)}}
@keyframes mgoSpin2{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(12px) rotate(-10deg)}}

/* signature: infinite ingredient marquee */
.mgo-marquee{
  margin-top:70px; background:var(--mgo-forest-deep,#182720); overflow:hidden; padding:16px 0;
  position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw;
}
.mgo-marquee-track{display:flex; width:max-content; animation:mgoMarquee 32s linear infinite}
.mgo-marquee-track span{
  font-family:var(--mgo-body,'Manrope',sans-serif); font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  font-size:.9rem; color:var(--mgo-gold,#c9a15a); padding:0 26px; white-space:nowrap; display:inline-flex; align-items:center; gap:26px;
}
.mgo-marquee-track span::after{content:"✦"; color:var(--mgo-forest,#2f4a3d); opacity:.9}
@keyframes mgoMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* typewriter effect on the eyebrow tag */
.mgo-type-text{white-space:nowrap}
.mgo-cursor{
  display:inline-block; width:2px; height:1em; margin-left:3px; vertical-align:-2px;
  background:var(--mgo-gold-deep,#a67c3d); animation:mgoBlink .85s steps(1) infinite;
}
@keyframes mgoBlink{50%{opacity:0}}

@media (max-width:960px){
  .mgo-hero-inner{grid-template-columns:1fr; text-align:center}
  .mgo-hero-sub{margin-left:auto; margin-right:auto}
  .mgo-hero-actions{justify-content:center}
  .mgo-hero-imgwrap{margin:0 auto}
}
@media (max-width:680px){
  .mgo-hero{padding:56px 20px 46px}
  .mgo-hero-inner{gap:36px}
  .mgo-hero-headline{margin:14px 0 16px}
  .mgo-hero-imgwrap img{height:380px}
  .mgo-hero-blob{width:300px; height:300px}
  .mgo-hero-actions{gap:12px}
  .mgo-hero-actions .mgo-btn-primary,.mgo-hero-actions .mgo-btn-outline{flex:1 1 auto; justify-content:center}
  .mgo-marquee{margin-top:44px; padding:12px 0}
  .mgo-marquee-track span{font-size:.76rem; padding:0 16px; gap:16px}
}
@media (max-width:400px){
  .mgo-hero-imgwrap img{height:320px}
  .mgo-leaf-3{display:none}
}

/* ===== from 03-about.html ===== */
.mgo-about{background:var(--mgo-sand,#f1ebdd); padding:100px 28px}
.mgo-about-inner{max-width:1240px; margin:0 auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center}
.mgo-about-imgs{position:relative; min-height:440px}
.mgo-about-circle{
  position:absolute; width:340px; height:340px; border-radius:50%; top:0; left:6%;
  background:radial-gradient(circle, rgba(47,74,61,.18), transparent 70%); filter:blur(6px);
  animation:mgoAboutFloat 6s ease-in-out infinite;
}
@keyframes mgoAboutFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-14px)}}
.mgo-about-img1{
  position:absolute; top:0; left:0; width:78%; height:380px; border-radius:22px; overflow:hidden;
  box-shadow:var(--mgo-shadow,0 20px 45px -20px rgba(32,40,31,.28));
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.mgo-about-img2{
  position:absolute; bottom:0; right:0; width:56%; height:260px; border-radius:22px; overflow:hidden;
  border:6px solid var(--mgo-ivory,#faf6ef); box-shadow:0 18px 40px -18px rgba(32,40,31,.35);
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.mgo-about-imgs:hover .mgo-about-img1{transform:rotate(-1.5deg) scale(1.02)}
.mgo-about-imgs:hover .mgo-about-img2{transform:rotate(2deg) scale(1.05)}
.mgo-about-img1 img,.mgo-about-img2 img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease}
.mgo-about-imgs:hover .mgo-about-img1 img,.mgo-about-imgs:hover .mgo-about-img2 img{transform:scale(1.08)}

.mgo-about-title{
  font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d);
  font-size:clamp(2rem,3.4vw,2.9rem); line-height:1.15; margin:18px 0 22px;
}
.mgo-about-text{font-family:var(--mgo-body,'Manrope',sans-serif); font-size:1.02rem; line-height:1.75; color:var(--mgo-ink,#20281f); opacity:.85; margin-bottom:18px; max-width:520px}

@media (max-width:900px){
  .mgo-about-inner{grid-template-columns:1fr}
  .mgo-about-imgs{min-height:360px; max-width:420px; margin:0 auto 20px}
}
@media (max-width:640px){
  .mgo-about{padding:64px 20px}
  .mgo-about-imgs{min-height:300px; max-width:320px}
  .mgo-about-img1{height:280px}
  .mgo-about-img2{height:190px}
  .mgo-about-title{margin:14px 0 16px}
  .mgo-about-text{max-width:100%}
}

/* ===== from 04-services.html ===== */
.mgo-services{background:var(--mgo-ivory,#faf6ef); padding:100px 28px}
.mgo-services-head{max-width:640px; margin:0 auto 56px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px}
.mgo-services-title{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d); font-size:clamp(2rem,3.4vw,2.7rem)}
.mgo-services-sub{font-family:var(--mgo-body,'Manrope',sans-serif); color:var(--mgo-ink,#20281f); opacity:.8; line-height:1.7}

.mgo-services-grid{max-width:1240px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:26px}
.mgo-service-card{
  background:var(--mgo-white,#fff); border-radius:20px; padding:34px 26px; text-align:center;
  box-shadow:0 14px 34px -22px rgba(32,40,31,.25); transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
}
.mgo-service-card:hover{transform:translateY(-8px); box-shadow:0 24px 44px -20px rgba(32,40,31,.32)}
.mgo-service-icon{
  width:64px; height:64px; border-radius:50%; background:var(--mgo-gold,#c9a15a); display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px; transform:scale(0); transition:transform .55s cubic-bezier(.34,1.56,.64,1);
}
.mgo-service-card.mgo-in .mgo-service-icon{transform:scale(1)}
.mgo-service-card:hover .mgo-service-icon{transform:scale(1.1) rotate(-8deg)}
.mgo-service-icon svg{transition:transform .4s ease}
.mgo-service-card h3{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d); font-size:1.18rem; margin-bottom:10px}
.mgo-service-card p{font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.9rem; line-height:1.6; color:var(--mgo-ink,#20281f); opacity:.75}

@media (max-width:960px){.mgo-services-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .mgo-services{padding:64px 20px}
  .mgo-services-head{margin-bottom:38px}
  .mgo-services-grid{grid-template-columns:1fr; gap:18px}
  .mgo-service-card{padding:28px 22px}
}

/* ===== from 05-featured-products.html ===== */
.mgo-featured{background:var(--mgo-sand,#f1ebdd); padding:100px 28px}
.mgo-featured-head{max-width:640px; margin:0 auto 50px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px}
.mgo-featured-title{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d); font-size:clamp(2rem,3.4vw,2.7rem)}

.mgo-featured-grid{max-width:1240px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:28px}
.mgo-p-card{background:var(--mgo-white,#fff); border-radius:20px; overflow:hidden; box-shadow:0 14px 34px -22px rgba(32,40,31,.25); transition:transform .4s ease, box-shadow .4s ease}
.mgo-p-card:hover{transform:translateY(-6px); box-shadow:0 24px 44px -20px rgba(32,40,31,.32)}
.mgo-p-imgwrap{position:relative; overflow:hidden; aspect-ratio:1/1}
.mgo-p-imgwrap img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease}
.mgo-p-card:hover .mgo-p-imgwrap img{transform:scale(1.08)}
.mgo-p-badge{
  position:absolute; top:14px; left:14px; background:var(--mgo-gold,#c9a15a); color:var(--mgo-forest-deep,#182720);
  font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px; animation:mgoBadgePulse 2.4s ease-in-out infinite;
}
@keyframes mgoBadgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.mgo-p-body{padding:20px 22px 24px}
.mgo-p-body h3{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d); font-size:1.15rem; margin-bottom:8px}
.mgo-p-body p{font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.86rem; color:var(--mgo-ink,#20281f); opacity:.72; line-height:1.55; margin-bottom:14px}
.mgo-p-link{
  font-family:var(--mgo-body,'Manrope',sans-serif); font-weight:700; font-size:.86rem; color:var(--mgo-gold-deep,#a67c3d);
  text-decoration:none; display:inline-flex; align-items:center; gap:6px;
}
.mgo-p-link svg{transition:transform .3s ease}
.mgo-p-link:hover svg{transform:translateX(5px)}

.mgo-featured-cta{text-align:center; margin-top:52px}

@media (max-width:960px){.mgo-featured-grid{grid-template-columns:1fr 1fr; gap:20px}}
@media (max-width:600px){
  .mgo-featured{padding:64px 20px}
  .mgo-featured-head{margin-bottom:34px}
  .mgo-featured-grid{grid-template-columns:1fr; gap:20px}
  .mgo-p-body{padding:18px}
  .mgo-featured-cta{margin-top:36px}
}

/* ===== from 06-why-choose-us.html ===== */
.mgo-why{background:var(--mgo-ivory,#faf6ef); padding:100px 28px}
.mgo-why-head{max-width:600px; margin:0 auto 56px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px}
.mgo-why-title{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d); font-size:clamp(2rem,3.4vw,2.7rem)}

.mgo-why-grid{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr)}
.mgo-why-item{padding:10px 26px; text-align:center; border-right:1px solid var(--mgo-line,rgba(32,40,31,.14))}
.mgo-why-item:last-child{border-right:0}
.mgo-why-icon{
  width:58px; height:58px; border-radius:50%; border:1.5px solid var(--mgo-gold,#c9a15a); display:flex; align-items:center; justify-content:center;
  margin:0 auto 18px; transform:scale(0); transition:background .35s ease, transform .55s cubic-bezier(.34,1.56,.64,1);
}
.mgo-why-item.mgo-in .mgo-why-icon{transform:scale(1)}
.mgo-why-icon svg{transition:stroke .35s ease, fill .35s ease}
.mgo-why-item:hover .mgo-why-icon{background:var(--mgo-gold,#c9a15a); transform:scale(1.1) rotate(6deg)}
.mgo-why-item:hover .mgo-why-icon svg{stroke:#faf6ef}
.mgo-why-item h3{font-family:var(--mgo-body,'Manrope',sans-serif); font-weight:700; color:var(--mgo-forest,#2f4a3d); font-size:1.02rem; margin-bottom:10px}
.mgo-why-item p{font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.86rem; color:var(--mgo-ink,#20281f); opacity:.72; line-height:1.6}

@media (max-width:900px){
  .mgo-why-grid{grid-template-columns:1fr 1fr}
  .mgo-why-item{border-right:0; border-bottom:1px solid var(--mgo-line,rgba(32,40,31,.14)); padding-bottom:30px; margin-bottom:10px}
}
@media (max-width:560px){
  .mgo-why{padding:64px 20px}
  .mgo-why-head{margin-bottom:38px}
  .mgo-why-grid{grid-template-columns:1fr}
  .mgo-why-item{padding:0 10px 26px}
}

/* ===== from 07-brand-story.html ===== */
.mgo-story{
  position:relative; background:var(--mgo-forest,#2f4a3d); padding:120px 28px; overflow:hidden;
}
.mgo-story::before{
  content:""; position:absolute; top:-80px; right:-80px; width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,161,90,.18), transparent 70%);
}
.mgo-story::after{
  content:""; position:absolute; bottom:-100px; left:-60px; width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,161,90,.12), transparent 70%);
}
.mgo-story-inner{max-width:720px; margin:0 auto; text-align:center; position:relative; z-index:1}
.mgo-story-title{
  font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-ivory,#faf6ef);
  font-size:clamp(2rem,3.6vw,2.9rem); line-height:1.2; margin-bottom:36px;
}
.mgo-story-lines{margin-bottom:34px}
.mgo-story-lines div{
  font-family:var(--mgo-display,'Fraunces',serif); font-style:italic; font-weight:500; color:var(--mgo-gold,#c9a15a);
  font-size:1.3rem; line-height:1.9;
}
.mgo-story-text{font-family:var(--mgo-body,'Manrope',sans-serif); color:var(--mgo-ivory,#faf6ef); opacity:.82; line-height:1.75; margin-bottom:38px}

@media (max-width:640px){
  .mgo-story{padding:70px 22px}
  .mgo-story::before{width:220px; height:220px; top:-50px; right:-60px}
  .mgo-story::after{width:200px; height:200px; bottom:-60px; left:-40px}
  .mgo-story-title{margin-bottom:26px}
  .mgo-story-lines div{font-size:1.08rem; line-height:1.7}
  .mgo-story-lines{margin-bottom:26px}
}

/* ===== from 08-faq.html ===== */
.mgo-faq{background:var(--mgo-ivory,#faf6ef); padding:100px 28px}
.mgo-faq-head{max-width:600px; margin:0 auto 46px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px}
.mgo-faq-title{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d); font-size:clamp(2rem,3.4vw,2.7rem)}
.mgo-faq-list{max-width:800px; margin:0 auto}
.mgo-faq-item{background:var(--mgo-white,#fff); border-radius:14px; margin-bottom:14px; box-shadow:0 10px 28px -20px rgba(32,40,31,.3); overflow:hidden}
.mgo-faq-q{
  width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:20px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; transition:background .3s ease;
}
.mgo-faq-q:hover{background:var(--mgo-sand,#f1ebdd)}
.mgo-faq-q span{font-family:var(--mgo-body,'Manrope',sans-serif); font-weight:700; color:var(--mgo-forest,#2f4a3d); font-size:1rem}
.mgo-faq-plus{position:relative; width:18px; height:18px; flex:none; transition:transform .3s ease}
.mgo-faq-q:hover .mgo-faq-plus{transform:rotate(90deg) scale(1.1)}
.mgo-faq-item.mgo-open .mgo-faq-q:hover .mgo-faq-plus{transform:none}
.mgo-faq-plus::before,.mgo-faq-plus::after{content:""; position:absolute; background:var(--mgo-gold-deep,#a67c3d); transition:transform .35s ease}
.mgo-faq-plus::before{top:50%; left:0; width:100%; height:2px; margin-top:-1px}
.mgo-faq-plus::after{left:50%; top:0; height:100%; width:2px; margin-left:-1px}
.mgo-faq-item.mgo-open .mgo-faq-plus::after{transform:rotate(90deg); opacity:0}
.mgo-faq-item.mgo-open .mgo-faq-plus::before{transform:rotate(180deg)}
.mgo-faq-a{max-height:0; overflow:hidden; transition:max-height .4s ease}
.mgo-faq-a p{font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.92rem; line-height:1.7; color:var(--mgo-ink,#20281f); opacity:.78; padding:0 24px 22px}

@media (max-width:640px){
  .mgo-faq{padding:64px 20px}
  .mgo-faq-head{margin-bottom:32px}
  .mgo-faq-q{padding:16px 18px}
  .mgo-faq-q span{font-size:.9rem}
  .mgo-faq-a p{padding:0 18px 18px; font-size:.86rem}
}

/* ===== from 09-contact.html ===== */
.mgo-contact{background:var(--mgo-sand,#f1ebdd); padding:100px 28px}
.mgo-contact-inner{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center}

.mgo-contact-card{background:var(--mgo-white,#fff); border-radius:22px; padding:44px; box-shadow:var(--mgo-shadow,0 20px 45px -20px rgba(32,40,31,.28))}
.mgo-contact-title{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-forest,#2f4a3d); font-size:clamp(1.8rem,3vw,2.3rem); margin:16px 0 12px}
.mgo-contact-sub{font-family:var(--mgo-body,'Manrope',sans-serif); color:var(--mgo-ink,#20281f); opacity:.75; line-height:1.6; margin-bottom:28px}
.mgo-field{margin-bottom:18px}
.mgo-field label{display:block; font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.8rem; font-weight:700; color:var(--mgo-forest,#2f4a3d); margin-bottom:6px}
.mgo-field input, .mgo-field textarea{
  width:100%; border:1.5px solid var(--mgo-line,rgba(32,40,31,.14)); border-radius:10px; padding:13px 16px;
  font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.92rem; color:var(--mgo-ink,#20281f); background:var(--mgo-ivory,#faf6ef);
  outline:none; transition:border-color .3s ease, box-shadow .3s ease; box-sizing:border-box;
}
.mgo-field textarea{resize:vertical; min-height:110px}
.mgo-field input:focus, .mgo-field textarea:focus{border-color:var(--mgo-gold,#c9a15a); box-shadow:0 0 0 4px rgba(201,161,90,.18)}
.mgo-contact-submit{width:100%; justify-content:center; border:1.5px solid var(--mgo-gold,#c9a15a)}

.mgo-contact-info{display:flex; flex-direction:column; gap:26px}
.mgo-contact-imgwrap{position:relative; border-radius:22px; overflow:hidden; height:220px; box-shadow:0 16px 34px -18px rgba(32,40,31,.3)}
.mgo-contact-imgwrap img{width:100%; height:100%; object-fit:cover; display:block}
.mgo-info-row{display:flex; align-items:flex-start; gap:14px}
.mgo-info-icon{
  width:42px; height:42px; border-radius:50%; background:var(--mgo-forest,#2f4a3d); display:flex; align-items:center; justify-content:center; flex:none;
}
.mgo-info-row h4{font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.85rem; font-weight:700; color:var(--mgo-forest,#2f4a3d); margin-bottom:2px}
.mgo-info-row p{font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.9rem; color:var(--mgo-ink,#20281f); opacity:.75}
.mgo-social-row{display:flex; gap:12px; margin-top:4px}
.mgo-social-row a{
  width:40px; height:40px; border-radius:50%; border:1.5px solid var(--mgo-gold,#c9a15a); display:flex; align-items:center; justify-content:center;
  color:var(--mgo-forest,#2f4a3d); transition:background .3s ease, transform .3s ease, color .3s ease;
}
.mgo-social-row a:hover{background:var(--mgo-gold,#c9a15a); transform:translateY(-3px) rotate(-6deg)}

@media (max-width:900px){
  .mgo-contact-inner{grid-template-columns:1fr}
  .mgo-contact-card{padding:30px}
}
@media (max-width:560px){
  .mgo-contact{padding:64px 18px}
  .mgo-contact-card{padding:24px 20px; border-radius:18px}
  .mgo-contact-imgwrap{height:170px}
  .mgo-info-row{gap:12px}
  .mgo-field input,.mgo-field textarea{padding:12px 14px; font-size:.88rem}
}

/* ===== from 10-final-cta.html ===== */
.mgo-cta{position:relative; background:var(--mgo-forest,#2f4a3d); padding:90px 28px; overflow:hidden; text-align:center}
.mgo-cta::before{
  content:""; position:absolute; inset:0; margin:auto; width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,161,90,.22), transparent 68%); pointer-events:none;
}
.mgo-cta-title{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-ivory,#faf6ef); font-size:clamp(2rem,3.8vw,3rem); position:relative; z-index:1}
.mgo-cta-sub{font-family:var(--mgo-body,'Manrope',sans-serif); color:var(--mgo-ivory,#faf6ef); opacity:.82; max-width:560px; margin:18px auto 34px; line-height:1.7; position:relative; z-index:1}
.mgo-cta-btn{position:relative; z-index:1; animation:mgoPulse 2.6s ease-in-out infinite}
@keyframes mgoPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,161,90,.5)}50%{box-shadow:0 0 0 16px rgba(201,161,90,0)}}
.mgo-cta-leaf{position:absolute; opacity:.35}
.mgo-cta-leaf-1{top:12%; left:8%; animation:mgoSpin1 7s ease-in-out infinite}
.mgo-cta-leaf-2{bottom:14%; right:10%; animation:mgoSpin2 8s ease-in-out infinite}
@keyframes mgoSpin1{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(8deg)}}
@keyframes mgoSpin2{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(12px) rotate(-10deg)}}

@media (max-width:640px){
  .mgo-cta{padding:60px 22px}
  .mgo-cta::before{width:340px; height:340px}
  .mgo-cta-sub{margin:14px auto 26px}
  .mgo-cta-leaf-1,.mgo-cta-leaf-2{opacity:.2}
}

/* ===== from 11-footer.html ===== */
.mgo-footer{background:var(--mgo-forest-deep,#182720); padding:70px 28px 26px}
.mgo-footer-grid{max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px}
.mgo-footer-brand{font-family:var(--mgo-display,'Fraunces',serif); font-weight:600; color:var(--mgo-ivory,#faf6ef); font-size:1.35rem; margin-bottom:12px}
.mgo-footer-tagline{font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.88rem; color:var(--mgo-ivory,#faf6ef); opacity:.6; line-height:1.6; max-width:260px}
.mgo-footer-col h4{font-family:var(--mgo-body,'Manrope',sans-serif); color:var(--mgo-gold,#c9a15a); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700; margin-bottom:18px}
.mgo-footer-col a{
  display:block; font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.9rem; color:var(--mgo-ivory,#faf6ef); opacity:.75;
  text-decoration:none; margin-bottom:12px; transition:opacity .3s ease, transform .3s ease;
}
.mgo-footer-col a:hover{opacity:1; transform:translateX(5px); color:var(--mgo-gold,#c9a15a)}
.mgo-footer-social{display:flex; gap:12px}
.mgo-footer-social a{
  width:38px; height:38px; border-radius:50%; border:1.5px solid var(--mgo-gold,#c9a15a); display:flex; align-items:center; justify-content:center;
  color:var(--mgo-gold,#c9a15a); margin:0; transition:background .3s ease, color .3s ease, transform .3s ease;
}
.mgo-footer-social a:hover{background:var(--mgo-gold,#c9a15a); color:var(--mgo-forest-deep,#182720); transform:translateY(-3px) rotate(-6deg)}
.mgo-footer-divider{max-width:1240px; margin:0 auto; border:none; border-top:1px solid rgba(250,246,239,.14)}
.mgo-footer-bottom{max-width:1240px; margin:0 auto; padding-top:22px; text-align:center; font-family:var(--mgo-body,'Manrope',sans-serif); font-size:.8rem; color:var(--mgo-ivory,#faf6ef); opacity:.5}

@media (max-width:900px){
  .mgo-footer-grid{grid-template-columns:1fr 1fr; text-align:left}
}
@media (max-width:560px){
  .mgo-footer{padding:50px 20px 22px}
  .mgo-footer-grid{grid-template-columns:1fr; text-align:center; gap:30px; padding-bottom:30px}
  .mgo-footer-tagline{margin:0 auto}
  .mgo-footer-social{justify-content:center}
  .mgo-footer-col a{margin-bottom:10px}
}

