@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Montserrat:wght@300;400;500;600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--beige:#F2EBE0;--cream:#FDFAF6;--white:#FFFFFF;--black:#1A1A1A;--gray:#8A8A8A;--lg:#D4CFC9;--fh:'Cormorant Garamond',Georgia,serif;--fb:'Montserrat',Arial,sans-serif}
html{scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--black);background:var(--cream);font-size:14px;line-height:1.7;font-weight:300;overflow-x:hidden}

/* ── NAV ───────────────────────────────────────── */
.ap-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:24px 56px;display:flex;align-items:center;justify-content:space-between;background:rgba(253,250,246,.97);box-shadow:0 1px 0 var(--lg);transition:padding .4s}
.ap-nav.scrolled{padding:16px 56px}
.ap-logo{font-family:var(--fh);font-size:19px;font-weight:400;letter-spacing:.12em;text-decoration:none;color:var(--black);text-transform:uppercase;z-index:1001;position:relative}
.ap-nav-links{display:flex;gap:36px;list-style:none}
.ap-nav-links a{font-family:var(--fb);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--gray);transition:color .3s}
.ap-nav-links a:hover,.ap-nav-links a.active{color:var(--black)}
.ap-nav-right{display:flex;align-items:center;gap:24px}
.ap-nav-auth{font-family:var(--fb);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--gray);transition:color .3s}
.ap-nav-auth:hover{color:var(--black)}
.ap-nav-cta{font-family:var(--fb);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--black);border:1px solid var(--black);padding:10px 24px;transition:all .3s}
.ap-nav-cta:hover{background:var(--black);color:var(--white)}
.ap-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;z-index:1001;position:relative}
.ap-burger span{display:block;width:24px;height:1.5px;background:var(--black);transition:all .3s}
.ap-nav.open .ap-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ap-nav.open .ap-burger span:nth-child(2){opacity:0}
.ap-nav.open .ap-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.ap-drawer{position:fixed;inset:0;background:var(--cream);z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .3s,transform .3s}
.ap-drawer.open{opacity:1;pointer-events:all;transform:none}
.ap-drawer a{font-family:var(--fh);font-size:38px;font-weight:300;color:var(--black);text-decoration:none;transition:opacity .2s}
.ap-drawer a:hover{opacity:.45}
.ap-drawer-cta{font-family:var(--fb)!important;font-size:11px!important;font-weight:500!important;letter-spacing:.22em!important;text-transform:uppercase;border:1px solid var(--black)!important;padding:14px 40px!important}

/* ── TYPOGRAPHY ────────────────────────────────── */
.ap-label{font-family:var(--fb);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gray);margin-bottom:18px;display:block}
.ap-h1{font-family:var(--fh);font-size:clamp(52px,7vw,96px);font-weight:300;line-height:.96;margin-bottom:24px}
.ap-h2{font-family:var(--fh);font-size:clamp(40px,5vw,70px);font-weight:300;line-height:1.02;margin-bottom:24px}
.ap-h3{font-family:var(--fh);font-size:clamp(28px,3.5vw,46px);font-weight:300;line-height:1.06;margin-bottom:20px}
.ap-h1 em,.ap-h2 em,.ap-h3 em{font-style:italic}
.ap-body{font-size:14px;font-weight:300;line-height:1.95;color:var(--gray)}
.ap-body+.ap-body{margin-top:18px}
.ap-divider{width:36px;height:1px;background:var(--lg);margin:28px 0}
.ap-link{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--black);text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:gap .3s}
.ap-link:hover{gap:18px}
.ap-link::after{content:'→'}

/* ── BUTTONS ───────────────────────────────────── */
.ap-btn{display:inline-block;font-family:var(--fb);font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:15px 40px;transition:all .3s;cursor:pointer;border:1px solid var(--black);background:none}
.ap-btn-dark{color:var(--white);background:var(--black)}
.ap-btn-dark:hover{background:var(--cream);color:var(--black)}
.ap-btn-light{color:var(--black);background:transparent}
.ap-btn-light:hover{background:var(--black);color:var(--white)}
.ap-btn-ghost{color:var(--white);border-color:rgba(255,255,255,.4);background:transparent}
.ap-btn-ghost:hover{background:var(--white);color:var(--black);border-color:var(--white)}
.ap-btn[disabled]{opacity:.4;pointer-events:none}

