/* Public Rory website. App layouts deliberately retain their own styles. */
.marketing-refresh{background:#10151d;color:#f3f1e9;--text:#f3f1e9;--muted:#b4bac4;--bg:#10151d}
.marketing-refresh .wrap{width:min(1240px,calc(100% - 80px));max-width:1240px}
.marketing-refresh .site-head{background:#10151df5;border-bottom:1px solid #ffffff12;backdrop-filter:blur(16px)}
.marketing-refresh .nav{min-height:92px;gap:28px}
.marketing-refresh .brand-lockup{width:104px;height:52px;object-fit:contain}
.marketing-refresh .nav-links{gap:24px}
.marketing-refresh .nav-links>a:not(.button){font-size:14px;color:#bfc5cf;font-weight:550}
.marketing-refresh .nav-links>a:hover,.marketing-refresh .nav-links>a[aria-current=page]{color:#fff}
.marketing-refresh .button{border-radius:100px;min-height:52px;padding:14px 25px;box-shadow:none;font-weight:650;font-size:14px;gap:20px;letter-spacing:0}
.marketing-refresh .button.primary{background:#b6ceff;border:1px solid #b6ceff;color:#10213c;box-shadow:none}
.marketing-refresh .button.primary:hover{background:#d1dfff;transform:translateY(-2px)}
.marketing-refresh .button.ghost{background:transparent;border:1px solid #626b79;color:#f3f1e9}
.marketing-refresh .button.ghost:hover{background:#ffffff0d}
.marketing-refresh .button.small{min-height:42px;padding:9px 20px}
.marketing-refresh a:focus-visible,.marketing-refresh button:focus-visible,.marketing-refresh summary:focus-visible{outline:3px solid #e9bf86;outline-offset:5px}
.marketing-refresh .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.mkt-eyebrow{display:none}
.mkt-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b9d6b4;margin-right:9px}
.mkt-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center;padding:80px 0 88px}
.marketing-refresh h1{font-size:clamp(48px,5.8vw,84px);letter-spacing:-.065em;line-height:1.04;font-weight:650;margin:0 0 28px;text-wrap:balance}
.marketing-refresh h1 span{color:#b6ceff}
.mkt-lede{font-size:clamp(17px,1.7vw,21px);line-height:1.65;color:#bfc5cf;max-width:640px;margin:0}
.mkt-caption{font-size:12px;line-height:1.7;color:#aab3c1;margin:20px 0 0}
.mkt-preview{min-width:0;background:#f2eee6;color:#202b3b;border-radius:22px;overflow:hidden;transform:rotate(2deg);box-shadow:0 25px 70px #0003;border:1px solid #ffffff20}
.mkt-preview-top{padding:18px 22px;display:flex;align-items:center;gap:3px;font-size:9px;letter-spacing:.12em;font-weight:700;border-bottom:1px solid #202b3b18}
.mkt-preview-top>span:last-child{margin-left:auto;white-space:nowrap}.mkt-preview-top .mkt-dot{background:#526da1;flex-shrink:0}
.mkt-preview-art{height:225px;background:#b7cbf2;position:relative;overflow:hidden;padding:25px 32px}
.mkt-art-word{font-size:44px;font-weight:750;letter-spacing:-.045em;line-height:.98;position:relative;z-index:1;display:block}
.mkt-art-word i{font-family:Georgia,serif;font-weight:400}.mkt-star{position:absolute;right:23px;bottom:15px;font-size:110px;line-height:1;color:#2d4f86;transform:rotate(15deg)}
.mkt-orbit{position:absolute;width:300px;height:300px;border:1px solid #6a8bbe;border-radius:50%;right:-75px;top:-105px;box-shadow:0 0 0 30px #b7cbf2,0 0 0 31px #6a8bbe,0 0 0 61px #b7cbf2,0 0 0 62px #6a8bbe}
.mkt-preview-body{padding:25px 30px 18px}.mkt-tag{font-size:9px;letter-spacing:.16em;font-weight:700;color:#52617a}
.marketing-refresh .mkt-preview h2{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin:10px 0;font-weight:650}
.mkt-preview-body>p{font-size:13px;line-height:1.65;color:#5d6878;margin-bottom:18px}
.mkt-preview-actions{display:flex;gap:24px;padding:14px 0;border-top:1px solid #202b3b20;font-size:12px;font-weight:650}
.mkt-sample-reply{display:flex;gap:12px;align-items:center;background:#e9e5dd;border-radius:12px;padding:14px}.mkt-sample-reply>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#d0a998;font-size:13px}.mkt-sample-reply p{margin:0;font-size:11px;line-height:1.7}.mkt-preview-label{font-size:10px;color:#647083;margin:0;padding:0 30px 18px}
.mkt-words{display:flex;justify-content:space-between;gap:20px;padding:26px 0;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;color:#b5becc;font-size:13px;font-weight:550}
.mkt-section{padding:100px 0}.mkt-section-head{max-width:750px;margin-bottom:40px}.marketing-refresh h2{font-size:clamp(32px,4vw,55px);letter-spacing:-.055em;line-height:1.08;font-weight:600}.mkt-section-head>p:last-child{max-width:540px;color:#b4bac4;font-size:17px;line-height:1.65}
.mkt-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mkt-feature{padding:34px 30px;border:1px solid #ffffff20;border-radius:18px;background:#171e28;display:flex;flex-direction:column;align-items:flex-start;min-height:0}.mkt-number{font-size:10px;letter-spacing:.13em;color:#aab9ce;font-weight:650;margin-bottom:16px}.mkt-feature h3{font-size:29px;letter-spacing:-.04em;line-height:1.12;font-weight:550;margin:0 0 16px}.mkt-feature p{font-size:14px;line-height:1.75;color:#bac2ce;margin:0 0 25px}.mkt-feature a{margin-top:auto;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:5px}.mkt-feature-blue{background:inherit;color:inherit;border-color:var(--line)}
.mkt-statement{padding:32px 0;border-top:1px solid var(--line);background:transparent;color:inherit}.mkt-statement .mkt-eyebrow{color:#5c687a}.mkt-statement h2{font-size:clamp(38px,5vw,70px);margin-bottom:28px}.mkt-statement em{font-family:inherit;font-style:normal;color:inherit}.mkt-statement>p:not(.mkt-eyebrow){max-width:560px;font-size:17px;line-height:1.7;color:#566173}.mkt-statement .button.primary{background:#213d67;color:#fff;border-color:#213d67;margin-top:10px}
.mkt-text-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:6px;margin-top:24px;line-height:1.6}.mkt-faq{display:grid;grid-template-columns:1fr 1fr;gap:80px}.mkt-faq details{border-bottom:1px solid #ffffff20;padding:22px 0}.mkt-faq summary{font-size:17px;cursor:pointer;line-height:1.5;padding-right:15px}.mkt-faq details p{color:#b4bac4;font-size:15px;line-height:1.75;margin:18px 0 0}
.mkt-cta{margin-bottom:85px;border-top:1px solid #ffffff20;padding:60px 0 0;display:flex;align-items:center;justify-content:space-between;gap:40px}.mkt-cta h2{margin-bottom:0}.mkt-cta .mkt-eyebrow{margin-bottom:18px}.mkt-cta>div:last-child{display:flex;flex-direction:column;align-items:flex-start}.mkt-cta p:not(.mkt-eyebrow){color:#b4bac4;font-size:13px;max-width:430px;margin-top:24px}
.mkt-page-hero{padding:85px 0 70px;border-bottom:1px solid #ffffff20}.mkt-page-hero h1{max-width:1080px}.mkt-page-hero .mkt-lede{max-width:700px}.mkt-editorial{padding:80px 0;border-bottom:1px solid #ffffff20;display:grid;grid-template-columns:1fr 1fr;gap:100px}.mkt-editorial+.mkt-cta{border:0}.mkt-prose p{font-size:18px;color:#bfc5cf;line-height:1.8}.mkt-prose .mkt-caption{font-size:13px}.mkt-detail-list article+article{border-top:1px solid #ffffff20;padding-top:24px;margin-top:24px}.mkt-detail-list h3{font-size:21px;letter-spacing:-.02em;font-weight:600;margin-bottom:10px}.mkt-detail-list p{color:#bfc5cf;font-size:16px;line-height:1.75;margin-bottom:0}.mkt-inline-links{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;text-decoration:underline;text-underline-offset:5px;margin-top:24px}
.marketing-refresh .site-footer{background:#0b1017;border-top:1px solid #ffffff16;padding:60px 0 20px}.marketing-refresh .footer-top{gap:55px}.marketing-refresh .footer-brand>p{max-width:260px;color:#aab4c4}.marketing-refresh .footer-map{gap:32px}.marketing-refresh .footer-col h3{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#f3f1e9}.marketing-refresh .footer-col a{font-size:13px;color:#aab4c4}.marketing-refresh .footer-bottom{font-size:12px;color:#aab4c4}.marketing-refresh .footer-company{font-size:12px;color:#aab4c4}
@media(max-width:1050px){.marketing-refresh .wrap{width:calc(100% - 48px)}.marketing-refresh .nav-links{gap:16px}.mkt-hero{gap:38px}.mkt-feature{padding:28px 23px}.mkt-feature h3{font-size:25px}.mkt-editorial,.mkt-faq{gap:50px}.mkt-preview-top{font-size:8px;padding:16px}.mkt-preview-art{height:210px}}
@media(max-width:940px){.marketing-refresh .nav{min-height:76px}.marketing-refresh .mobile-toggle{display:block}.marketing-refresh .nav-links{display:none;position:absolute;left:0;right:0;top:100%;padding:24px;background:#10151d;border-bottom:1px solid #ffffff30;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 76px);overflow:auto}.marketing-refresh .nav-links.open{display:flex}.marketing-refresh .nav-links>a{padding:12px}.marketing-refresh .nav-links .button{margin-top:8px}.mkt-hero{grid-template-columns:1fr;gap:45px;padding:50px 0 55px}.mkt-hero-copy{max-width:600px}.mkt-preview{max-width:520px;width:calc(100% - 12px);justify-self:center;transform:rotate(1deg)}.mkt-feature-grid{grid-template-columns:1fr}.mkt-feature{min-height:0;padding:30px}.mkt-number{margin-bottom:25px}.mkt-feature h3{font-size:29px}.mkt-words{display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:12px;gap:18px}.mkt-section{padding:65px 0}.mkt-statement{padding:45px 30px}.mkt-faq,.mkt-editorial{grid-template-columns:1fr;gap:20px}.mkt-editorial{padding:55px 0}.mkt-cta{align-items:flex-start;flex-direction:column;margin-bottom:60px;padding-top:45px}.mkt-page-hero{padding:50px 0}.marketing-refresh .footer-top{grid-template-columns:1fr}.marketing-refresh .footer-map{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.marketing-refresh .wrap{width:calc(100% - 36px)}.marketing-refresh h1{font-size:46px}.mkt-preview-top{letter-spacing:.05em;font-size:7px}.mkt-preview-body{padding:22px}.mkt-art-word{font-size:40px}.mkt-hero .actions{flex-direction:column;align-items:stretch}.mkt-statement{padding:35px 24px}.mkt-preview-label{padding-left:22px}.mkt-preview-actions{gap:18px}.marketing-refresh .footer-bottom{align-items:flex-start;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marketing-refresh *, .marketing-refresh *::before,.marketing-refresh *::after{animation:none!important;transition:none!important}.marketing-refresh .button:hover{transform:none}}

/* Homepage refinement: readable examples, compact sections, and clear actions. */
.marketing-refresh .mkt-statement .button.primary:hover{background:#2b4d7b;color:#fff;border-color:#2b4d7b;filter:none}
.marketing-refresh .creator-tile .tile-meta{display:block;padding:0 18px 18px}
.marketing-refresh .creator-tile .tile-meta .avatar{position:relative}
.marketing-refresh .mkt-feature a,.marketing-refresh .mkt-text-link{min-height:44px;display:inline-flex;align-items:center;padding:8px 0;line-height:1.5}
.marketing-refresh .footer-col a{padding:4px 0;margin:5px 0}
.marketing-refresh .footer-bottom nav a{display:inline-flex;align-items:center;min-height:32px}
.mkt-home .mkt-hero{padding:56px 0;gap:56px;grid-template-columns:1.15fr 1fr}
.marketing-refresh.mkt-home h1{font-size:clamp(36px,4.7vw,66px);letter-spacing:-.045em;line-height:1.08}
.mkt-home .mkt-preview{transform:none;box-shadow:none;max-width:500px;width:100%;justify-self:end}
.mkt-home .mkt-preview-top{font-size:12px;letter-spacing:0;padding:16px 24px;line-height:1.5;color:#52617a}
.mkt-home .mkt-preview-body{padding:24px}
.mkt-home .mkt-tag{font-size:11px;letter-spacing:.08em}
.mkt-home .mkt-post-title{font-size:25px;line-height:1.2;letter-spacing:-.025em;font-weight:650;color:#202b3b;margin:12px 0}
.mkt-home .mkt-preview-body>p:not(.mkt-post-title){font-size:15px;line-height:1.6}
.mkt-home .mkt-sample-reply p{font-size:14px;line-height:1.6}
.mkt-home .mkt-preview-body>.mkt-example-note{font-size:12px;margin:18px 0 0}
.mkt-home .mkt-section{padding:56px 0}
.mkt-home .mkt-section-head{margin-bottom:28px}
.mkt-home h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em;line-height:1.15;margin:0 0 20px}
.mkt-home .mkt-feature{min-height:0;padding:28px}
.mkt-home .mkt-feature h3{font-size:24px;line-height:1.25}
.mkt-home .mkt-feature p{font-size:15px;margin-bottom:16px}
.mkt-home .mkt-feature a{font-size:14px}
.mkt-home .mkt-statement{padding:36px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.mkt-home .mkt-statement p{font-size:16px;line-height:1.65;color:#566173;max-width:600px;margin:0}
.mkt-home .mkt-statement .button{flex-shrink:0;margin:0}
.mkt-home #creators .creator-grid{grid-template-columns:repeat(auto-fit,minmax(240px,360px))}
.mkt-home .mkt-faq{grid-template-columns:1fr 1.4fr;gap:48px}
.mkt-home .mkt-faq details:first-child{padding-top:0}
.mkt-home .mkt-faq details a{text-decoration:underline;text-underline-offset:3px}
.mkt-home .mkt-cta{padding-top:36px;margin-bottom:48px;flex-direction:row;align-items:center}
.mkt-home .mkt-cta h2{margin:0}
@media(max-width:940px){
 .marketing-refresh .nav-links{border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-bottom:1px solid #ffffff30}
 .marketing-refresh .site-head:not(.nav-ready){position:relative}
 .marketing-refresh .site-head:not(.nav-ready) .nav{height:auto;flex-wrap:wrap;padding-top:12px}
 .marketing-refresh .site-head:not(.nav-ready) .mobile-toggle{display:none}
 .marketing-refresh .site-head:not(.nav-ready) .nav-links{display:flex;position:static;width:100%;max-height:none}
 .mkt-home .mkt-hero{gap:32px}
 .mkt-home .mkt-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .mkt-home .mkt-feature{padding:22px}
 .mkt-home .mkt-feature h3{font-size:22px}
 .mkt-home .mkt-hero-copy{min-width:0}
}
@media(max-width:760px){
 .mkt-home .mkt-hero{grid-template-columns:1fr;padding:32px 0;gap:28px}
 .mkt-home .mkt-preview{justify-self:center;max-width:none}
 .mkt-home .mkt-feature-grid{grid-template-columns:1fr;gap:12px}
 .mkt-home .mkt-section{padding:36px 0}
 .mkt-home .mkt-statement{padding:28px;align-items:flex-start;flex-direction:column;gap:20px}
 .mkt-home .mkt-faq{grid-template-columns:1fr;gap:8px}
 .mkt-home .mkt-cta{flex-direction:column;align-items:flex-start;gap:24px}
}
@media(max-width:480px){
 .mkt-home .mkt-hero .actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:22px}
 .mkt-home .mkt-preview-top{padding:14px 20px}
 .mkt-home .mkt-preview-body{padding:20px}
 .mkt-home .mkt-lede{font-size:17px;line-height:1.6}
 .mkt-home .mkt-caption{margin-top:14px}
}

/* Desktop proportions; mobile retains its current layout. */
@media (min-width: 1024px) {
  .marketing-refresh .nav { height: 64px; min-height: 64px; }
  .marketing-refresh .brand-lockup { height: 28px; }
  .marketing-refresh .button { min-height: 40px; padding-inline: 18px; font-size: 14px; }
  .marketing-refresh.mkt-home h1 { font-size: clamp(42px, 3.7vw, 52px); }
  .mkt-home h2 { font-size: 30px; }
  .mkt-home .mkt-hero { padding-block: 36px; gap: 40px; }
  .mkt-home .mkt-lede { font-size: 16px; }
  .mkt-home .mkt-section { padding-block: 40px; }
  .mkt-home .mkt-feature { padding: 22px; }
  .mkt-home .mkt-feature h3 { font-size: 21px; }
  .mkt-home .mkt-statement { padding: 28px; }
}

/* Browser-captured product previews: preserve the actual interface aspect ratio. */
.mkt-product-shot{margin:0;min-width:0;overflow:hidden;border:1px solid #ffffff24;border-radius:16px;background:#0b111e;box-shadow:0 18px 55px #0003}
.mkt-product-shot>a{display:block;line-height:0}
.mkt-product-shot img{display:block;width:100%;height:auto}
.mkt-product-shot figcaption{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;color:#b4bac4;font-size:12px;line-height:1.5;border-top:1px solid #ffffff16}
.mkt-product-shot figcaption span{white-space:nowrap;color:#b6ceff}
.mkt-product-showcase .mkt-product-shot{max-width:1100px;margin-inline:auto}
.mkt-product-showcase .mkt-section-head{max-width:680px}
@media(max-width:600px){.mkt-product-shot figcaption{flex-direction:column;gap:3px;padding:12px}.mkt-product-hero{width:100%}}

/* Content-led public pages. */
.marketing-refresh .mkt-page-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.1;letter-spacing:-.04em}.marketing-refresh .mkt-editorial h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.025em}.marketing-refresh .mkt-editorial{padding:48px 0;gap:48px}.marketing-refresh .mkt-editorial>p,.marketing-refresh .mkt-editorial>div>p{color:var(--muted);font-size:18px;line-height:1.6}.marketing-refresh .mkt-product-shot{margin:0;box-shadow:none;border-radius:10px}.marketing-refresh .mkt-product-shot img{width:100%;height:auto}.marketing-refresh .actions .mkt-text-link{margin-top:0;align-self:center}.marketing-refresh .mkt-text-link{color:inherit}.marketing-refresh .mkt-cta h2{font-size:32px}.marketing-refresh .button{border-radius:8px}.marketing-refresh .mkt-prose a{text-decoration:underline;text-underline-offset:3px}
.marketing-refresh .mkt-prose .mkt-text-link{display:inline;font-size:inherit;margin:0;padding:0;min-height:0}
