/* Brand tokens from the Yiannis Markus app admin portal. */
:root {
 color-scheme:light; --bg:#faf6f2; --text:#1e1c1a; --muted:#7f776c; --line:#e8ddd2;
 --primary:#986522; --primaryText:#fff; --accent-soft:rgba(152,101,34,.14); --deep-accent:#5d1c1d; --action:#5d1c1d; --action-hover:#731f22;
 --shadow:0 28px 60px rgba(62,29,18,.08); --radius:24px;
 --body-font:"Segoe UI","Trebuchet MS",sans-serif; --serifA:Georgia,"Times New Roman",serif; --serifB:Georgia,"Times New Roman",serif;
}
body,body.admin { background:radial-gradient(circle at top left,rgba(152,101,34,.10),transparent 26%),radial-gradient(circle at top right,rgba(93,28,29,.05),transparent 24%),var(--bg); color:var(--text); font-family:var(--body-font); -webkit-font-smoothing:antialiased; }
body:not(.admin) { position:relative; isolation:isolate; overflow-x:clip; }
body:not(.admin)::before,body:not(.admin)::after { content:""; position:fixed; width:min(38rem,78vw); height:min(38rem,78vw); border-radius:50%; pointer-events:none; z-index:-1; filter:blur(82px); opacity:.24; will-change:transform; }
body:not(.admin)::before { top:3rem; left:-12rem; background:radial-gradient(circle at 38% 34%,rgba(152,101,34,.34),rgba(152,101,34,.12) 30%,transparent 64%); animation:ambientBlobOne 22s ease-in-out infinite alternate; }
body:not(.admin)::after { right:-12rem; bottom:1rem; background:radial-gradient(circle at 42% 45%,rgba(93,28,29,.26),rgba(188,129,34,.1) 34%,transparent 66%); animation:ambientBlobTwo 26s ease-in-out infinite alternate; }
*,*::before,*::after { box-sizing:border-box; }
button,input,select,textarea { font:inherit; }
h1,h2,h3,h4,h5,h6,.admin-title { font-family:var(--serifA); letter-spacing:-.035em; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.site-header { position:fixed; left:50%; width:100%; margin:0 auto; top:0; transform:translateX(-50%); background:rgba(255,255,255,.94); border:1px solid transparent; border-bottom-color:var(--line); backdrop-filter:blur(16px) saturate(135%); -webkit-backdrop-filter:blur(16px) saturate(135%); box-shadow:0 8px 22px rgba(62,29,18,.035); transition:width .55s cubic-bezier(.22,1,.36,1),top .55s cubic-bezier(.22,1,.36,1),border-radius .55s cubic-bezier(.22,1,.36,1),background-color .45s ease,border-color .45s ease,box-shadow .55s ease; }
.site-header.is-scrolled { width:min(1200px,calc(100% - 22px)); top:7px; border-color:rgba(255,255,255,.54); border-radius:22px; background:rgba(255,255,255,.74); box-shadow:0 13px 30px rgba(62,29,18,.09); }
.site-header.is-scrolled:hover,.site-header.is-scrolled:focus-within { background:rgba(255,255,255,.79); box-shadow:0 15px 32px rgba(62,29,18,.105); }
.site-header.is-scrolled .header-inner--lovy { padding:12px 0; }
.site-header.is-scrolled .brand-logo { width:44px; height:44px; }
[data-include="header"] { min-height:93px; }
.header-inner--lovy { padding:18px 0; transition:padding .5s cubic-bezier(.22,1,.36,1); }
.brand,.admin-brand { display:flex; align-items:center; gap:12px; }
.brand-logo { width:52px; height:52px; object-fit:contain; flex-shrink:0; transition:width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1); }
.brand-text--serif { font-size:23px; letter-spacing:-.035em; cursor:pointer; }
.nav-desktop--lovy { font-family:var(--serifA); font-size:16px; gap:24px; }
.nav-desktop a:not(.btn):hover,.mobile-menu a:not(.btn):hover { color:var(--primary); }
.btn,.btn-outline-hero,.mm-btn,.sow-btn,.pmc-btn,.ooo-btn,.admin-btn { border-radius:16px; font-family:var(--serifA); font-weight:700; letter-spacing:.01em; transition:background .18s,transform .18s,border-color .18s; }
.btn-primary--lovy { min-width:90px; padding:13px 24px; }
.btn-primary--lovy,.mm-btn,.sow-btn,.pmc-btn--primary,.ooo-btn,.admin-btn,.btn-outline-hero { background:var(--action); border-color:var(--action); color:#fff; }
body.page-oneonone .nav-desktop--lovy .btn-primary--lovy,
body.page-oneonone .mobile-menu .btn-primary--lovy { background:var(--action); border-color:var(--action); color:#fff!important; }
body.page-sowing .site-header { left:50%; right:auto; transform:translateX(-50%); }
body.page-sowing .nav-desktop--lovy .btn-primary--lovy,
body.page-sowing .mobile-menu .btn-primary--lovy,
body.page-sowing .sow-btn { background:var(--action); border-color:var(--action); color:#fff!important; }
.btn-primary--lovy:hover,.mm-btn:hover,.sow-btn:hover,.pmc-btn--primary:hover,.ooo-btn:hover,.admin-btn:hover,.btn-outline-hero:hover { background:var(--action-hover); border-color:var(--action-hover); }
.btn:hover,.mm-btn:hover,.sow-btn:hover { transform:translateY(-1px); }
.burger--lovy {
 position:relative;
 overflow:hidden;
 border-radius:16px;
 border-color:rgba(255,255,255,.78);
 background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(250,246,242,.66));
 box-shadow:0 10px 26px rgba(62,29,18,.11),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(152,101,34,.08);
 backdrop-filter:blur(16px) saturate(145%);
 -webkit-backdrop-filter:blur(16px) saturate(145%);
 transition:transform .25s cubic-bezier(.22,1,.36,1),background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.burger--lovy::before {
 content:"";
 position:absolute;
 inset:1px;
 border-radius:14px;
 background:linear-gradient(135deg,rgba(255,255,255,.48),transparent 54%);
 pointer-events:none;
}
.burger--lovy span {
 position:relative;
 z-index:1;
 height:2px;
 border-radius:999px;
 background:rgba(93,28,29,.9);
 box-shadow:0 1px 2px rgba(93,28,29,.12);
 transition:transform .25s ease,background .25s ease;
}
.burger--lovy:hover,.burger--lovy:focus-visible {
 transform:translateY(-1px);
 border-color:rgba(255,255,255,.92);
 background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(250,246,242,.76));
 box-shadow:0 13px 30px rgba(62,29,18,.14),inset 0 1px 0 #fff;
}
.burger--lovy[aria-expanded="true"] {
 background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(152,101,34,.13));
 box-shadow:0 8px 22px rgba(62,29,18,.13),inset 0 1px 0 #fff;
}
.mobile-menu { position:absolute; inset:auto 20px auto; top:calc(100% + 8px); width:auto; max-height:calc(100vh - 112px); overflow-y:auto; background:#fff; border:1px solid var(--line); border-radius:0 0 22px 22px; box-shadow:0 24px 55px rgba(62,29,18,.16); }
.mobile-menu-inner { width:100%; padding:16px; gap:7px; font-family:var(--serifA); }
.mobile-menu-inner a { padding:13px 14px; border-bottom:1px solid var(--line); font-size:19px; }
.mobile-menu-inner .btn { margin-top:6px; border-bottom-color:var(--action); }
.mobile-menu-close { margin:0 0 2px auto; padding:2px 9px 6px; color:var(--deep-accent); }
.svc-card,.sow-card,.mm-card,.pmc-accordion-inner { background:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.62); border-radius:var(--radius); box-shadow:var(--shadow); backdrop-filter:blur(16px) saturate(125%); -webkit-backdrop-filter:blur(16px) saturate(125%); }
.svc-card,.sow-card { padding:30px; }
.mm-card { overflow:hidden; width:100%; max-width:390px; }
.mm-card-body { padding:22px; gap:12px; }
.mm-card-title,.svc-card-title,.sow-card-title { font-family:var(--serifA); font-size:23px; }
.mm-cover { background:#f5ebdd; border-color:var(--line); }
.mm-cover img { border-radius:14px; }
.sow { background:transparent; }
.svc-kicker,.sow-kicker,.mm-kicker,.pmc-kicker,.pmc-subkicker { color:var(--primary); font-weight:600; }
.svc-badge,.sow-pill,.mm-pill { border-color:var(--line); background:var(--accent-soft); color:var(--primary); border-radius:999px; }
.svc-link,.sow-link { color:var(--primary); }
.pmc-accordion-inner { padding:10px 28px; }
.pmc-item { border-color:var(--line); }
.pmc-item:last-child { border-bottom:0; }
.pmc-summary { font-size:23px; }
.footer-dark { background:var(--deep-accent); margin-top:40px; }
.footer-logo { width:64px; height:64px; margin:0 auto 24px; }
.footer-legal { font-family:var(--body-font); }
.social-icon { width:42px; height:42px; }
.admin-wrap { padding:44px 24px; }
.admin-card { border:1px solid var(--line); border-radius:32px; padding:32px; box-shadow:var(--shadow); }
.admin-title { font-size:32px; }
.admin-sub,.admin-status,.admin-progress-text { color:var(--muted); }
.admin-input,.admin-textarea { max-width:100%; min-width:0; border-color:var(--line); border-radius:14px; padding:14px; font-family:var(--body-font); }
.admin-input:focus,.admin-textarea:focus { border-color:var(--primary); }
.admin-btn,.admin-nav-link,.admin-menu-link,.admin-menu-btn,.admin-pill { border-radius:12px; font-family:var(--body-font); letter-spacing:0; text-transform:none; }
.admin-btn { background:var(--action); border-color:var(--action); font-weight:700; }
.admin-btn--ghost { background:#fff; color:var(--deep-accent); border-color:var(--line); }
.admin-btn--success { background:#33503d; border-color:#33503d; }
.admin-nav-link,.admin-menu-link,.admin-menu-btn { border-color:var(--line); color:var(--muted); text-decoration:none; font-family:var(--serifA); font-size:15px; }
.admin-nav-link.is-active,.admin-menu-link.is-active { background:var(--accent-soft); color:var(--primary); border-color:var(--line); }
.admin-topbar { border-color:var(--line); }
.admin-topbar-inner { width:min(1280px,100%); }
.admin-brand { font-family:var(--serifA); color:var(--text); letter-spacing:-.02em; text-transform:none; font-size:18px; white-space:nowrap; }
.admin-brand .brand-logo { width:38px; height:38px; }
.admin-nav { gap:8px; }
.admin-nav-link { padding:10px 12px; white-space:nowrap; }
.admin-blank { background:var(--bg); border:1px solid var(--line); border-radius:18px; padding:20px; overflow-wrap:anywhere; }
.admin-divider { border-color:var(--line); margin:24px 0; }
.admin-row { flex-wrap:wrap; }
.admin-progress-bar { background:var(--primary); }
.login-logo { display:block; width:88px; height:88px; margin:0 auto 20px; }
.admin-login .admin-title,.admin-login .admin-sub { text-align:center; }
@media(max-width:1100px) { .admin-nav,.admin-logout { display:none; } .admin-menu-btn { display:inline-flex; } }
@media(max-width:600px) {
 .brand-text--serif { font-size:19px; } .brand-logo { width:44px; height:44px; }
 [data-include="header"] { min-height:88px; }
 .svc-card,.sow-card,.admin-card { padding:22px; } .admin-wrap { padding:24px 16px; }
 .svc-card-top,.sow-card-top { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }
.svc-title,.sow-title,.mm-title,.mm-h2,.pmc-h1,.ooo-title { font-family:var(--serifA); letter-spacing:-.035em; }
body { min-height:100vh; }
.admin-login .admin-wrap { min-height:100vh; }
.ooo-content { background:transparent; padding:40px 0; }
.ooo-content-inner { background:rgba(255,255,255,.74); padding:36px; border:1px solid rgba(255,255,255,.62); border-radius:28px; box-shadow:var(--shadow); backdrop-filter:blur(16px) saturate(125%); }
.ooo-btn { border-radius:16px; font-family:var(--serifA); }
@media(max-width:600px) { .ooo-content-inner { padding:24px; } }

.intro-announce-inner,.quote-strip-inner { background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.62)); border-color:rgba(255,255,255,.7); backdrop-filter:blur(18px) saturate(135%); -webkit-backdrop-filter:blur(18px) saturate(135%); }
.mobile-menu {
 isolation:isolate;
 overflow:hidden;
 background-color:rgba(250,246,242,.26);
 background-image:radial-gradient(circle at 10% 4%,rgba(255,255,255,.48),transparent 34%),radial-gradient(circle at 88% 92%,rgba(152,101,34,.06),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.38),rgba(250,246,242,.28));
 border-color:rgba(255,255,255,.86);
 border-radius:22px;
 box-shadow:0 28px 65px rgba(62,29,18,.2),inset 0 1px 0 rgba(255,255,255,.98),inset 0 0 30px rgba(255,255,255,.2);
 backdrop-filter:blur(42px) saturate(120%) contrast(92%);
 -webkit-backdrop-filter:blur(42px) saturate(120%) contrast(92%);
}
.mobile-menu::before {
 content:"";
 position:absolute;
 inset:0;
 z-index:-1;
 background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 46%,rgba(152,101,34,.025));
 pointer-events:none;
}
.mobile-menu-inner a:not(.btn) {
 border-bottom-color:rgba(152,101,34,.16);
 text-shadow:0 1px 0 rgba(255,255,255,.82);
}
@media(max-width:1000px) {
 .site-header.has-open-menu {
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
 }
 .site-header.has-open-menu .mobile-menu {
  background-color:rgba(250,246,242,.26);
  backdrop-filter:blur(42px) saturate(120%) contrast(92%);
  -webkit-backdrop-filter:blur(42px) saturate(120%) contrast(92%);
 }
}

/* Motion system adapted from Heavens Love. */
[data-reveal] { opacity:0; transform:translate3d(0,28px,0); transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0s); will-change:opacity,transform; }
[data-reveal="left"] { transform:translate3d(-32px,18px,0); }
[data-reveal="right"] { transform:translate3d(32px,18px,0); }
[data-reveal="zoom"] { transform:scale(.96); }
[data-reveal].is-visible { opacity:1; transform:translate3d(0,0,0) scale(1); }
.has-parallax { transform:translateY(var(--parallax-offset,0)); transition:transform .18s linear; will-change:transform; }
@keyframes ambientBlobOne { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(6rem,3rem,0) scale(1.08); } }
@keyframes ambientBlobTwo { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(-5rem,-4rem,0) scale(1.1); } }