/* ── REVEAL ────────────────────────────────────── */
.ap-reveal{opacity:0;transform:translateY(26px);transition:opacity .72s ease,transform .72s ease}
.ap-reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* ── HERO ──────────────────────────────────────── */
.ap-hero{position:relative;height:70vh;min-height:480px;display:flex;align-items:flex-end;overflow:hidden;background:var(--black)}
.ap-hero.tall{height:100vh;min-height:600px}
.ap-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;opacity:.5}
.ap-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,10,10,.1) 0%,rgba(10,10,10,.74) 100%)}
.ap-hero-content{position:relative;z-index:2;padding:0 56px 64px;width:100%}
.ap-hero-content .ap-label{color:rgba(255,255,255,.4)}
.ap-hero-content .ap-h1{color:var(--white)}
.ap-hero-intro{font-size:13px;font-weight:300;letter-spacing:.06em;color:rgba(255,255,255,.6);max-width:560px;line-height:1.8;margin-bottom:32px}

/* ── SECTIONS ──────────────────────────────────── */
.ap-section{padding:108px 56px}
.ap-section.beige{background:var(--beige)}
.ap-section.black{background:var(--black)}
.ap-section.center{text-align:center}
.ap-inner{max-width:1180px;margin:0 auto}
.ap-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.ap-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}

/* ── CARDS ─────────────────────────────────────── */
.ap-card{background:var(--white);padding:48px 40px}
.ap-section.beige .ap-card{background:var(--cream)}
.ap-card-num{font-family:var(--fh);font-size:48px;font-weight:300;color:var(--lg);line-height:1;margin-bottom:20px}
.ap-card-title{font-family:var(--fh);font-size:24px;font-weight:400;margin-bottom:14px}
.ap-card-body{font-size:13px;font-weight:300;line-height:1.85;color:var(--gray)}

/* ── PRICING ───────────────────────────────────── */
.ap-price-card{padding:56px 48px;background:var(--beige);text-align:left}
.ap-price-card.feat{background:var(--black)}
.ap-price-lbl{font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gray);margin-bottom:10px}
.ap-price-card.feat .ap-price-lbl{color:rgba(255,255,255,.35)}
.ap-price-name{font-family:var(--fh);font-size:28px;font-weight:400;margin-bottom:8px}
.ap-price-amount{font-family:var(--fh);font-size:56px;font-weight:300;line-height:1;margin-bottom:4px}
.ap-price-period{font-size:12px;font-weight:300;color:var(--gray);margin-bottom:26px}
.ap-price-card.feat .ap-price-name,.ap-price-card.feat .ap-price-amount{color:var(--white)}
.ap-price-card.feat .ap-price-period{color:rgba(255,255,255,.38)}
.ap-price-hr{width:100%;height:1px;background:var(--lg);margin-bottom:26px}
.ap-price-card.feat .ap-price-hr{background:rgba(255,255,255,.1)}
.ap-price-list{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:34px}
.ap-price-list li{font-size:13px;font-weight:300;color:var(--gray);display:flex;gap:10px}
.ap-price-list li::before{content:'—';color:var(--lg);font-size:11px}
.ap-price-card.feat .ap-price-list li{color:rgba(255,255,255,.6)}
.ap-price-card.feat .ap-price-list li::before{color:rgba(255,255,255,.2)}

/* ── FORMS (auth + general) ────────────────────── */
.ap-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:140px 22px 80px}
.ap-auth-card{width:100%;max-width:420px}
.ap-auth-card .ap-h3{text-align:center}
.ap-auth-sub{font-size:13px;color:var(--gray);text-align:center;margin-bottom:44px}
.ap-field{position:relative;border-bottom:1px solid var(--lg);transition:border-color .3s}
.ap-field:focus-within{border-color:var(--black)}
.ap-field label{font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);display:block;padding-top:20px;margin-bottom:7px;transition:color .3s}
.ap-field:focus-within label{color:var(--black)}
.ap-field input{width:100%;background:transparent;border:none;outline:none;font-family:var(--fb);font-size:14px;font-weight:300;color:var(--black);padding:0 0 16px;line-height:1.5}
.ap-form-actions{padding-top:36px;display:flex;flex-direction:column;gap:20px;align-items:center}
.ap-form-actions .ap-btn{width:100%;text-align:center}
.ap-form-alt{font-size:12px;color:var(--gray);text-align:center}
.ap-form-alt a{color:var(--black);text-decoration:none;border-bottom:1px solid var(--lg);padding-bottom:1px}
.ap-form-alt a:hover{border-color:var(--black)}
.ap-msg{display:none;padding:16px 20px;font-size:12px;line-height:1.7;margin-top:24px;text-align:center}
.ap-msg.show{display:block}
.ap-msg.ok{background:var(--beige);color:var(--black)}
.ap-msg.err{background:var(--black);color:var(--white)}

