/* A shared grid of copy and photographic scenes. Its geometry never animates. */
.photo-hero {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1.08fr) minmax(0,.78fr);grid-template-rows:330px 200px;gap:16px;padding-block:36px 56px}
.photo-heading {grid-column:1;grid-row:1;align-self:center;min-width:0;padding:4px 24px 20px 0}
.photo-heading h1 {font-size:clamp(44px,4.55vw,63px);font-weight:540;letter-spacing:-.06em;line-height:1.03;color:var(--forest)}
.photo-heading p {font-size:14px;line-height:1.65;color:var(--muted);max-width:36ch;margin-top:23px}
.photo-actions {display:flex;align-items:center;gap:24px;margin-top:25px;flex-wrap:wrap}
.photo-actions .button {font-size:13px;min-height:48px;padding:11px 22px}
.photo-explore {font-size:12px;display:inline-flex;align-items:center;gap:9px;min-height:48px;text-decoration:none}
.photo-explore:hover {text-decoration:underline}
.photo-explore span {font-size:19px}
.photo-frame {position:relative;overflow:hidden;min-width:0;min-height:0;border-radius:14px;background:var(--soft)}
.photo-frame img {position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.photo-incoming {z-index:2 !important}
.photo-home {grid-column:2;grid-row:1/3;margin-top:38px;border-top-left-radius:80px}
.photo-home img {object-position:center 43%}
.photo-gate {grid-column:3;grid-row:1}
.photo-gate img {object-position:center 38%}
.photo-wide {grid-column:1;grid-row:2}
.photo-wide img {object-position:center 33%}
.photo-garden-wrap {position:relative;grid-column:3;grid-row:2;min-width:0}
.photo-garden {height:100%}
.photo-garden img {object-position:center 25%}
.photo-pause {position:absolute;bottom:-48px;right:0;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 2px;border:0;background:transparent;color:var(--muted);font-size:11px;z-index:2}
.photo-pause:hover {color:var(--forest)}
.photo-pause svg {width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.photo-pause .play-symbol,.photo-pause[data-paused=true] .pause-symbol {display:none}
.photo-pause[data-paused=true] .play-symbol {display:block}
@media (max-width:1100px) and (min-width:821px) {
 .photo-hero {grid-template-columns:minmax(0,1.5fr) minmax(0,1.03fr) minmax(0,.8fr);grid-template-rows:315px 180px;gap:12px;padding-block:30px 56px}
 .photo-heading {padding-right:6px;padding-bottom:8px}
 .photo-heading h1 {font-size:clamp(40px,4.8vw,52px)}
 .photo-heading p {font-size:13px;line-height:1.6;margin-top:18px}
 .photo-actions {gap:15px;margin-top:20px}
 .photo-actions .button {font-size:12px;padding-inline:17px}
 .photo-explore {font-size:11px;gap:5px}
 .photo-home {margin-top:32px;border-top-left-radius:60px}
}
@media (max-width:820px) {
 .photo-hero {grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-rows:auto clamp(180px,29vw,238px) clamp(150px,23vw,189px);gap:12px;padding-block:32px 56px}
 .photo-heading {grid-column:1/-1;grid-row:1;padding:0 0 16px;max-width:590px}
 .photo-heading h1 {font-size:clamp(38px,6.3vw,52px);max-width:16ch;line-height:1.05}
 .photo-heading p {font-size:14px;max-width:42ch;margin-top:18px}
 .photo-actions {margin-top:22px}
 .photo-home {grid-column:1;grid-row:2/4;margin-top:0;border-top-left-radius:60px}
 .photo-gate {grid-column:2;grid-row:2}
 .photo-home img {object-position:center 22%}
 .photo-gate img {object-position:center 22%}
 .photo-garden-wrap {grid-column:2;grid-row:3}
 .photo-wide {display:none}
 .photo-garden img {object-position:center 25%}
}
@media (max-width:480px) {
 .photo-hero {grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-template-rows:auto 145px 120px;gap:10px;padding-block:28px 56px}
 .photo-heading {padding-bottom:15px}
 .photo-heading h1 {font-size:clamp(36px,9.1vw,43px);max-width:none;letter-spacing:-.055em}
 .photo-heading p {font-size:13px;line-height:1.65;margin-top:17px;max-width:36ch}
 .photo-actions {gap:23px;margin-top:20px}
 .photo-actions .button {font-size:12px;padding-inline:20px}
 .photo-explore {font-size:11px}
 .photo-frame {border-radius:11px}
 .photo-home {border-top-left-radius:48px}
}
@media (max-width:360px) {
 .photo-hero {grid-template-rows:auto 130px 110px;gap:9px}
 .photo-heading h1 {font-size:34px}
 .photo-actions {gap:18px}
 .photo-actions .button {padding-inline:17px}
}
@media (prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}
}
/* Product content: clear capabilities, optional task detail, society-wide context. */
.content-heading {display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end;margin-bottom:36px}
.content-heading h2,.task-copy h2,.society-intro h2 {font-size:clamp(33px,3.1vw,43px);font-weight:530;letter-spacing:-.05em;line-height:1.12}
.content-heading>p,.task-intro {font-size:14px;line-height:1.75;color:var(--muted);max-width:49ch}
.product-overview {padding-block:38px 64px}
.capability-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}
.capability-list article {min-width:0;border-top:1px solid var(--line);padding-block:25px 28px}
.capability-list svg {width:27px;height:27px;fill:none;stroke:var(--forest);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:17px}
.capability-list h3 {font-size:20px;font-weight:550;letter-spacing:-.035em;line-height:1.25}
.capability-list p {font-size:13px;line-height:1.75;color:var(--muted);margin-top:12px;max-width:38ch}
.task-section {display:grid;grid-template-columns:1.15fr .85fr;gap:95px;align-items:start;border-top:1px solid var(--line);padding-block:65px 76px}
.task-intro {margin-top:20px;max-width:45ch}
.task-list {margin-top:29px}
.task-list details {border-top:1px solid var(--line)}
.task-list details:last-child {border-bottom:1px solid var(--line)}
.task-list summary {display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;min-height:60px;padding-block:17px;color:var(--muted);font-size:16px;font-weight:500;line-height:1.4}
.task-list summary::-webkit-details-marker {display:none}
.task-list summary::after {content:'+';font-size:22px;font-weight:400;line-height:1;flex:none}
.task-list details[open] summary {color:var(--forest)}
.task-list details[open] summary::after {content:'−'}
.task-detail {padding:0 30px 22px 0}
.task-detail p {font-size:13px;line-height:1.8;color:var(--muted);max-width:56ch}
.task-detail p+p {margin-top:12px}
.home-evidence {margin:0;display:flex;flex-direction:column;align-items:center;background:#e9ede2;border-radius:18px;padding:28px 28px 19px;min-width:0}
.evidence-heading {max-width:34ch;align-self:flex-start;margin-bottom:24px}
.evidence-heading>span {font-size:22px;font-weight:530;letter-spacing:-.04em;color:var(--forest)}
.evidence-heading p {font-size:12px;line-height:1.65;color:var(--muted);margin-top:8px}
.evidence-phone {width:min(100%,264px);border:5px solid var(--forest);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 12px 28px #173e3512}
.evidence-brand {display:flex;gap:6px;align-items:center;padding:13px 11px;line-height:1;color:var(--forest);font-size:14px}
.evidence-brand strong {font-weight:650;letter-spacing:-.045em}
.evidence-brand>span {font-size:10px;border-left:1px solid var(--line);padding-left:8px;margin-left:2px}
.evidence-crop {overflow:hidden}
.evidence-crop>img {display:block;width:100%;height:auto;margin-top:-13.846154%}
.home-evidence figcaption {font-size:10px;color:var(--muted);margin-top:19px;text-align:center;line-height:1.6}
.home-evidence figcaption a {display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;color:var(--forest);font-size:11px}
.society-section {background:var(--forest);color:var(--paper);padding-block:62px}
.society-layout {display:grid;grid-template-columns:.95fr 1.05fr;gap:44px 85px}
.society-intro>p {font-size:14px;line-height:1.8;color:#d2dfd5;max-width:40ch;margin-top:22px}
.society-demo {display:inline-flex;align-items:center;gap:16px;min-height:48px;margin-top:22px;color:var(--citrus);text-decoration:none;font-size:13px}
.society-demo:hover {text-decoration:underline}
.society-demo span {font-size:20px}
.society-detail article+article {border-top:1px solid #4b6b5d;margin-top:23px;padding-top:23px}
.society-detail h3 {font-size:20px;line-height:1.35;font-weight:530;letter-spacing:-.035em}
.society-detail p {font-size:13px;line-height:1.75;color:#d2dfd5;margin-top:10px;max-width:55ch}
.household-privacy {grid-column:1/-1;display:grid;grid-template-columns:.95fr 1.05fr;gap:85px;border-top:1px solid #4b6b5d;padding-top:28px}
.household-privacy h3 {font-size:18px;line-height:1.4;font-weight:500;max-width:30ch;letter-spacing:-.025em}
.household-privacy p {font-size:13px;line-height:1.75;color:#d2dfd5;max-width:56ch}
.setup-section {padding-block:68px}
.setup-steps {list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:0;padding:0}
.setup-steps li {display:flex;align-items:flex-start;gap:15px;border-top:1px solid var(--line);padding-top:23px;min-width:0}
.setup-steps li>span {display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid #a7b89b;border-radius:50%;font-size:12px;line-height:1}
.setup-steps h3 {font-size:17px;font-weight:550;line-height:1.4;letter-spacing:-.03em}
.setup-steps p {font-size:12px;line-height:1.75;margin-top:8px;color:var(--muted);max-width:34ch}
@media (max-width:1000px) {
 .content-heading {gap:38px}
 .capability-list {gap:0 25px}
 .task-section {gap:40px;grid-template-columns:1.1fr .9fr}
 .home-evidence {padding:24px 20px 18px}
 .society-layout,.household-privacy {column-gap:40px}
 .setup-steps {gap:22px}
}
@media (max-width:760px) {
 .content-heading {grid-template-columns:1fr;gap:16px;margin-bottom:27px}
 .content-heading h2,.task-copy h2,.society-intro h2 {font-size:33px;line-height:1.13}
 .content-heading>p,.task-intro {font-size:13px;line-height:1.7;max-width:48ch}
 .product-overview {padding-block:27px 30px}
 .capability-list {grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
 .capability-list article {padding-block:21px 23px}
 .capability-list svg {width:24px;height:24px;margin-bottom:12px}
 .capability-list h3 {font-size:18px;line-height:1.35;min-height:2.7em}
 .capability-list p {font-size:12px;line-height:1.75;margin-top:8px}
 .task-section {grid-template-columns:1fr;gap:30px;padding-block:35px 40px}
 .task-intro {margin-top:17px}
 .task-list {margin-top:24px}
 .task-list summary {font-size:15px;min-height:59px;gap:15px;padding-block:16px}
 .task-detail {padding:0 8px 21px 0}
 .task-detail p {font-size:13px;line-height:1.75}
 .home-evidence {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:18px;padding:24px 20px 20px;border-radius:14px;align-items:center;overflow:hidden}
 .evidence-heading {align-self:center;margin-bottom:0;max-width:none}
 .evidence-heading>span {font-size:24px;line-height:1.15;display:block;max-width:10ch}
 .evidence-heading p {font-size:12px;margin-top:14px;line-height:1.65}
 .evidence-phone {width:min(100%,240px);justify-self:center;border-width:3px;border-radius:16px}
 .evidence-brand {padding:9px 7px;font-size:10px;gap:4px}
 .evidence-brand img {width:13px;height:13px}
 .evidence-brand>span {font-size:8px;padding-left:5px;margin-left:0}
 .home-evidence figcaption {grid-column:1/-1;margin:0;font-size:10px;text-align:left}
 .home-evidence figcaption a {justify-content:flex-start}
 .society-section {padding-block:38px}
 .society-layout {grid-template-columns:1fr;gap:28px}
 .society-intro>p {font-size:13px;margin-top:18px;max-width:48ch}
 .society-demo {margin-top:12px}
 .society-detail h3 {font-size:19px}
 .society-detail p {font-size:13px;max-width:none}
 .society-detail article+article {margin-top:21px;padding-top:21px}
 .household-privacy {display:block;padding-top:24px}
 .household-privacy h3 {font-size:18px;max-width:29ch}
 .household-privacy p {margin-top:12px;font-size:12px}
 .setup-section {padding-block:40px}
 .setup-steps {grid-template-columns:1fr;gap:18px}
 .setup-steps li {padding-top:18px;gap:14px}
 .setup-steps h3 {font-size:17px}
 .setup-steps p {font-size:12px;max-width:46ch;margin-top:5px}
}
@media (max-width:360px) {
 .content-heading h2,.task-copy h2,.society-intro h2 {font-size:30px}
 .capability-list {column-gap:18px}
 .capability-list h3 {font-size:17px}
 .capability-list p {font-size:12px;line-height:1.65}
 .home-evidence {grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);padding:21px 15px 16px;gap:14px}
 .evidence-heading>span {font-size:21px}
 .evidence-heading p {font-size:11px}
 .evidence-brand {font-size:9px;padding-inline:5px}
 .evidence-brand img {width:11px;height:11px}
 .evidence-brand>span {font-size:7px;padding-left:4px}
}