/* Latest-video module using the official channel uploads playlist. */
.latest-video-section { padding:26px 0 50px; }
.glass-panel { background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.56)); border:1px solid rgba(255,255,255,.7); box-shadow:0 28px 60px rgba(62,29,18,.11); backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%); }
.latest-video-shell { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:clamp(26px,4vw,52px); align-items:center; padding:clamp(22px,3vw,40px); border-radius:32px; overflow:hidden; }
.latest-video-card { min-width:0; padding:8px; border-radius:27px; background:rgba(255,255,255,.34); border:1px solid rgba(255,255,255,.72); box-shadow:0 20px 44px rgba(62,29,18,.13); }
.latest-video-frame { position:relative; aspect-ratio:16 / 9; border-radius:20px; overflow:hidden; background:#16090a; }
.latest-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.latest-video-copy h2 { margin:0 0 16px; font-size:clamp(32px,4vw,52px); line-height:1.06; font-weight:400; }
.latest-video-copy>p:not(.brand-eyebrow) { margin:0; color:var(--muted); line-height:1.75; }
.youtube-glass-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; margin-top:24px; padding:0 20px; border:1px solid rgba(93,28,29,.2); border-radius:999px; color:var(--deep-accent); background:rgba(255,255,255,.42); box-shadow:0 14px 30px rgba(62,29,18,.09),inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter:blur(14px); font-family:var(--serifA); font-weight:700; transition:transform .28s ease,background .28s ease,color .28s ease,box-shadow .28s ease; }
.youtube-glass-button:hover,.youtube-glass-button:focus-visible { transform:translateY(-2px) scale(1.02); background:var(--deep-accent); color:#fff; box-shadow:0 20px 36px rgba(93,28,29,.22); }
.youtube-glass-button i { font-size:19px; }
@media(max-width:850px) { .latest-video-shell { grid-template-columns:1fr; } .latest-video-copy { text-align:center; } }
@media(max-width:600px) { .site-header.is-scrolled { width:calc(100% - 10px); top:5px; border-radius:19px; } .latest-video-section { padding:14px 0 30px; } .latest-video-shell { padding:16px; border-radius:24px; } .latest-video-card { padding:5px; border-radius:20px; } .latest-video-frame { border-radius:16px; } }
@media(prefers-reduced-motion:reduce) { body:not(.admin)::before,body:not(.admin)::after { display:none; } [data-reveal] { opacity:1; transform:none; } .has-parallax { transform:none; } }
