
.cfproduct{--ink:#183a2b;--green:#123b2c;--green2:#174734;--gold:#d8b85f;--paper:#f6f4ee;--line:#d7dfd9;--text:#34493d;--muted:#4a5f53;color:var(--ink);background:#fff}
.cfproduct *{box-sizing:border-box}
.cfproduct-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}
.cfproduct-section{padding:96px 0}
.cfproduct h1,.cfproduct h2,.cfproduct h3{margin-top:0}
.cfproduct h1{max-width:780px;font-size:clamp(50px,6vw,82px);line-height:.98;letter-spacing:-.055em}
.cfproduct h2{max-width:780px;font-size:clamp(38px,4.8vw,62px);line-height:1.03;letter-spacing:-.045em}
.cfproduct h3{font-size:25px;line-height:1.15}
.cfproduct p{font-size:17px;line-height:1.65;color:var(--text)}
.cfproduct-eyebrow{margin:0 0 20px!important;font-size:11px!important;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#fff}
.cfproduct-eyebrow.dark{color:#42584c}
.cfproduct-lead{max-width:670px;font-size:19px!important;color:#eef5f1!important}
.cfproduct-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:34px}
.cfproduct-primary{display:inline-flex;align-items:center;gap:11px;padding:15px 23px;border-radius:999px;background:var(--gold);color:#173426!important;font-weight:850;text-decoration:none}
.cfproduct-secondary,.cfproduct-text-link{font-weight:800;text-decoration:none}
.cfproduct-hero{padding:94px 0 108px;background:var(--green);color:#fff}
.cfproduct-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1fr);gap:66px;align-items:center}
.cfproduct-property{position:relative;margin:0;overflow:hidden;border-radius:16px;background:#0e2d22}
.cfproduct-property img{display:block;width:100%;height:560px;object-fit:cover}
.cfproduct-property-tag{position:absolute;padding:8px 11px;border-radius:999px;background:rgba(18,59,44,.92);color:#fff;font-size:11px;font-weight:850}
.tag-site{top:23%;left:57%}.tag-bath{top:53%;left:20%}.tag-pool{top:66%;left:62%}
.cfproduct-property-flow{position:absolute;right:20px;bottom:20px;left:20px;padding:14px;border-radius:10px;background:rgba(18,59,44,.92);color:#fff;text-align:center;font-size:10px;font-weight:850;letter-spacing:.08em}
.cfproduct-property-flow span{padding:0 7px;color:#f1d58f}
.cfproduct-two-col{display:grid;grid-template-columns:minmax(0,.82fr) minmax(460px,1fr);gap:84px;align-items:start}
.cfproduct-align-center{align-items:center}
.cfproduct-wide{max-width:800px}
.cfproduct-day{border-top:1px solid var(--line)}
.cfproduct-day article{display:grid;grid-template-columns:90px 1fr;gap:6px 20px;padding:20px 0;border-bottom:1px solid var(--line)}
.cfproduct-day time{grid-row:1/3;font-size:12px;font-weight:850;color:#51665a}
.cfproduct-day strong{font-size:19px}.cfproduct-day span{font-size:13px;color:#4c6155}
.cfproduct-dark{background:var(--green);color:#fff}
.cfproduct-dark p{color:#f2f6f3}
.cfproduct-loop{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-top:48px;background:rgba(255,255,255,.15)}
.cfproduct-loop article{min-height:190px;padding:24px 20px;background:var(--green2)}
.cfproduct-loop small,.cfproduct-loop strong,.cfproduct-loop span{display:block}
.cfproduct-loop small{font-size:10px;font-weight:850;letter-spacing:.1em;color:#f1d58f}
.cfproduct-loop strong{margin-top:20px;font-size:20px;color:#fff}
.cfproduct-loop span{margin-top:8px;font-size:13px;line-height:1.5;color:#e5eee9}
.cfproduct-soft{background:var(--paper)}
.cfproduct-modules{margin-top:52px;border-top:1px solid #ccd6d0}
.cfproduct-modules article{display:grid;grid-template-columns:60px 1fr;gap:30px;padding:32px 0;border-bottom:1px solid #ccd6d0}
.cfproduct-modules>article>span{font-size:11px;font-weight:850;color:#65786d}
.cfproduct-modules small{font-size:10px;font-weight:850;letter-spacing:.1em;color:#55695e}
.cfproduct-modules h3{margin:7px 0 8px}.cfproduct-modules p{max-width:720px;margin:0}
.cfproduct-phones{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:end}
.cfproduct-phones figure{margin:0;text-align:center}
.cfproduct-phones img{display:block;width:100%;height:auto;filter:drop-shadow(0 20px 30px rgba(20,51,36,.12))}
.cfproduct-phones figcaption{margin-top:12px;font-size:14px;font-weight:800;color:#34493d}
.cfproduct-guest-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.14)}
.cfproduct-guest-flow article{min-height:150px;padding:20px;background:var(--green2)}
.cfproduct-guest-flow span,.cfproduct-guest-flow strong,.cfproduct-guest-flow small{display:block}
.cfproduct-guest-flow span{font-size:12px;font-weight:850;color:#f1d58f}
.cfproduct-guest-flow strong{margin-top:18px;font-size:15px;color:#fff}
.cfproduct-guest-flow small{margin-top:8px;font-size:12px;line-height:1.5;color:#e6eee9}
.cfproduct-rule{margin-top:22px!important;font-size:14px!important;font-weight:800;color:#fff!important}
.cfproduct-integrations{text-align:center;background:#fff}
.cfproduct-integrations .cfproduct-copy{margin:0 auto}
.cfproduct-integration-band{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-top:46px;background:var(--line)}
.cfproduct-integration-band span{padding:22px 12px;background:var(--paper);font-size:12px;font-weight:800;color:#40564a}
.cfproduct-down{margin:17px 0;font-size:20px;color:#6a7c72}
.cfproduct-core{display:inline-block;padding:18px 28px;border-radius:999px;background:var(--green);color:#fff;font-weight:900;letter-spacing:.08em}
.cfproduct-people{font-size:15px;font-weight:800;color:#34493d}
.cfproduct-cta{padding:108px 0;background:var(--green);color:#fff;text-align:center}
.cfproduct-cta h2{margin-left:auto;margin-right:auto;max-width:850px}
.cfproduct-cta p:not(.cfproduct-eyebrow){max-width:650px;margin:0 auto 28px;color:#eef4f0}
@media(max-width:1000px){
  .cfproduct-hero-grid,.cfproduct-two-col{grid-template-columns:1fr;gap:50px}
  .cfproduct-loop{grid-template-columns:repeat(3,1fr)}
  .cfproduct-guest-flow{grid-template-columns:repeat(3,1fr)}
  .cfproduct-integration-band{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .cfproduct-wrap{width:min(100% - 36px,1180px)}
  .cfproduct-section,.cfproduct-cta{padding:68px 0}
  .cfproduct-hero{padding:58px 0 68px}
  .cfproduct h1{font-size:clamp(46px,13vw,64px)}
  .cfproduct h2{font-size:clamp(36px,10vw,50px)}
  .cfproduct p{font-size:18px;line-height:1.6}
  .cfproduct-eyebrow{font-size:12px!important}
  .cfproduct-property img{height:410px}
  .cfproduct-property-flow{font-size:11px;line-height:1.5}
  .cfproduct-loop{grid-template-columns:1fr}
  .cfproduct-loop article{min-height:0}
  .cfproduct-guest-flow{grid-template-columns:1fr}
  .cfproduct-guest-flow article{min-height:0}
  .cfproduct-phones{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;overflow:visible;padding:0;justify-items:center}
  .cfproduct-phones figure{width:100%;max-width:400px;min-width:0}
  .cfproduct-modules article{grid-template-columns:42px 1fr;gap:18px}
  .cfproduct-integration-band{grid-template-columns:1fr 1fr}
  .cfproduct-integration-band span{font-size:13px}
  .cfproduct-day article{grid-template-columns:78px 1fr}
}

/* Product identities: readable names, distinct symbols, and generous spacing. */
.cfproduct-modules article{grid-template-columns:88px minmax(0,1fr);gap:36px;padding:46px 0}
.cfproduct-module-mark{display:flex;flex-direction:column;align-items:center;gap:12px}
.cfproduct-module-mark svg{display:block;width:80px;height:80px;padding:19px;background:var(--green);color:#f1d58f;border-radius:20px}
.cfproduct-module-mark span{font-size:14px;font-weight:800;letter-spacing:.12em;color:#42584c}
.cfproduct-modules h3{font-size:clamp(32px,3.2vw,44px);line-height:1.1;letter-spacing:-.035em;color:var(--green);margin:0 0 16px}
.cfproduct-modules h4{font-size:clamp(23px,2.2vw,28px);line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin:0 0 12px;font-weight:700}
.cfproduct-modules p{font-size:20px;line-height:1.65;max-width:780px}
@media(max-width:760px){
 .cfproduct-modules article{grid-template-columns:64px minmax(0,1fr);gap:20px;padding:34px 0}
 .cfproduct-module-mark svg{width:64px;height:64px;padding:15px;border-radius:16px}
 .cfproduct-modules h3{font-size:32px;margin-bottom:12px}
 .cfproduct-modules h4{font-size:23px}
 .cfproduct-modules p{font-size:18px;line-height:1.65}
}
@media(max-width:420px){
 .cfproduct-modules article{grid-template-columns:1fr;gap:18px}
 .cfproduct-module-mark{flex-direction:row;gap:16px}
}

/* Readable supporting labels throughout the product narrative. */
.cfproduct-loop small{font-size:13px}
.cfproduct-loop span{font-size:16px;line-height:1.55}
.cfproduct-guest-flow small{font-size:15px;line-height:1.55}
.cfproduct-guest-flow strong{font-size:17px}
.cfproduct-integration-band span{font-size:15px;line-height:1.5}
.cfproduct-rule{font-size:16px!important}

.cfproduct-hero-screens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.cfproduct-hero-screens figure{margin:0;min-width:0}
.cfproduct-hero-screens figure:nth-child(2){padding-top:56px}
.cfproduct-hero-screens img{display:block;width:100%;height:auto;border-radius:0;background:transparent;box-shadow:none}
.cfproduct-hero-screens figcaption{margin-top:16px;color:#eef5f1;font-size:16px;line-height:1.4;font-weight:700;text-align:center}
@media(max-width:1000px){.cfproduct-hero-screens{width:min(100%,650px);margin:0 auto}}
@media(max-width:600px){
 .cfproduct-hero-screens{grid-template-columns:1fr;max-width:360px;gap:32px}
 .cfproduct-hero-screens figure:nth-child(2){padding-top:0}
}

/* Guest experience: a readable step sequence, even in a narrow desktop pane. */
.cfproduct-guest-section .cfproduct-two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 64px;align-items:start}
.cfproduct-guest-section h2{font-size:clamp(34px,3.8vw,50px);line-height:1.12}
.cfproduct-guest-section .cfproduct-guest-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:0;background:transparent;border-top:1px solid #527665}
.cfproduct-guest-flow article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:6px 18px;min-height:0;padding:22px 0;border-bottom:1px solid #527665;background:transparent;word-break:normal;overflow-wrap:normal}
.cfproduct-guest-flow article>span{grid-row:1/3;display:flex;align-items:center;justify-content:center;align-self:start;width:40px;height:40px;border-radius:50%;background:#174734;color:#f1d58f;font-size:18px;line-height:1;font-weight:700}
.cfproduct-guest-flow article>strong{margin:0;font-size:22px;line-height:1.25;text-transform:none;letter-spacing:-.02em;word-break:normal;overflow-wrap:normal}
.cfproduct-guest-flow article>small{grid-column:2;margin:0;font-size:17px;line-height:1.5;word-break:normal;overflow-wrap:normal}
.cfproduct-guest-section .cfproduct-rule{grid-column:1/-1;margin:0;padding-top:24px;border-top:1px solid #527665;max-width:none}
@media(max-width:900px){.cfproduct-guest-section .cfproduct-two-col{grid-template-columns:minmax(0,1fr);gap:32px}.cfproduct-guest-section .cfproduct-copy{max-width:680px}.cfproduct-guest-section .cfproduct-guest-flow{width:100%}}
