/* M31Factory Shop — inner pages (product, guide, legal) */
.page-head{padding:88px 0 10px;text-align:center}
.page-head .eyebrow{font:600 11px/1 Montserrat,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--deep);margin:0 0 16px}
.page-head h1{font:500 clamp(36px,5vw,56px)/1.08 'Cormorant Garamond',serif;color:var(--ink);margin:0 0 16px}
.page-head h1 em{font-style:italic;color:var(--rose)}
.page-head p{font:400 16px/1.7 Montserrat,sans-serif;color:var(--body);max-width:60ch;margin:0 auto}
.pd-hero{padding:64px 0 72px}
.pd-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center}
.pd-cover{width:100%;border-radius:18px;box-shadow:0 30px 60px rgba(20,18,18,.14);display:block}
.ph-eyebrow{font:600 11px/1 Montserrat,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--deep);margin:0 0 14px}
.pd-title{font:500 clamp(36px,4.6vw,56px)/1.06 'Cormorant Garamond',serif;color:var(--ink);margin:0 0 16px}
.pd-title em{font-style:italic;color:var(--rose)}
.pd-price{font:700 16px Montserrat,sans-serif;color:var(--ink);margin:0 0 14px}
.pd-price span{font:500 11px Montserrat,sans-serif;color:var(--body);margin-left:8px;letter-spacing:.12em;text-transform:uppercase}
.ph-copy{font:400 16px/1.75 Montserrat,sans-serif;color:var(--body);margin:0 0 22px;max-width:52ch}
.pd-chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 26px}
.pd-chips i{font:600 10px Montserrat,sans-serif;font-style:normal;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:#fff;color:var(--body)}
.btn.pd-buy{display:inline-block}
.ph-note{margin:14px 0 0;font:500 12px Montserrat,sans-serif;letter-spacing:.06em;color:var(--body)}
.pd-inside{padding:72px 0 0;text-align:center}
.pd-sub{font:500 clamp(30px,4vw,44px)/1.1 'Cormorant Garamond',serif;color:var(--ink);margin:0 0 12px}
.pd-sub em{font-style:italic;color:var(--rose)}
.pd-subcopy{font:400 15px/1.7 Montserrat,sans-serif;color:var(--body);max-width:60ch;margin:0 auto}
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:44px 0 12px;text-align:left}
.sp-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.sp-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.sp-card h3{font:600 15px Montserrat,sans-serif;color:var(--ink);margin:16px 18px 8px}
.sp-card .what{font:400 13px/1.65 Montserrat,sans-serif;color:var(--body);margin:0 18px;flex:1}
.sp-card .row{display:flex;align-items:center;justify-content:space-between;margin:14px 18px 18px}
.sp-card .price{font:700 14px Montserrat,sans-serif;color:var(--ink)}
.sp-card .btn{padding:10px 16px;font-size:11px}
.g-sec{padding:64px 0}
.guide-banner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:44px}
.guide-banner img{width:100%;border-radius:14px;display:block}
.g-h{font:500 32px/1.15 'Cormorant Garamond',serif;color:var(--ink);margin:0 0 8px}
.g-list{list-style:none;margin:22px 0 28px;padding:0}
.g-list li{padding:11px 0 11px 26px;border-bottom:1px solid var(--line);position:relative;font:400 15px/1.6 Montserrat,sans-serif;color:var(--body)}
.g-list li:before{content:'';position:absolute;left:2px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--sun)}
.g-after{padding:72px 0 84px;text-align:center;background:var(--cream)}
.g-cta{margin-top:26px}
.btn-ghost{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.legal-sec{padding:24px 0 90px}
.prose{max-width:760px;margin:0 auto}
.prose h3{font:600 20px Montserrat,sans-serif;color:var(--ink);margin:34px 0 10px}
.prose p{font:400 15px/1.75 Montserrat,sans-serif;color:var(--body);margin:0 0 12px}
.prose ul{margin:10px 0 14px 18px;padding:0}
.prose li{font:400 15px/1.75 Montserrat,sans-serif;color:var(--body);margin:0 0 6px}
.prose a{color:var(--deep)}
.prose .updated{font:600 11px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--body);border-bottom:1px solid var(--line);padding-bottom:14px}
.f-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;align-items:start;padding:14px 0 38px}
.f-cols img{width:120px;display:block}
.f-cols p{font:400 14px/1.7 Montserrat,sans-serif;color:#B9B3AE;margin:14px 0 0;max-width:340px}
.f-cols h4{font:700 11px Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#FFFFFF;margin:6px 0 14px}
.f-cols a{display:block;font:500 14px/2.2 Montserrat,sans-serif;color:#B9B3AE;text-decoration:none}
.f-cols a:hover{color:#FFFFFF}
.social{display:flex;gap:12px;margin-top:18px}
.social{display:flex;gap:12px;margin-top:18px}
.social a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:#fff;color:var(--ink);transition:.2s}
.social a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.social svg{width:17px;height:17px;fill:currentColor;stroke:currentColor;stroke-width:.55px;stroke-linejoin:round}

@media(max-width:900px){.pd-grid{grid-template-columns:1fr;gap:34px}.sp-grid{grid-template-columns:1fr 1fr}.guide-banner{grid-template-columns:1fr;padding:28px}.f-cols{grid-template-columns:1fr;gap:26px}}
@media(max-width:560px){.sp-grid{grid-template-columns:1fr}}

/* grouped grid on sales-pages */
.sp-group-head{grid-column:1/-1;margin:30px 0 -4px}
.sp-group-head:first-child{margin-top:6px}
.sp-group-head .gh-eyebrow{font:600 11px/1 Montserrat,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--deep);margin:0 0 6px}
.sp-group-head h3{font:italic 500 30px/1.1 'Cormorant Garamond',serif;color:var(--ink);margin:0}

/* per-product sales page details */
.pd-desc{max-width:720px;margin:34px auto 0;font:400 15px/1.85 Montserrat,sans-serif;color:var(--body)}
.pd-desc p{margin:0 0 16px}
.pd-desc .soul{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;color:var(--ink);margin:22px 0 0}
.pd-steps{max-width:720px;margin:26px auto 0;padding:22px 28px;border:1px solid var(--line);border-radius:14px;background:#fff}
.pd-steps p{font:400 14px/1.7 Montserrat,sans-serif;color:var(--body);margin:7px 0}
.pd-steps b{color:var(--ink);font-weight:600;margin-right:2px}
.pd-crumb{font:600 11px/1 Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px}
.pd-crumb a{color:var(--deep);text-decoration:none}

/* new lockup: two-line wordmark needs a touch more height */
.logo img{height:40px}
.f-cols img[src*="logo"]{filter:brightness(0) invert(1)}

/* shop-first homepage: product wall + sales-pages feature */
.wall{display:flex;justify-content:center;align-items:flex-start;gap:18px;flex-wrap:nowrap}
.wall img{height:300px;width:auto;border-radius:10px;border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.wall img:nth-child(even){margin-top:34px}
.wall-cap{text-align:center;margin-top:26px;font:500 13px/1.6 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#6B625D}
.spf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1060px;margin:0 auto}
.spf-card{display:block;border:1px solid var(--line);border-radius:14px;padding:26px 22px;background:#fff;text-decoration:none;transition:border-color .2s,transform .2s}
.spf-card:hover{border-color:var(--deep);transform:translateY(-3px)}
.spf-num{font:600 12px/1 Montserrat,sans-serif;letter-spacing:.18em;color:var(--deep)}
.spf-card h3{margin:10px 0 8px;font:600 20px/1.3 'Cormorant Garamond',serif;color:var(--ink)}
.spf-card p{margin:0;font:400 14px/1.6 Montserrat,sans-serif;color:var(--body)}
@media(max-width:900px){.wall{flex-wrap:wrap}.wall img{height:200px}.spf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.spf-grid{grid-template-columns:1fr}}
.cols img[src*="logo"]{filter:brightness(0) invert(1)}
/* footer social: unified with homepage footer */
.social a{display:flex;width:54px;height:54px;border:1px solid #4A4441;border-radius:50%;align-items:center;justify-content:center;color:#FFFFFF;transition:all .2s;padding:0}
.social svg{width:27px;height:27px;fill:currentColor}
/* social circles: transparent fill so icons stay visible on dark */
.social a{display:flex;width:54px;height:54px;border:1px solid #4A4441;border-radius:50%;align-items:center;justify-content:center;color:#FFFFFF;background:transparent;transition:all .2s;padding:0}
.social svg{width:27px;height:27px;fill:currentColor}
