/* Mountain of Stone Media — 1:1 rebuild of the Wix site
   Measured live at 1920px viewport; mobile matched to the live Wix mobile layout at 390px.
   orange #FF8B00 · cream #F0ECE4 · muted #B6B1AA · ink #0E0E0E · Gloock + Onest */

@font-face{font-family:'Gloock';src:url('../assets/fonts/gloock-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Onest';src:url('../assets/fonts/onest-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Onest';src:url('../assets/fonts/onest-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Onest';src:url('../assets/fonts/onest-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{
  --orange:#FF8B00;
  --cream:#F0ECE4;
  --muted:#B6B1AA;
  --ink:#0E0E0E;
  --line:rgba(240,236,228,.25);
  --serif:'Gloock',Georgia,serif;
  --sans:'Onest',Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:max(14px,1.240vw);line-height:1.3}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.wrap{width:90vw;max-width:1728px;margin:0 auto}

/* ============ header ============ */
.site-header{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:1px solid rgba(240,236,228,.12)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;width:90vw;margin:0 auto;padding:0.85vw 0}
.site-header .logo img{width:9.64vw;min-width:96px;height:auto}
.main-nav{display:flex;gap:2.4vw;align-items:center}
.main-nav a{color:var(--cream);font-size:max(14px,1.240vw)}
.main-nav a.current,.main-nav a:hover{text-decoration:underline;text-underline-offset:6px}

/* buttons — square, live pad 0.930vw 3.101vw */
.btn{display:inline-block;background:var(--orange);color:var(--ink);font-family:var(--sans);
  padding:max(11px,0.930vw) max(24px,3.101vw);font-size:max(14px,1.240vw);
  border:0;border-radius:0;cursor:pointer;text-align:center;white-space:nowrap}
.btn:hover{filter:brightness(1.06)}
.btn.outline{background:transparent;color:var(--orange);border:2px solid var(--orange)}

/* ============ hero (home) ============ */
.hero{padding-top:5.68vw}
.hero .eyebrow{color:var(--muted);font-size:max(15px,1.395vw);text-align:right}
.hero h1{font-family:var(--serif);font-weight:700;color:var(--cream);
  font-size:max(42px,6.511vw);line-height:.9;margin-top:1.25vw}
.hero .video-frame{width:62.9vw;margin:3.33vw auto 0;aspect-ratio:16/9;background:#000}
.hero .video-frame iframe{width:100%;height:100%;border:0;display:block}

/* tagline + guide button row under the video */
.guide-row{display:flex;align-items:center;justify-content:space-between;margin-top:4.4vw;gap:2vw;flex-wrap:wrap}
.guide-row .tagline{color:var(--muted);font-size:max(15px,1.395vw)}
.guide-row .btn{text-transform:uppercase;width:24.8vw;min-width:280px;padding-left:0;padding-right:0}
.rule{border:0;border-top:1px solid var(--line);margin:1.56vw 0 0}

/* ============ statement (home) ============ */
.statement{position:relative;display:flex;justify-content:center;padding:1.04vw 0 8.1vw}
.statement .flanks-row{position:absolute;left:0.55vw;right:0.55vw;bottom:6.7vw;display:flex;justify-content:space-between;pointer-events:none}
.statement .flank{font-size:max(12px,1.085vw);color:var(--cream);letter-spacing:.1em;text-transform:uppercase}
.statement h2{font-family:var(--serif);font-weight:400;color:var(--cream);text-align:center;
  font-size:max(28px,3.721vw);line-height:1.0;max-width:54vw}

/* ============ reviews (home) ============ */
.reviews{padding:1vw 0 4vw}
.reviews .label{font-family:var(--serif);color:var(--orange);font-size:max(16px,1.550vw);padding-left:2.9vw;line-height:1.1}
.reviews .label::before{content:'';display:inline-block;width:.5em;height:.5em;border-radius:50%;background:var(--orange);margin-right:.62em;vertical-align:baseline}
.reviews h2{font-family:var(--serif);font-weight:400;color:var(--cream);font-size:max(28px,3.721vw);line-height:1.05;margin:1.15vw 0 4.3vw;padding-left:1.55vw}
.review-stack{border:1px solid var(--line);padding:1.5vw}
.review-card{display:grid;grid-template-columns:1fr 19.95vw;gap:8.9vw;align-items:center;border:1px solid var(--line);padding:2.4vw 1.5vw;margin-bottom:1.5vw}
.review-card:last-child{margin-bottom:0}
.review-card blockquote{font-family:var(--serif);font-size:max(19px,1.860vw);line-height:1.1;color:var(--cream)}
.review-card .who{display:block;margin-top:1.7vw;font-family:var(--sans);font-size:max(12px,1.085vw);letter-spacing:.1em;text-transform:uppercase;padding-left:12vw}
.review-card .video{aspect-ratio:16/9;background:#000}
.review-card .video iframe{width:100%;height:100%;border:0;display:block}

/* ============ footer ============ */
.site-footer{padding:4.2vw 0 3.2vw}
.site-footer .foot-logo{display:block;width:8.5vw;min-width:90px;margin:0 auto}
.site-footer .rule{margin:3vw 0 2.2vw}
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:2vw;flex-wrap:wrap;
  font-size:max(11px,1.0vw);letter-spacing:.08em;text-transform:uppercase}
.foot-row .socials{display:flex;gap:2vw}
.foot-row a:hover{text-decoration:underline;text-underline-offset:5px}
.foot-row .guide-link{color:var(--orange)}

/* ============ films page ============ */
.map-wrap{width:94vw;margin:1.56vw auto 0}
.map-wrap iframe{width:100%;height:30.6vw;min-height:460px;border:0;display:block;background:#0d0d0d}
.films-head{font-family:var(--serif);font-weight:400;color:var(--cream);font-size:max(26px,2.55vw);margin:4.2vw 0 2.4vw}
.film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2vw 2.5vw}
.film-grid .film .video{aspect-ratio:16/9;background:#000}
.film-grid .film iframe{width:100%;height:100%;border:0;display:block}
.film-grid .film .name{margin-top:1.1vw;font-size:max(12px,0.72vw);color:var(--cream)}
.films-closing{padding:3vw 0 4vw}
.closing-panel{border:1px solid var(--line);padding:4.6vw 5vw;text-align:center}
.films-closing .label{font-family:var(--serif);color:var(--orange);font-size:max(14px,1.35vw)}
.films-closing .label::before{content:'';display:inline-block;width:.5em;height:.5em;border-radius:50%;background:var(--orange);margin-right:.62em}
.films-closing h2{font-family:var(--serif);font-weight:400;font-size:max(28px,3.721vw);line-height:1.05;margin:1.2vw 0 1.6vw}
.films-closing .sub{color:var(--muted);font-size:max(14px,1.085vw);line-height:1.55;max-width:44vw;margin:0 auto 3vw}
.films-closing .actions{display:flex;gap:1.6vw;justify-content:center;flex-wrap:wrap}

/* ============ investment page ============ */
.page-top{padding-top:2.4vw}
.eyebrow-label{font-size:max(12px,1.085vw);letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
.pkg-title{font-family:var(--serif);font-weight:400;color:var(--cream);font-size:max(40px,5.2vw);line-height:1.06;margin:0.9vw 0 0.6vw;max-width:70vw}
.pkg-layout{display:grid;grid-template-columns:1fr 38.5vw;grid-template-areas:"left card" "delivery card";gap:0 5vw;align-items:start;margin-top:1.4vw}
.pkg-left{grid-area:left}
.pkg-card{grid-area:card}
.pkg-delivery{grid-area:delivery}
.pkg-left .intro{color:var(--cream);font-size:max(15px,1.24vw);line-height:1.6;max-width:40vw}
.pkg-card{border:1px solid var(--orange);padding:2.7vw 2.5vw 2.2vw;background:rgba(255,139,0,.03)}
.pc-tag{font-size:max(12px,1.085vw);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pkg-price{font-family:var(--serif);font-weight:400;color:var(--orange);font-size:max(44px,4.9vw);line-height:1.0;margin:0.6vw 0 0.5vw}
.pc-sub{color:var(--cream);font-size:max(13px,1.085vw)}
.pc-rule{border:0;border-top:1px solid var(--line);margin:1.7vw 0}
.pc-row{padding:1.05vw 0;border-bottom:1px solid rgba(240,236,228,.14)}
.pc-row:last-of-type{border-bottom:0}
.pc-row .k{display:block;font-size:max(11px,0.95vw);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:0.3vw}
.pc-row .k::before{content:'';display:inline-block;width:.45em;height:.45em;border-radius:50%;background:var(--orange);margin-right:.55em;vertical-align:2px}
.pc-row .v{color:var(--cream);font-size:max(13px,1.085vw);line-height:1.4}
.pc-addons{margin:1.6vw 0 0;padding-top:1.4vw;border-top:1px solid var(--line)}
.pc-addons .k{display:block;font-size:max(11px,0.95vw);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:0.6vw}
.pc-addons p{color:var(--cream);font-size:max(12px,1.0vw);margin:.3vw 0}
.pc-cta{display:block;width:100%;margin-top:1.9vw;padding-left:0;padding-right:0}
.pc-note{text-align:center;color:var(--muted);font-size:max(11px,0.95vw);margin-top:0.9vw}

/* guide button row used on investment + our story */
.page-guide{margin:2.6vw 0 0}
.page-guide .btn{text-transform:uppercase}

.pkg-delivery{padding:4.6vw 0 0}
.pkg-delivery h2{font-family:var(--serif);font-weight:400;font-size:max(24px,2.6vw);line-height:1.15;max-width:38vw;margin:0}
.pkg-delivery p{color:var(--cream);font-size:max(13px,1.14vw);line-height:1.6;max-width:38vw;margin:1.3vw 0 2vw}
.faq{padding:8vw 0 0}
.faq .label{font-size:max(12px,1.085vw);letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
.faq h2{font-family:var(--serif);font-weight:400;font-size:max(30px,4.06vw);margin:0.9vw 0 3vw}
.faq-list{width:87vw;max-width:1670px;margin:0 auto}
.faq-item{border:1px solid var(--orange);margin-bottom:2.1vw}
.faq-item:last-child{margin-bottom:0}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:1.45vw 1.3vw;font-size:max(15px,1.24vw);color:var(--cream)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'';width:.5em;height:.5em;border-right:2px solid var(--cream);border-bottom:2px solid var(--cream);transform:rotate(45deg) translateY(-3px);transition:transform .2s;flex:none;margin-right:.25em}
.faq-item[open] summary::after{transform:rotate(225deg) translateY(-1px)}
.faq-item .a{padding:0 1.3vw 1.6vw;color:var(--muted);font-size:max(14px,1.085vw);line-height:1.55;max-width:62vw}
.closing-cta{text-align:center;padding:8vw 0 4vw}
.closing-cta h2{font-family:var(--serif);font-weight:400;font-size:max(28px,3.721vw);line-height:1.15;max-width:54vw;margin:0 auto 3vw}

/* ============ our story page ============ */
.story-hero{display:grid;grid-template-columns:42.6vw 1fr;gap:5vw;align-items:start;padding-top:2.2vw}
.story-hero .photo img{width:100%;height:38.75vw;object-fit:cover}
.story-eyebrow-rule{display:none}
.story-hero h1{font-family:var(--serif);font-weight:400;color:var(--cream);font-size:max(30px,3.4vw);line-height:1.05;margin:0.9vw 0 1.9vw;max-width:39.7vw}
.story-hero .body{color:var(--cream);font-size:max(13px,1.09vw);line-height:1.55;max-width:39.7vw}
.stats{display:flex;gap:5vw;margin-top:3.5vw}
.stats .num{font-family:var(--serif);color:var(--orange);font-size:max(20px,1.72vw);line-height:1.1}
.stats .lbl{font-size:max(11px,1.0vw);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:0.35vw}
.story-mid{display:grid;grid-template-columns:1fr 27vw;gap:6vw;align-items:center;padding:6.5vw 0 7.5vw}
.mid-row{padding:2.5vw 0;border-bottom:1px solid var(--line)}
.mid-row:first-child{padding-top:0}
.mid-row:last-child{border-bottom:0;padding-bottom:0}
.mid-row h2{font-family:var(--serif);font-weight:400;color:var(--cream);text-transform:uppercase;font-size:max(24px,2.3vw);line-height:1.15;margin-bottom:0.9vw}
.mid-row p{color:var(--muted);font-size:max(14px,1.085vw);line-height:1.6;max-width:42vw}
.mid-link{display:inline-block;margin-top:1.1vw;color:var(--orange);font-size:max(12px,1.0vw);letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px}
.story-mid .photo img{width:100%;height:30vw;object-fit:cover}

/* ============ contact page ============ */
.contact-wrap{padding:2vw 0 4vw}
.hb-embed{min-height:900px}

/* ============ mobile (matched to the live Wix mobile layout) ============ */
@media (max-width:760px){
  body{font-size:16px}

  /* header: centered logo, serif nav row, no CTA button */
  .site-header .bar{flex-direction:column;gap:8px;padding:10px 0 12px}
  .site-header .logo img{width:74px;min-width:0;margin:0 auto}
  .site-header .bar > .btn{display:none}
  .main-nav{gap:14px;flex-wrap:nowrap;justify-content:center;width:100%}
  .main-nav a{font-family:var(--serif);font-size:13.5px;letter-spacing:.01em}
  .main-nav a.current,.main-nav a:hover{text-underline-offset:4px}

  /* home hero */
  .hero{padding-top:26px}
  .hero .eyebrow{display:none}
  .hero h1{font-size:40px;line-height:1.06;text-align:center;margin-top:0}
  .hero .video-frame{width:89vw;margin-top:22px}
  .guide-row{flex-direction:column;align-items:center;gap:16px;margin-top:26px}
  .guide-row .tagline{font-size:16px;text-align:center}
  .guide-row .btn{width:240px;min-width:0;white-space:normal;line-height:1.25;padding:12px 18px;font-size:15px}
  .rule{margin:26px 0 0}

  /* statement: centered, flanks below on one row */
  .statement{display:flex;flex-direction:column;gap:18px;padding:34px 0 30px}
  .statement h2{max-width:none;text-align:center;font-size:26px}
  .statement .flanks-row{position:static;display:flex;justify-content:space-between;width:100%;pointer-events:auto}
  .statement .flank,.statement .flank.right{font-size:12.5px}

  /* reviews: centered, video under quote */
  .reviews .label{padding-left:0;text-align:center;display:block;font-size:17px}
  .reviews .label::before{display:none}
  .reviews h2{padding-left:0;text-align:center;font-size:26px;margin-bottom:16px}
  .review-stack{padding:10px}
  .review-card{display:flex;flex-direction:column;gap:14px;padding:18px 12px;margin-bottom:12px}
  .review-card blockquote{font-size:21px;text-align:center;line-height:1.25}
  .review-card .who{padding-left:0;text-align:center;margin-top:12px;font-size:12.5px}
  .review-card .video{width:100%}

  /* films */
  .map-wrap{width:95vw;margin-top:10px}
  .map-wrap iframe{height:430px;min-height:0}
  .films-head{font-size:13px;text-align:center;margin:20px 0 12px}
  .film-grid{grid-template-columns:1fr 1fr;gap:16px 10px}
  .film-grid .film .name{margin-top:6px;font-size:10.5px;text-align:center}
  .vl-box{position:relative;cursor:pointer}
  .vl-box .yt-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .vl-box .yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--orange);background:rgba(14,14,14,.62);padding:0}
  .vl-box .yt-play::before{content:'';display:block;margin:0 auto;width:0;height:0;border-left:11px solid var(--orange);border-top:6.5px solid transparent;border-bottom:6.5px solid transparent;transform:translateX(2px)}
  .films-closing{padding:30px 0 24px}
  .closing-panel{padding:34px 18px}
  .films-closing .label{font-size:15px}
  .films-closing h2{font-size:26px}
  .films-closing .sub{max-width:none;font-size:15px;margin-bottom:24px}
  .films-closing .actions{flex-direction:column;gap:14px;align-items:center}
  .films-closing .actions .btn{width:250px;white-space:normal;line-height:1.25;padding:12px 14px;font-size:14px}

  /* investment */
  .page-top{padding-top:26px}
  .eyebrow-label{display:block;text-align:center;font-size:13px}
  .pkg-title{max-width:none;text-align:center;font-size:34px;margin-top:10px}
  .pkg-price{text-align:center;font-size:34px;margin-bottom:8px}
  .pkg-layout{grid-template-columns:1fr;grid-template-areas:"left" "card" "delivery";gap:24px;margin-top:12px}
  .pkg-left .intro{font-size:16px;text-align:center;max-width:none}
  .page-guide{text-align:center;margin:16px 0 0}
  .page-guide .btn{width:240px;white-space:normal;line-height:1.25;padding:12px 18px;font-size:15px}
  .pkg-card{padding:26px 18px 20px}
  .pkg-price{font-size:46px}
  .pc-rule{margin:16px 0}
  .pc-row{padding:12px 0}
  .pc-addons{margin-top:14px;padding-top:14px}
  .pc-cta{margin-top:18px}
  .pkg-delivery{padding:14px 0 0;text-align:center}
  .pkg-delivery h2{max-width:none;font-size:28px}
  .pkg-delivery p{max-width:none;font-size:16px}
  .faq{padding:40px 0 0}
  .faq .label{text-align:center;display:block}
  .faq h2{font-size:30px;text-align:center}
  .faq-list{width:100%}
  .faq-item{margin-bottom:14px}
  .faq-item summary{padding:18px 14px;font-size:16px}
  .faq-item .a{max-width:none;font-size:15px;padding:0 14px 18px}
  .closing-cta{padding:40px 0 26px}
  .closing-cta h2{max-width:none;font-size:26px}

  /* our story */
  .story-hero{display:flex;flex-direction:column;gap:22px;padding-top:26px}
  .story-hero .photo img{height:auto}
  .story-hero h1{max-width:none;text-align:center;font-size:30px}
  .story-hero .body{max-width:none;font-size:16px}
  .story-eyebrow-rule{display:block;width:44px;border-top:1px solid var(--cream);margin:0 auto 12px}
  .story-hero .eyebrow-label{display:block;text-align:center;letter-spacing:.18em}
  .stats{flex-direction:column;gap:16px;margin-top:26px;text-align:center}
  .stats .num{font-size:22px}
  .stats .lbl{margin-top:2px;font-size:12.5px}
  .story-mid{display:flex;flex-direction:column;gap:20px;padding:36px 0}
  .mid-row{text-align:center;padding:14px 0}
  .mid-row h2{font-size:22px}
  .mid-row p{max-width:none;font-size:15px}
  .mid-link{margin-top:10px;font-size:12.5px}
  .story-mid .photo img{height:auto}

  /* footer: centered stack, guide link last */
  .site-footer .foot-logo{width:106px;min-width:0}
  .foot-row{flex-direction:column;gap:16px;text-align:center;font-size:13px}
  .foot-row .socials{flex-direction:column;gap:16px}
  .foot-row a{text-decoration:underline;text-underline-offset:4px}
  .foot-row .guide-link{color:var(--cream);order:9}
  .foot-row span:first-child{order:1}
  .foot-row a[href^='mailto']{order:2;text-decoration:none}
  .foot-row .socials{order:3}
}

/* ============ entrance animations (scroll-triggered, once) ============ */
@media (prefers-reduced-motion: no-preference){
  .anim{opacity:0;transform:translateY(28px);
    transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
  .anim.in{opacity:1;transform:none}
  .anim-draw{transform:scaleX(0);transform-origin:left center;
    transition:transform .8s cubic-bezier(.65,0,.35,1),opacity .4s ease}
  .anim-draw.in{transform:scaleX(1)}
}
