/* Existing About content, fitted to the viewport without additional copy. */
.cp-about {
    --about-background:#fff;
    --about-stat-symbol-size:64px;
    --about-green:#062817;
    --about-gutter:48px;
    --about-pad:clamp(24px,3.5svh,40px);
    position:relative;
    isolation:isolate;
    overflow:clip;
    padding:0;
    background:var(--about-background);
    color:var(--about-green);
    font-family:'Inter',sans-serif;
    text-align:left;
}
.cp-about *, .cp-about *::before, .cp-about *::after { box-sizing:border-box; }
.cp-about-pin { position:relative; isolation:isolate; overflow:clip; padding:64px 0 80px; background:var(--about-background); }
.cp-about-ribbon { position:absolute; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; }
.cp-about-ribbon path { fill:none; stroke:#d9e3c7; stroke-width:25px; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.cp-about-layout { position:relative; z-index:2; }
.cp-about-eyebrow { display:block; margin-bottom:20px; font-size:.6875rem; line-height:1.5; letter-spacing:.12em; font-weight:700; text-transform:uppercase; }
.cp-about h2 { max-width:1250px; margin:0; color:var(--about-green); font-size:clamp(34px,4.7vw,76px); line-height:1.08; letter-spacing:-.05em; }
.cp-about h2 > span { display:block; }
.cp-about .cp-about-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,.7fr); align-items:stretch; gap:clamp(32px,4vw,64px); margin-top:32px; }
.cp-about-media { min-width:0; align-self:center; }
.cp-about-photo { position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden; border-radius:12px; background:#0b3d23; }
.cp-about-native-video { display:block; width:100%; height:100%; object-fit:cover; }
.cp-about .cp-about-stats { display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); grid-template-columns:minmax(0,1fr); margin:0; padding:0; border:0; }
.cp-about .cp-about-stats > div { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-width:0; padding:20px 0; border:0; }
.cp-about .cp-about-stats > div + div { border-top:1px solid #e5dca6; }
.cp-about .cp-about-stats dd { display:flex; flex-direction:row; align-items:center; gap:16px; order:-1; margin:0; color:var(--about-green); font-family:'Manrope',sans-serif; font-size:clamp(32px,3.5vw,56px); font-weight:700; line-height:1.1; letter-spacing:-.05em; }
.cp-about .cp-about-stats dt { margin:10px 0 0 80px; font-size:.8125rem; font-weight:500; line-height:1.5; }
.cp-about-stat-symbol {
    display:inline-grid;
    place-items:center;
    flex:0 0 var(--about-stat-symbol-size);
    width:var(--about-stat-symbol-size);
    height:var(--about-stat-symbol-size);
    border:1px solid #d9dfc4;
    border-radius:25%;
    background:linear-gradient(145deg,#fffef8,#eef3dc);
    color:#0b3d23;
    box-shadow:0 2px 4px rgb(11 61 35 / .025);
}
.cp-about .cp-about-stat-symbol > .v2-stat-icon { display:block; width:58%; height:58%; color:inherit; }
.cp-about-destination,.cp-about-morph,.cp-about-watch { display:none; }

/* Keep the original curved renderer and measured origin/destination anchors.
   Tall introductions can scroll before the frame expands. */
.cp-about.reel-enabled { height:var(--reel-section-height,235svh); overflow:visible; }
.cp-about.reel-enabled .cp-about-pin {
    position:sticky;
    top:calc(var(--reel-header,89px) - var(--reel-overflow,0px));
    height:var(--reel-pin-height,calc(100svh - var(--reel-header,89px)));
    padding:var(--about-pad) 0;
}
.cp-about.reel-enabled .cp-about-layout {
    display:flex;
    flex-direction:column;
    min-height:calc(var(--reel-view-height,100svh) - var(--about-pad) * 2);
    opacity:var(--reel-intro-opacity,1);
    transform:translateY(var(--reel-intro-y,0px));
}
.cp-about.reel-enabled .cp-about-eyebrow { margin-bottom:16px; }
.cp-about.reel-enabled h2 { font-size:clamp(34px,min(4.7vw,7.5svh),76px); }
.cp-about.reel-enabled .cp-about-grid {
    flex:1;
    grid-template-columns:minmax(0,min(72%,calc(var(--reel-photo-max-height,1000px) * 16 / 9))) minmax(0,1fr);
    margin-top:clamp(20px,3svh,36px);
}
.cp-about.reel-enabled .cp-about-photo { max-width:calc(var(--reel-photo-max-height,1000px) * 16 / 9); margin-inline:auto; visibility:hidden; }
.cp-about.reel-enabled .cp-about-morph { display:block; position:absolute; inset:0; z-index:3; pointer-events:none; }
.cp-about-morph canvas { display:block; width:100%; height:100%; }
.cp-about.reel-enabled .cp-about-destination {
    display:block;
    position:absolute;
    width:calc(100% - var(--about-gutter) * 2);
    max-width:1920px;
    height:min(calc((100vw - var(--about-gutter) * 2) * .5625),calc(var(--reel-view-height,100svh) - 40px));
    left:50%;
    top:calc(var(--reel-overflow,0px) + var(--reel-view-height,100svh) / 2);
    transform:translate(-50%,-50%);
    pointer-events:none;
}
.cp-about.has-about-video .cp-about-watch { display:none !important; }
@media (max-width:1200px) { .cp-about { --about-gutter:32px; } }
@media (max-width:820px) {
    .cp-about { --about-gutter:20px; --about-stat-symbol-size:44px; }
    .cp-about-ribbon { opacity:.5; }
}
@media (max-width:820px) {
    .cp-about { --about-pad:28px; }
    .cp-about-pin { padding:44px 0 52px; }
    .cp-about h2,.cp-about.reel-enabled h2 { font-size:clamp(29px,7.6vw,48px); line-height:1.14; letter-spacing:-.045em; }
    .cp-about-eyebrow,.cp-about.reel-enabled .cp-about-eyebrow { margin-bottom:16px; font-size:.625rem; }
    .cp-about .cp-about-grid,.cp-about.reel-enabled .cp-about-grid { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); gap:24px; margin-top:24px; }
    .cp-about-media { width:100%; }
    .cp-about .cp-about-stats { grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(3,minmax(64px,1fr)); padding:0; border-top:1px solid #e5dca6; }
    .cp-about .cp-about-stats > div { flex-direction:row; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; }
    .cp-about .cp-about-stats > div:first-child { padding-left:0; }
    .cp-about .cp-about-stats > div:last-child { padding-right:0; }
    .cp-about .cp-about-stats > div + div { border-top:1px solid #e5dca6; border-left:0; }
    .cp-about .cp-about-stats dd { gap:12px; font-size:clamp(30px,5vw,40px); }
    .cp-about .cp-about-stats dt { margin:0; font-size:.8125rem; text-align:right; }
    .cp-about.reel-enabled .cp-about-destination { height:calc(var(--reel-view-height,100svh) - 40px); }
}
@media (max-height:600px) and (min-width:701px) {
    .cp-about { --about-pad:16px; --about-stat-symbol-size:36px; }
    .cp-about.reel-enabled h2 { font-size:clamp(28px,4vw,44px); }
    .cp-about .cp-about-grid,.cp-about.reel-enabled .cp-about-grid { grid-template-columns:minmax(0,min(68%,calc(var(--reel-photo-max-height,1000px) * 16 / 9))) minmax(0,1fr); grid-template-rows:auto; gap:28px; margin-top:16px; }
    .cp-about .cp-about-stats dd { font-size:32px; }
    .cp-about .cp-about-stats > div { padding-block:12px; }
    .cp-about .cp-about-stats { border-top:0; }
    .cp-about .cp-about-stats > div { flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding-block:8px; }
    .cp-about .cp-about-stats dt { margin:0; font-size:.6875rem; text-align:right; }
    .cp-about .cp-about-stats dd { font-size:28px; gap:8px; }
}

/* Short phone viewports keep all three existing figures in one compact row. */
@media (max-width:700px) and (max-height:720px) {
    .cp-about { --about-pad:16px; --about-stat-symbol-size:28px; }
    .cp-about.reel-enabled h2 { font-size:clamp(26px,7vw,38px); }
    .cp-about .cp-about-grid,.cp-about.reel-enabled .cp-about-grid { gap:16px; margin-top:16px; }
    .cp-about .cp-about-stats { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto; }
    .cp-about .cp-about-stats > div { flex-direction:column; align-items:flex-start; justify-content:center; padding:12px 8px 0; gap:0; }
    .cp-about .cp-about-stats > div + div { border-top:0; border-left:1px solid #e5dca6; }
    .cp-about .cp-about-stats dd { flex-direction:column; align-items:flex-start; gap:6px; font-size:25px; }
    .cp-about .cp-about-stats dt { margin-top:6px; font-size:.5625rem; text-align:left; }
}

/* Landscape phones use the width available to keep the video useful. */
@media (min-width:560px) and (max-width:700px) and (max-height:600px) {
    .cp-about { --about-stat-symbol-size:36px; }
    .cp-about.reel-enabled h2 { font-size:28px; }
    .cp-about .cp-about-grid,.cp-about.reel-enabled .cp-about-grid { grid-template-columns:minmax(0,min(68%,calc(var(--reel-photo-max-height,1000px) * 16 / 9))) minmax(0,1fr); grid-template-rows:auto; gap:20px; }
    .cp-about .cp-about-stats { grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(3,minmax(0,1fr)); border-top:0; }
    .cp-about .cp-about-stats > div { flex-direction:row; align-items:center; justify-content:space-between; padding:8px 0; gap:10px; }
    .cp-about .cp-about-stats > div + div { border-top:1px solid #e5dca6; border-left:0; }
    .cp-about .cp-about-stats dd { flex-direction:row; align-items:center; font-size:28px; gap:8px; }
    .cp-about .cp-about-stats dt { margin:0; font-size:.6875rem; text-align:right; }
}

@media (min-width:560px) and (max-width:700px) and (max-height:360px) {
    .cp-about { --about-pad:12px; --about-stat-symbol-size:28px; }
    .cp-about.reel-enabled .cp-about-eyebrow { margin-bottom:8px; }
    .cp-about.reel-enabled h2 { font-size:24px; }
    .cp-about.reel-enabled .cp-about-grid { margin-top:12px; }
    .cp-about .cp-about-stats > div { padding-block:4px; }
    .cp-about .cp-about-stats dd { font-size:24px; }
}
