@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap");

.cca-home { --ink:#171b23; --muted:#69707f; --line:#e5e7eb; --paper:#fff; --mist:#f7f8fa; --lime:#f0fb96; --purple:#6556c9; color:var(--ink); font-family:Inter,Arial,sans-serif; font-size:14px; line-height:1.6; }
.cca-home *, .cca-home *::before, .cca-home *::after { box-sizing:border-box; }.cca-home .container { margin:auto; max-width:1184px; width:calc(100% - 80px); }.cca-home h1,.cca-home h2 { font-family:"Playfair Display",Georgia,serif; font-weight:500; letter-spacing:-.055em; }.cca-home h1 { font-size:69px; line-height:1.11; }.cca-home h2 { font-size:40px; line-height:1.2; }.cca-home p { margin:0; }.cca-home .eyebrow,.cca-home .card-overline { color:var(--ink); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }.cca-home .section { padding:78px 0; }.cca-home .site-header { background:#fff; border-bottom:0; height:76px; padding:0; position:relative; }.cca-home .header-inner { align-items:center; display:flex; height:100%; margin:auto; max-width:1328px; position:relative; width:calc(100% - 40px); }.cca-home .brand { align-items:center; display:inline-flex; font-size:15px; font-weight:600; gap:8px; }.cca-home .brand svg { height:24px; width:24px; }.cca-home .brand-light { font-weight:400; }.cca-home .primary-nav { gap:32px; left:50%; margin:0; position:absolute; transform:translateX(-50%); }.cca-home .primary-nav a { font-size:11px; }.cca-home .header-right { margin-left:auto; }.cca-home .button { border-radius:5px; box-shadow:none; font-size:12px; font-weight:500; gap:24px; min-height:46px; padding:14px 22px; }.cca-home .button-small { font-size:11px; min-height:37px; padding:9px 15px; }.cca-home .button-dark { background:var(--ink); color:#fff; }.cca-home .button-dark:hover { background:#333947; }.cca-home .mobile-find { display:none; }.cca-home .hero { background:linear-gradient(110deg,#def6fb 0%,#bce6fa 43%,#b3b6f2 100%); }.cca-home .hero-inner { align-items:center; display:grid; gap:20px; grid-template-columns:1.13fr 1fr; min-height:545px; }.cca-home .hero-copy>p:not(.eyebrow):not(.hero-footnote) { color:#384352; font-size:14px; margin-top:21px; max-width:430px; }.cca-home .hero-copy h1 { margin:20px 0 0; }.cca-home .hero-copy em { font-style:italic; }.cca-home .hero-actions { align-items:center; display:flex; gap:27px; margin-top:26px; }.cca-home .text-link { align-items:center; display:inline-flex; font-size:12px; font-weight:500; gap:13px; }.cca-home .hero-footnote { align-items:center; display:flex; font-size:9px; gap:9px; margin-top:33px; }.cca-home .hero-footnote b { color:#a6adb9; font-weight:400; }.cca-home .dot { background:#5a987c; border-radius:50%; display:inline-block; height:4px; width:4px; }.cca-home .app-universe { height:410px; position:relative; }.cca-home .universe-orbit { border:1px solid rgba(255,255,255,.47); border-radius:50%; height:373px; left:35px; position:absolute; top:17px; width:373px; }.cca-home .orbit-two { height:278px; left:83px; top:63px; width:278px; }.cca-home .universe-plus { color:#4b478f; font-size:20px; font-weight:400; position:absolute; }.cca-home .plus-one { left:205px; top:196px; }.cca-home .plus-two { right:0; top:174px; }.cca-home .float-label { color:#454e5c; font-size:8px; position:absolute; }.cca-home .label-one { left:153px; top:5px; }.cca-home .label-two { bottom:13px; right:35px; text-align:right; }.cca-home .floating-app { background:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.7); border-radius:9px; box-shadow:0 14px 30px rgba(62,85,118,.08); color:var(--ink); height:159px; padding:18px 15px; position:absolute; width:164px; }.cca-home .floating-app img { border-radius:16px; height:73px; left:45px; position:absolute; top:17px; transform:rotate(-8deg); width:73px; }.cca-home .floating-app span { bottom:16px; font-size:9px; left:15px; position:absolute; }.cca-home .floating-app b { bottom:15px; font-size:13px; font-weight:400; position:absolute; right:14px; }.cca-home .float-recipes { left:6px; top:49px; transform:rotate(-7deg); }.cca-home .float-tabata { right:11px; top:22px; transform:rotate(7deg); }.cca-home .float-audio { bottom:19px; left:34px; transform:rotate(5deg); }.cca-home .float-rent { bottom:38px; right:19px; transform:rotate(-6deg); }.cca-home .float-tabata img,.cca-home .float-rent img { transform:rotate(8deg); }.cca-home .trust-strip { border-bottom:1px solid var(--line); background:#fff; }.cca-home .trust-strip .container { display:flex; justify-content:space-between; padding:14px 0; }.cca-home .trust-strip span { font-size:9px; }.cca-home .trust-last { margin-left:auto; }.cca-home .section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:29px; }.cca-home .section-heading h2 { margin-top:8px; }.cca-home .section-heading>div>p:not(.eyebrow) { color:var(--muted); font-size:12px; margin-top:7px; }.cca-home .needs-grid { display:grid; gap:13px; grid-template-columns:repeat(3,1fr); }.cca-home .need-card { border:1px solid var(--line); border-radius:5px; display:flex; flex-direction:column; min-height:227px; padding:20px; }.cca-home .need-card-top { align-items:center; display:flex; justify-content:space-between; }.cca-home .need-card-top i { font-size:19px; font-style:normal; line-height:1; }.cca-home .need-card-top b { color:#8d94a0; font-size:9px; font-weight:500; }.cca-home .need-card h3 { font-size:14px; letter-spacing:-.025em; line-height:1.35; margin:19px 0 8px; }.cca-home .need-card p { color:var(--muted); font-size:10px; line-height:1.7; }.cca-home .need-card-bottom { border-top:1px solid var(--line); display:flex; font-size:9px; justify-content:space-between; margin-top:auto; padding-top:12px; }.cca-home .need-card-bottom b { font-size:14px; font-weight:400; }.cca-home .catalog-section { background:var(--mist); }.cca-home .apps-grid { display:grid; gap:24px; grid-template-columns:repeat(3,1fr); }.cca-home .catalog-card { background:#fff; border:1px solid var(--line); border-radius:7px; min-width:0; overflow:hidden; }.cca-home .card-visual { align-items:center; display:flex; height:191px; justify-content:center; overflow:hidden; position:relative; }.cca-home .card-visual img { border-radius:18px; height:83px; transform:rotate(-8deg); width:83px; z-index:1; }.cca-home .card-index { font-size:8px; left:13px; position:absolute; top:11px; }.cca-home .visual-circle { border:1px solid rgba(255,255,255,.38); border-radius:50%; height:180px; position:absolute; width:180px; }.cca-home .visual-arrow { background:rgba(255,255,255,.72); border-radius:50%; bottom:10px; font-size:18px; height:30px; line-height:30px; position:absolute; right:10px; text-align:center; width:30px; }.cca-home .card-copy { padding:16px 14px 12px; }.cca-home .card-kicker { color:#5f6877; font-size:8px; font-weight:600; letter-spacing:.075em; margin:0; text-transform:uppercase; }.cca-home .card-copy h3 { font-size:14px; letter-spacing:-.03em; line-height:1.35; margin:7px 0; }.cca-home .card-copy>p:not(.card-kicker) { color:var(--muted); font-size:10px; line-height:1.65; min-height:50px; }.cca-home .card-footer { align-items:center; border-top:1px solid var(--line); display:flex; justify-content:space-between; margin-top:10px; padding-top:10px; }.cca-home .card-footer>span,.cca-home .compare-toggle { font-size:9px; }.cca-home .compare-toggle { color:#69707f; }.cca-home .compare-toggle[aria-pressed="true"] { background:transparent; color:var(--ink); }.cca-home .finder-section { padding-top:71px; }.cca-home .finder-banner { align-items:center; background:var(--lime); border-radius:7px; display:grid; gap:22px; grid-template-columns:63px 1fr auto; padding:32px 40px; }.cca-home .finder-symbol { align-items:center; border:1px solid var(--ink); border-radius:50%; display:flex; font-size:34px; height:63px; justify-content:center; width:63px; }.cca-home .finder-banner h2 { font-size:29px; }.cca-home .finder-banner p:not(.eyebrow) { color:#4a5237; font-size:11px; margin-top:3px; }.cca-home .home-guides { padding-top:12px; }.cca-home .guide-feature-grid { display:grid; gap:50px; grid-template-columns:1.05fr 1fr; }.cca-home .guide-feature { display:block; }.cca-home .guide-art { background:#e7e3f6; display:block; height:220px; overflow:hidden; position:relative; }.cca-home .receipt { background:#fff; box-shadow:0 7px 15px rgba(31,33,48,.12); display:flex; flex-direction:column; gap:10px; height:130px; left:35%; padding:18px; position:absolute; top:30px; transform:rotate(-6deg); width:220px; }.cca-home .receipt small { font-size:7px; }.cca-home .receipt i { background:#a7aa9b; height:2px; width:75%; }.cca-home .receipt i:nth-child(3) { width:58%; }.cca-home .receipt b { font-size:7px; font-weight:500; margin-top:auto; }.cca-home .guide-art img { border-radius:13px; bottom:18px; height:62px; left:31px; position:absolute; transform:rotate(12deg); width:62px; }.cca-home .guide-art em { font-size:27px; font-style:normal; position:absolute; right:35px; top:62px; }.cca-home .guide-feature .card-overline { display:block; font-size:8px; margin-top:15px; }.cca-home .guide-feature h3,.cca-home .guide-feature-side h3 { font-family:"Playfair Display",Georgia,serif; font-size:21px; font-weight:500; letter-spacing:-.035em; line-height:1.25; margin:8px 0; }.cca-home .guide-feature p,.cca-home .guide-feature-side p { color:var(--muted); font-size:10px; }.cca-home .guide-feature>.text-link { font-size:10px; margin-top:17px; }.cca-home .guide-feature-side a { border-top:1px solid var(--line); display:block; min-height:109px; padding:17px 30px 15px 0; position:relative; }.cca-home .guide-feature-side a:last-child { border-bottom:1px solid var(--line); }.cca-home .guide-feature-side h3 { font-size:20px; }.cca-home .guide-feature-side>a>b { font-size:18px; font-weight:400; position:absolute; right:2px; top:18px; }.cca-home .closing-search { padding:63px 0 75px; text-align:center; }.cca-home .closing-search h2 { font-size:31px; margin:6px 0 18px; }.cca-home .quick-search { align-items:center; border:1px solid #cfd3da; border-radius:4px; display:flex; height:54px; margin:auto; max-width:460px; padding-left:13px; }.cca-home .quick-search>span { font-size:20px; }.cca-home .quick-search input { border:0; flex:1; font-size:11px; outline:0; padding:0 12px; }.cca-home .quick-search button { background:var(--lime); border:0; font-size:21px; height:31px; margin-right:8px; width:31px; }.cca-home .closing-search>p:last-child { color:#8a919c; font-size:8px; margin-top:10px; }.cca-home .footer { background:#f6f7f9; border:0; padding:0; }.cca-home .footer-top { display:flex; justify-content:space-between; padding:52px 0 39px; }.cca-home .footer-top>div:first-child>p { color:#596170; font-size:10px; line-height:1.65; margin:19px 0 13px; }.cca-home .made { font-size:9px; }.cca-home .footer-links { display:flex; gap:76px; }.cca-home .footer-links>div { display:flex; flex-direction:column; gap:8px; }.cca-home .footer-links b { color:#7b8390; font-size:8px; font-weight:500; letter-spacing:.08em; margin-bottom:5px; }.cca-home .footer-links a { font-size:10px; }.cca-home .footer-bottom { border-top:1px solid #dfe2e6; color:#8b929c; display:flex; font-size:8px; justify-content:space-between; padding:14px 0; }
@media (max-width:800px) { .cca-home .container { width:calc(100% - 44px); }.cca-home .header-inner { width:calc(100% - 36px); }.cca-home .primary-nav { display:none; }.cca-home .primary-nav.is-open { background:#fff; display:flex; flex-direction:column; left:0; padding:20px 26px; position:absolute; right:0; top:68px; transform:none; z-index:20; }.cca-home .menu-toggle { display:block; margin-left:auto; }.cca-home .header-right { margin-left:14px; }.cca-home .hero-inner { min-height:490px; }.cca-home h1 { font-size:50px; }.cca-home .app-universe { transform:scale(.76); transform-origin:left center; }.cca-home .apps-grid { gap:18px; grid-template-columns:repeat(2,1fr); }.cca-home .finder-banner { grid-template-columns:1fr auto; }.cca-home .finder-symbol { display:none; } }
@media (max-width:560px) { .cca-home .container { width:calc(100% - 36px); }.cca-home .header-find { display:none; }.cca-home .hero-inner { display:block; min-height:0; }.cca-home .hero-copy { padding-top:39px; }.cca-home h1 { font-size:48px; }.cca-home .hero-actions { gap:16px; }.cca-home .app-universe { height:320px; left:calc(50% - 160px); margin-bottom:-55px; transform:scale(.64); transform-origin:top left; width:500px; }.cca-home .trust-strip .container { gap:7px; }.cca-home .trust-strip span { font-size:7px; }.cca-home .trust-last { display:none; }.cca-home .section { padding:44px 0; }.cca-home .section-heading { align-items:flex-start; flex-direction:column; gap:16px; }.cca-home h2 { font-size:32px; }.cca-home .needs-grid { gap:9px; grid-template-columns:repeat(2,1fr); }.cca-home .need-card { min-height:215px; padding:15px; }.cca-home .need-card h3 { font-size:13px; }.cca-home .need-card p { font-size:9px; }.cca-home .apps-grid { grid-template-columns:1fr; }.cca-home .finder-banner { display:flex; flex-direction:column; padding:26px; }.cca-home .guide-feature-grid { gap:28px; grid-template-columns:1fr; }.cca-home .footer-top { flex-direction:column; gap:35px; }.cca-home .footer-links { gap:40px; }.cca-home .footer-bottom { gap:10px; }.cca-home .footer-bottom span:last-child { margin-left:auto; } }

/* Reset generic legacy hero rules inherited from styles.css. */
.cca-home .hero { margin:0; max-width:none; min-height:0; padding:0; text-align:left; }
.cca-home .footer { background:#f6f7f9; border:0; display:block; margin:0; max-width:none; padding:0; width:100%; }
.cca-home .footer .container { margin-left:auto; margin-right:auto; max-width:1184px; padding-left:0; padding-right:0; width:calc(100% - 80px); }
.cca-home .footer-top { align-items:flex-start; display:flex; justify-content:space-between; min-height:188px; padding:48px 0 30px; width:100%; }.cca-home .footer-top>div:first-child { min-width:52%; }.cca-home .footer-links { display:flex; gap:88px; margin-left:auto; }.cca-home .footer-links a { line-height:1.55; }.cca-home .footer-bottom { align-items:center; border-top:1px solid var(--line); display:flex; justify-content:space-between; min-height:43px; }
@media (max-width:560px) { .cca-home .footer .container { width:calc(100% - 36px); }.cca-home .footer-top { padding:34px 0 26px; }.cca-home .footer-top>div:first-child { min-width:0; }.cca-home .footer-links { margin-left:0; } }