/* ── DASHBOARD / VOD ───────────────────────────── */
.ap-dash-head{padding:150px 56px 56px;border-bottom:1px solid var(--lg)}
.ap-dash-head .ap-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.ap-dash-status{font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gray)}
.ap-dash-status strong{color:var(--black);font-weight:500}
.ap-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px;margin-top:56px}
.ap-video-card{background:transparent}
.ap-video-thumb{position:relative;aspect-ratio:16/10;background:var(--black);overflow:hidden;margin-bottom:18px}
.ap-video-thumb video,.ap-video-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ap-video-thumb .ap-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(26,26,26,.25);cursor:pointer;transition:background .3s}
.ap-video-thumb .ap-play:hover{background:rgba(26,26,26,.05)}
.ap-play span{width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:18px;padding-left:4px;backdrop-filter:blur(4px)}
.ap-video-lvl{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gray);margin-bottom:8px;display:block}
.ap-video-title{font-family:var(--fh);font-size:22px;font-weight:400;line-height:1.2;margin-bottom:8px}
.ap-video-desc{font-size:12px;font-weight:300;line-height:1.8;color:var(--gray)}

/* Player modal */
.ap-player{position:fixed;inset:0;z-index:2000;background:rgba(26,26,26,.96);display:none;align-items:center;justify-content:center;padding:48px}
.ap-player.open{display:flex}
.ap-player video{max-width:min(960px,100%);max-height:85vh;display:block}
.ap-player-close{position:absolute;top:28px;right:36px;background:none;border:none;color:var(--white);font-size:28px;font-weight:300;cursor:pointer;opacity:.7;transition:opacity .3s}
.ap-player-close:hover{opacity:1}

/* ── TEASERS (public) ──────────────────────────── */
.ap-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:52px}
.ap-teaser-grid video{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--black)}

/* ── CALENDLY FRAME ────────────────────────────── */
.ap-cal-frame{background:var(--white);border:1px solid var(--lg);padding:8px;margin-top:52px}
.ap-cal-frame .calendly-inline-widget{min-width:320px;height:760px}

/* ── EBOOK ─────────────────────────────────────── */
.ap-ebook-cover{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block}
.ap-ebook-meta{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gray);display:flex;gap:28px;margin:26px 0}

/* ── BACKGROUND VIDEO ──────────────────────────── */
.ap-bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;pointer-events:none}
.ap-hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;pointer-events:none}
@media (prefers-reduced-motion: reduce){.ap-bgvid,.ap-hero-vid{display:none}}

/* ── QUOTE / CTA / FOOTER ──────────────────────── */
.ap-quote-section{padding:96px 56px;background:var(--black);text-align:center}
.ap-quote{font-family:var(--fh);font-size:clamp(26px,4vw,50px);font-weight:300;font-style:italic;line-height:1.42;max-width:760px;margin:0 auto 24px;color:var(--white)}
.ap-quote-by{font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.ap-cta{padding:100px 56px;text-align:center}
.ap-cta .ap-h3{max-width:520px;margin:0 auto 44px}
.ap-section.black .ap-label{color:rgba(255,255,255,.35)}
.ap-section.black .ap-h2,.ap-section.black .ap-h3{color:var(--white)}

.ap-footer{background:var(--black);padding:70px 56px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px}
.ap-footer-logo{font-family:var(--fh);font-size:22px;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--white);text-decoration:none;display:block;margin-bottom:14px}
.ap-footer-tag{font-size:12px;font-weight:300;line-height:1.9;color:rgba(255,255,255,.32)}
.ap-fcol h4{font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:18px}
.ap-fnav{list-style:none;display:flex;flex-direction:column;gap:11px}
.ap-fnav a{font-size:13px;font-weight:300;color:rgba(255,255,255,.36);text-decoration:none;transition:color .3s}
.ap-fnav a:hover{color:var(--white)}
.ap-fbot{background:var(--black);border-top:1px solid rgba(255,255,255,.06);padding:20px 56px;display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.2)}

/* ── RESPONSIVE ────────────────────────────────── */
@media(max-width:980px){
  .ap-video-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .ap-nav{padding:18px 22px}.ap-nav.scrolled{padding:13px 22px}
  .ap-nav-links,.ap-nav-right{display:none}
  .ap-burger{display:flex}
  .ap-hero-content{padding:0 22px 48px}
  .ap-section{padding:72px 22px}
  .ap-quote-section{padding:80px 22px}
  .ap-cta{padding:80px 22px}
  .ap-dash-head{padding:120px 22px 40px}
  .ap-grid-2,.ap-grid-3,.ap-teaser-grid{grid-template-columns:1fr;gap:36px}
  .ap-grid-3,.ap-teaser-grid{gap:3px}
  .ap-video-grid{grid-template-columns:1fr;gap:36px}
  .ap-player{padding:0}
  .ap-footer{grid-template-columns:1fr;padding:48px 22px;gap:32px}
  .ap-fbot{padding:18px 22px;flex-direction:column;gap:6px;text-align:center}
}
