/* HumanAmp front door: existing brand, clearer offer and a useful first step. */
.frontdoor-home { background:var(--ha-paper); color:var(--ha-ink); }
.frontdoor-home .site-header { background:var(--ha-ink); border-color:rgba(var(--ha-bloom-rgb),.12); }
.frontdoor-home .site-header .brand { color:var(--ha-bloom); }
body .site-header nav a.nav-talk { background:var(--ha-bloom); color:var(--ha-ink)!important; padding:10px 17px; border-radius:6px; font-weight:800; }
body .site-header nav a.nav-portal { background:transparent; clip-path:none; padding:8px 0; border:0; font-size:12px; color:var(--ha-soft-on-dark); }
body .site-header nav a.nav-portal::after { display:none; content:none; }
.frontdoor-home .home-hero { width:100%; max-width:none; min-height:clamp(620px,calc(100svh - var(--ha-header-height)),760px); padding:clamp(36px,5vw,76px) max(var(--ha-gutter),calc((100vw - 1280px)/2)); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(32px,5vw,84px); align-items:center; overflow:visible; position:relative; isolation:isolate; background:var(--ha-ink); color:var(--ha-paper); }
.frontdoor-home .home-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(var(--ha-ink-rgb),.82),rgba(var(--ha-ink-rgb),.58) 55%,rgba(var(--ha-ink-rgb),.42)),url('/brand/assets/amp-custom-shop-workshop.webp') center 55%/cover no-repeat; filter:blur(5px) saturate(.75); clip-path:inset(0); opacity:1; }
.frontdoor-home .home-hero::after { content:""; position:absolute; inset:auto 0 0; height:25%; pointer-events:none; background:linear-gradient(transparent,var(--ha-ink)); z-index:-1; }
.frontdoor-home .hero-kicker { margin:0 0 22px; color:var(--ha-bloom); font-size:16px; font-weight:800; letter-spacing:.02em; }
.frontdoor-home .hero-copy h1 { margin:0 0 26px; color:var(--ha-paper); font-size:clamp(45px,4.8vw,76px); line-height:1.065; font-weight:800; letter-spacing:-.055em; white-space:normal; max-width:760px; }
.frontdoor-home .hero-copy h1 span { display:block; }
.frontdoor-home .hero-copy h1 span:last-child { color:var(--ha-bloom); }
.frontdoor-home .hero-offer { margin:0; max-width:580px; font-size:clamp(16px,1.35vw,19px); line-height:1.65; color:var(--ha-bone-on-dark); }
.hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin:30px 0 18px; }
.frontdoor-home .primary-action { background:var(--ha-bloom); color:var(--ha-ink); border:1px solid transparent; border-radius:6px; padding:14px 22px; min-height:48px; font-size:14px; line-height:1.3; font-weight:800; display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; white-space:normal; text-align:center; cursor:pointer; }
.frontdoor-home .primary-action:hover { background:var(--ha-spread); }
.film-link { font-size:13px; font-weight:650; color:var(--ha-paper); text-decoration:none; display:inline-flex; align-items:center; gap:9px; }
.play-mark { display:inline-grid; place-items:center; width:27px; height:27px; border:1px solid rgba(var(--ha-bloom-rgb),.6); border-radius:50%; color:var(--ha-bloom); font-size:10px; }
.hero-reassurance { color:var(--ha-soft-on-dark); font-size:12px; margin:0; }
.frontdoor-home .hero-conversation { padding:0; margin:0; }
.frontdoor-home .hero-amp-speaker { display:grid; grid-template-columns:1fr; grid-template-rows:auto 190px; gap:12px; position:relative; }
.frontdoor-home .amp-question { grid-row:1; grid-column:1; width:100%; max-width:440px; justify-self:end; margin:0; padding:26px; background:var(--ha-paper); color:var(--ha-ink); border:1px solid var(--ha-hairline); border-radius:17px 17px 4px 17px; box-shadow:0 20px 60px rgba(var(--ha-ink-rgb),.16); transform:none; }
.frontdoor-home .amp-question::before { content:""; position:absolute; top:100%; right:70px; width:18px; height:17px; background:var(--ha-paper); clip-path:polygon(0 0,100% 0,80% 100%); }
.amp-identity { display:flex; gap:9px; align-items:center; margin:0 0 16px; font-size:12px; font-weight:800; }
.amp-identity span { padding-left:9px; border-left:1px solid var(--ha-hairline); font-weight:500; color:var(--ha-ink-soft); }
.amp-invitation { font-size:clamp(24px,2.2vw,32px); font-weight:800; letter-spacing:-.04em; line-height:1.2; margin:0 0 10px; }
.amp-context { font-size:14px; line-height:1.6; margin:0 0 18px; color:var(--ha-ink-soft); }
.frontdoor-home .amp-question .entry-field { display:flex; min-height:69px; margin:0; border:1px solid var(--ha-hairline); border-radius:8px; padding:7px 8px 7px 11px; background:var(--ha-card); align-items:center; }
.frontdoor-home .entry-field textarea { flex:1; width:0; min-width:0; min-height:52px; height:auto; padding:6px 0; font-family:inherit; font-size:16px; line-height:1.4; color:var(--ha-ink); resize:none; border:0; background:transparent; }
.frontdoor-home .entry-field button { flex-shrink:0; width:40px; height:44px; padding:9px; border-radius:5px; background:transparent; color:var(--ha-bloom-deep); }
.frontdoor-home .entry-field button:hover { background:var(--ha-bone-alt); }
.frontdoor-home .entry-field .entry-talk:not([hidden]) {
  width:50px; height:50px; padding:12px; margin-right:4px; border-radius:50%;
  background:var(--ha-bloom); color:var(--ha-ink); box-shadow:0 0 0 5px rgba(var(--ha-bloom-rgb),.18);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.frontdoor-home .entry-field .entry-talk:not([hidden]):hover,
.frontdoor-home .entry-field .entry-talk:not([hidden]):focus-visible {
  background:var(--ha-spread); transform:scale(1.06); box-shadow:0 0 0 8px rgba(var(--ha-bloom-rgb),.2);
}
.frontdoor-home .entry-field .entry-talk:not([hidden]) svg { width:24px; height:24px; }
.frontdoor-home .entry-field > button[type="submit"] { width:42px; height:42px; opacity:.58; }
.frontdoor-home .entry-field:has(.entry-talk:not([hidden])) textarea { padding-left:3px; }
.frontdoor-home .entry-caption { font-size:11px; color:var(--ha-ink-soft); margin:10px 0 0; line-height:1.5; }
.entry-caption a { color:inherit; text-underline-offset:2px; }
.frontdoor-home .amp-anchor { grid-row:2; grid-column:1; width:190px; height:190px; justify-self:end; margin-right:3px; }
.frontdoor-home .module { width:min(calc(100% - 2 * var(--ha-gutter)),1280px); max-width:1280px; margin:0 auto; padding:clamp(54px,6vw,88px) 0; border:0; border-radius:0; box-shadow:none; background:transparent; }
.frontdoor-home .section-intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(28px,6vw,100px); align-items:end; margin-bottom:36px; }
.frontdoor-home .section-intro h2,.frontdoor-home .factory-feature h2,.frontdoor-home .working-session h2 { font-size:clamp(30px,3.6vw,49px); line-height:1.12; letter-spacing:-.045em; margin:0; font-weight:800; }
.frontdoor-home .section-kicker { color:var(--ha-bloom-deep); font-size:11px; line-height:1.5; font-weight:750; letter-spacing:.025em; text-transform:none; margin:0 0 15px; }
.frontdoor-home .section-intro > p { font-size:16px; line-height:1.65; margin:0; color:var(--ha-ink-soft); max-width:470px; }
.frontdoor-home .route-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.frontdoor-home .route-card { padding:21px 0 23px; border:0; border-top:2px solid var(--ha-ink); border-bottom:1px solid var(--ha-hairline); border-radius:0; background:transparent; transform:none; box-shadow:none; display:flex; flex-direction:column; color:var(--ha-ink); text-decoration:none; position:relative; }
.frontdoor-home .route-card:hover { transform:none; }
.frontdoor-home .route-category { display:block; padding-right:22px; min-height:40px; font-size:12px; line-height:1.4; font-weight:800; }
.frontdoor-home .route-arrow { color:var(--ha-bloom-deep); top:17px; right:0; }
.frontdoor-home .route-card h3 { margin:23px 0 12px; max-width:270px; font-size:26px; line-height:1.15; letter-spacing:-.04em; color:var(--ha-ink); }
.frontdoor-home .route-card p { margin:0 0 22px; font-size:14px; line-height:1.65; color:var(--ha-ink-soft); }
.route-cta { margin-top:auto; font-size:11px; color:var(--ha-bloom-deep); font-weight:800; line-height:1.5; }
.route-visual { height:230px; background:var(--ha-bone-alt); border-radius:8px 8px 3px 8px; overflow:hidden; position:relative; display:grid; place-items:center; padding:22px 20px 47px; }
.sketch-caption { position:absolute; bottom:12px; left:12px; right:12px; text-align:center; font-family:Caveat,cursive; font-size:20px; font-weight:600; color:var(--ha-ink-soft); }
.mini-site { width:90%; background:var(--ha-card); border:2px solid var(--ha-ink); border-radius:6px; transform:rotate(-2deg); box-shadow:5px 6px 0 rgba(var(--ha-ink-rgb),.06); }
.mini-chrome { height:20px; border-bottom:1px solid var(--ha-hairline); display:flex; gap:4px; align-items:center; padding:0 8px; }
.mini-chrome i { width:4px; height:4px; border-radius:50%; background:var(--ha-ink-faint); }
.mini-site-content { padding:16px 20px 20px; display:grid; gap:8px; }
.mini-site-content span { font-size:8px; color:var(--ha-ink-soft); }
.mini-site-content b { font-size:22px; line-height:1.15; letter-spacing:-1px; max-width:145px; }
.mini-site-content em { font-style:normal; background:var(--ha-bloom); font-size:8px; width:max-content; padding:6px 9px; border-radius:3px; }
.prototype-sketch { width:170px; height:150px; position:relative; display:grid; align-content:center; justify-items:center; gap:10px; transform:rotate(2deg); }
.prototype-note { position:absolute; top:0; right:0; font-family:Caveat,cursive; font-size:25px; transform:rotate(-8deg); }
.prototype-shape { width:128px; height:87px; margin-top:20px; border:2px solid var(--ha-ink); border-radius:14px 14px 22px 22px; box-shadow:7px 6px 0 rgba(var(--ha-ink-rgb),.1); display:flex; gap:8px; align-items:center; justify-content:center; }
.prototype-shape span { width:22px; height:27px; background:var(--ha-paper); border:1px solid var(--ha-ink-soft); border-radius:6px; }
.prototype-shape span:nth-child(2) { background:var(--ha-bloom); }
.prototype-sketch b { font-size:10px; font-weight:650; }
.explainer-feature { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(30px,6vw,84px); align-items:center; margin-top:70px; padding-top:52px; border-top:1px solid var(--ha-hairline); scroll-margin-top:100px; }
.explainer-copy h3 { font-size:clamp(31px,3vw,43px); font-weight:800; letter-spacing:-.04em; line-height:1.15; margin:0 0 18px; }
.explainer-copy p { font-size:14px; line-height:1.7; color:var(--ha-ink-soft); }
.explainer-feature figure { margin:0; }
.humanamp-explainer { display:block; width:100%; aspect-ratio:16/9; background:var(--ha-bone-alt); border-radius:9px; }
.explainer-feature figcaption { text-align:left; color:var(--ha-ink-soft); font-size:11px; margin:10px 0 0; }
.film-transcript { font-size:12px; margin-top:20px; }
.film-transcript summary { cursor:pointer; text-decoration:underline; text-underline-offset:3px; color:var(--ha-bloom-deep); }
.frontdoor-home .frontdoor-example { border-top:1px solid var(--ha-hairline); }
.improvement-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:46px; align-items:center; }
.listening-scene { margin:0; position:relative; }
.listening-scene img { display:block; width:100%; border-radius:9px 9px 3px 9px; aspect-ratio:16/10; object-fit:cover; }
.listening-scene figcaption { position:absolute; left:12px; bottom:12px; background:var(--ha-paper); color:var(--ha-ink-soft); padding:5px 9px; font-size:10px; border-radius:3px; }
.story-steps article { display:flex; align-items:start; gap:18px; padding:20px 0; border-bottom:1px solid var(--ha-hairline); }
.story-steps article:first-child { padding-top:0; }
.story-steps article:last-child { padding-bottom:0; border:0; }
.story-steps article > span { flex-shrink:0; font-family:Caveat,cursive; font-size:32px; color:var(--ha-bloom-deep); line-height:1.1; }
.story-steps h3 { font-size:20px; line-height:1.2; letter-spacing:-.025em; margin:0 0 9px; }
.story-steps p { margin:0; color:var(--ha-ink-soft); font-size:14px; line-height:1.65; }
.understanding-feature { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(35px,8vw,100px); align-items:center; margin-top:65px; }
.understanding-copy h3 { font-size:clamp(30px,3vw,41px); line-height:1.15; letter-spacing:-.04em; margin:0 0 22px; }
.understanding-copy > p:not(.section-kicker) { color:var(--ha-ink-soft); font-size:15px; line-height:1.7; }
.understanding-copy .primary-action { margin:16px 0; }
.understanding-copy .text-link { display:block; width:max-content; font-size:12px; }
.initial-understanding { background:var(--ha-card); padding:27px; border:1px solid var(--ha-hairline); border-radius:10px 10px 3px 10px; box-shadow:0 8px 30px rgba(var(--ha-ink-rgb),.04); transform:rotate(1deg); }
.issue-heading { display:flex; gap:8px; align-items:center; font-size:10px; font-weight:800; padding-bottom:18px; border-bottom:1px solid var(--ha-hairline); }
.issue-heading img { width:20px; height:20px; }
.issue-stage { margin-left:auto; font-weight:600; color:var(--ha-ink-soft); padding:4px 8px; border:1px solid var(--ha-hairline); border-radius:4px; }
.initial-understanding h4 { font-size:24px; line-height:1.18; letter-spacing:-.04em; margin:21px 0 15px; }
.initial-understanding > p { font-size:12px; line-height:1.7; color:var(--ha-ink-soft); }
.initial-understanding dl { margin:18px 0; }
.initial-understanding dl > div { padding:12px 0; }
.initial-understanding dt { font-size:11px; font-weight:800; margin-bottom:6px; }
.initial-understanding dd { font-size:12px; line-height:1.65; color:var(--ha-ink-soft); margin:0; }
.initial-understanding dl > .issue-unknowns { padding:14px; background:var(--ha-bone-alt); border-left:2px solid var(--ha-petrol); border-radius:3px; }
.issue-footer { border-top:1px solid var(--ha-hairline); padding-top:14px; display:flex; justify-content:space-between; gap:12px; font-size:9px; color:var(--ha-ink-soft); }
.frontdoor-home .managed-agents { width:100%; max-width:none; background:var(--ha-ink); color:var(--ha-paper); padding-inline:max(var(--ha-gutter),calc((100vw - 1280px)/2)); }
.factory-feature { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(36px,6vw,85px); align-items:center; }
.factory-feature .section-kicker { color:var(--ha-bloom); }
.factory-feature h2 { color:var(--ha-paper); }
.factory-feature p:not(.section-kicker) { color:var(--ha-bone-on-dark); font-size:15px; line-height:1.7; }
.frontdoor-home .factory-feature .text-link { color:var(--ha-bloom); font-size:13px; margin-top:10px; }
.factory-feature figure { margin:0; }
.factory-feature figcaption { color:var(--ha-soft-on-dark); font-size:11px; margin:14px 0 0; }
.custom-role-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:40px; }
.custom-role-list details { border-top:1px solid rgba(var(--ha-bloom-rgb),.3); padding-top:20px; }
.custom-role-list summary { cursor:pointer; font-size:17px; line-height:1.35; font-weight:700; list-style:none; padding-right:20px; position:relative; }
.custom-role-list summary::-webkit-details-marker { display:none; }
.custom-role-list summary:after { content:"+"; position:absolute; right:0; top:0; color:var(--ha-bloom); font-size:22px; font-weight:400; }
.custom-role-list details[open] summary:after { content:"−"; }
.custom-role-list summary span { display:none; }
.custom-role-list details p { color:var(--ha-soft-on-dark); font-size:13px; line-height:1.7; margin:18px 0; }
.custom-role-list button { border:1px solid rgba(var(--ha-bloom-rgb),.4); border-radius:5px; background:transparent; color:var(--ha-paper); padding:9px 12px; font-family:inherit; font-size:11px; cursor:pointer; }
.frontdoor-home .founder-pair { grid-template-columns:repeat(2,minmax(0,1fr)); gap:50px; }
.frontdoor-home .founder-pair article { display:grid; grid-template-columns:150px 1fr; gap:24px; align-items:center; border:0; background:transparent; padding:0; }
.frontdoor-home .founder-pair .folded-image { width:150px; height:190px; border-radius:8px; clip-path:none; }
.frontdoor-home .founder-pair .folded-image::after { content:""; position:absolute; right:0; bottom:0; width:var(--image-fold); height:var(--image-fold); background:var(--ha-bloom); clip-path:polygon(0 0,100% 0,0 100%); }
.frontdoor-home .founder-pair img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.frontdoor-home .founder-pair h3 { font-size:25px; line-height:1.2; letter-spacing:-.035em; margin:0 0 7px; }
.frontdoor-home .founder-discipline { color:var(--ha-bloom-deep); font-size:12px; font-weight:750; margin:0 0 10px; }
.frontdoor-home .founder-copy > p:last-child { color:var(--ha-ink-soft); font-size:13px; line-height:1.7; margin:0; }
.founder-links { display:flex; gap:28px; flex-wrap:wrap; margin-top:30px; }
.frontdoor-home .text-link { color:var(--ha-bloom-deep); text-decoration:underline; text-underline-offset:4px; font-weight:750; }
.frontdoor-home .founder-links .text-link { font-size:12px; }
.frontdoor-home .working-session { width:100%; max-width:none; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:60px; padding-inline:max(var(--ha-gutter),calc((100vw - 1280px)/2)); background:var(--ha-bone-alt); border-top:1px solid var(--ha-hairline); }
.frontdoor-home .working-session-copy { max-width:620px; }
.frontdoor-home .working-session-copy > p:not(.section-kicker) { font-size:15px; line-height:1.7; color:var(--ha-ink-soft); }
.frontdoor-home .working-session .working-note { font-size:11px!important; margin-top:18px; }
.session-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:25px; }
.session-actions .text-link { font-size:12px; }
.frontdoor-home .session-amp-panel { min-height:275px; padding:0; background:transparent; border:0; display:flex; flex-direction:column; justify-content:center; align-items:start; }
.frontdoor-home .session-amp-panel > p { font-size:20px; font-weight:800; margin:0 0 18px; letter-spacing:-.025em; }
.frontdoor-home .session-prompts { display:flex; flex-direction:column; align-items:stretch; gap:10px; max-width:290px; }
.frontdoor-home .session-prompts button { font-family:inherit; background:var(--ha-paper); color:var(--ha-ink); border:1px solid var(--ha-hairline); font-size:13px; font-weight:650; min-height:44px; padding:12px 18px; border-radius:5px; text-align:left; cursor:pointer; }
.frontdoor-home .session-prompts button:hover { border-color:var(--ha-bloom-deep); }
.frontdoor-home .session-amp-anchor { position:relative; right:auto; bottom:auto; margin:20px 0 0 auto; width:100px; height:100px; }
.frontdoor-home .ha-footer { background:var(--ha-ink); color:var(--ha-paper); }
.frontdoor-home .ha-footer .brand { color:var(--ha-bloom); }
.frontdoor-home .ha-footer p,.frontdoor-home .ha-footer a:not(.brand) { color:var(--ha-soft-on-dark); }
.frontdoor-home :is(a,button,summary,textarea):focus-visible { outline:3px solid var(--ha-petrol); outline-offset:5px; }

/* Carry the same content rhythm across the supporting pages. */
.frontdoor-page .ask-amp.has-live-eyes::before { background:url("/brand/assets/ask-amp-character-v7-clean.png") 50% 50%/145% auto no-repeat; }
.frontdoor-page .page-hero { padding-block:clamp(45px,7vw,90px); }
.frontdoor-page .page-hero h1 { max-width:950px; font-size:clamp(37px,5.4vw,70px); line-height:1.1; letter-spacing:-.045em; }
.frontdoor-page .page-hero > p:not(.section-kicker) { max-width:720px; font-size:clamp(16px,1.8vw,21px); line-height:1.65; }
.frontdoor-page .section-kicker { color:var(--ha-bloom-deep); font-family:inherit; text-transform:none; letter-spacing:.025em; }
.frontdoor-page .page-hero .section-kicker, .frontdoor-page .amp-route-feature .section-kicker { color:var(--ha-bloom); }
.frontdoor-page .route-label { font-size:12px; text-transform:none; letter-spacing:0; }
.frontdoor-page .route-directory-item h2 { font-size:clamp(27px,3.2vw,40px); line-height:1.15; }
.frontdoor-page .route-directory-item p { max-width:610px; }
.frontdoor-page .story-section p,.frontdoor-page .about-section p { max-width:65ch; }
.frontdoor-page .about-section { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(32px,4vw,64px); }
.frontdoor-page .about-section > div > p:not(.contact-amp-handwritten) { font-size:clamp(17px,1.5vw,21px); line-height:1.7; }
@media(max-width:1000px) {
  .frontdoor-page .about-section { grid-template-columns:minmax(0,1fr); gap:28px; }
  .frontdoor-page .about-section > div { min-width:0; }
  .frontdoor-page .about-portrait-frame { max-width:520px; }
}
.frontdoor-page #amp-family > p:not(.section-kicker):not(.persona-status) { max-width:720px; margin:16px 0 30px; line-height:1.7; }
.frontdoor-page .amp-family { display:grid; grid-template-columns:1fr 1fr 1fr; gap:25px; }
.about-portrait-frame { --image-fold:32px; clip-path:polygon(0 0,100% 0,100% calc(100% - var(--image-fold)),calc(100% - var(--image-fold)) 100%,0 100%); position:relative; margin:0 0 28px; }
.about-portrait-frame .about-portrait { display:block; margin:0; }
.about-portrait-frame::after { content:""; position:absolute; right:0; bottom:0; width:var(--image-fold); height:var(--image-fold); background:var(--ha-bloom); clip-path:polygon(0 0,100% 0,0 100%); }
.about-overlap .founder-overlap::before,.about-overlap .founder-overlap::after { border-width:2px; border-radius:49% 51% 48% 52% / 51% 47% 53% 49%; background:color-mix(in srgb,var(--ha-bloom) 10%,transparent); }
.about-overlap .founder-overlap::after { border-color:var(--ha-petrol); border-radius:52% 48% 51% 49% / 48% 52% 47% 53%; background:color-mix(in srgb,var(--ha-petrol) 8%,transparent); }
.about-overlap .founder-overlap > p:first-of-type,.about-overlap .founder-overlap > p:last-of-type { position:absolute; top:50%; width:24%; height:auto; padding:0; border:0; background:transparent; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; font-size:clamp(13px,1.5vw,18px); line-height:1.4; }
.about-overlap .founder-overlap > p:first-of-type { left:10%; }
.about-overlap .founder-overlap > p:last-of-type { right:10%; }
.about-overlap .founder-overlap img { width:88px; height:88px; object-fit:cover; border-radius:50%; border:2px solid var(--ha-paper); }
.about-overlap .founder-overlap .overlap-result { font-size:clamp(13px,1.6vw,20px); background:transparent; }
.founder-venn-sketch { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.founder-venn-sketch path { fill:none; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
.founder-venn-sketch .venn-lee { stroke:var(--ha-bloom-deep); fill:color-mix(in srgb,var(--ha-bloom) 10%,transparent); }
.founder-venn-sketch .venn-dave { stroke:var(--ha-petrol); fill:color-mix(in srgb,var(--ha-petrol) 8%,transparent); }
.founder-venn-sketch .venn-retrace { stroke:var(--ha-ink); stroke-width:.9; opacity:.24; }
@media(min-width:761px) { .about-overlap .founder-overlap::before,.about-overlap .founder-overlap::after { display:none; } }
@media(max-width:760px) {
  .founder-venn-sketch { display:none; }
  .about-overlap .founder-overlap > p:first-of-type,.about-overlap .founder-overlap > p:last-of-type { left:50%; right:auto; width:65%; transform:translate(-50%,-50%); }
  .about-overlap .founder-overlap > p:first-of-type { top:20%; }
  .about-overlap .founder-overlap > p:last-of-type { top:80%; }
  .about-overlap .founder-overlap img { width:64px; height:64px; }
}
.frontdoor-page .amp-family > article { padding:24px 0; border-top:2px solid var(--ha-hairline); }
.frontdoor-page .amp-family > article:nth-child(1) { border-color:var(--ha-bloom); }
.frontdoor-page .amp-family > article:nth-child(2) { border-color:var(--ha-violet); }
.frontdoor-page .amp-family > article:nth-child(3) { border-color:var(--ha-petrol); }
.frontdoor-page .amp-family h3 { font-size:25px; letter-spacing:-.04em; margin:0 0 10px; }
.frontdoor-page .amp-family p { font-size:14px; line-height:1.7; }
.persona-status { color:var(--ha-ink-soft); font-size:11px!important; }
.frontdoor-page .method-loop { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; }
.frontdoor-page .method-loop article { padding-top:16px; border-top:2px solid var(--ha-bloom); }
.frontdoor-page .method-loop h3 { font-size:20px; letter-spacing:-.025em; }
.frontdoor-page .method-loop p { font-size:13px; line-height:1.65; }
@media(max-width:1100px) { .frontdoor-home .home-hero { gap:32px; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); } .hero-actions { gap:16px; } .frontdoor-home .founder-pair article { grid-template-columns:110px 1fr; gap:20px; } .frontdoor-home .founder-pair .folded-image { width:110px; height:150px; } .frontdoor-home .founder-pair { gap:30px; } .frontdoor-home .amp-question { padding:22px; } .route-visual { padding-inline:12px; } }
@media(max-width:900px) { .frontdoor-home .home-hero { grid-template-columns:1fr; gap:35px; min-height:auto; padding-block:46px; } .frontdoor-home .home-hero::before { background:linear-gradient(180deg,rgba(var(--ha-ink-rgb),.8),rgba(var(--ha-ink-rgb),.62)),url('/brand/assets/amp-custom-shop-workshop.webp') center 63%/cover no-repeat; } .frontdoor-home .hero-copy { max-width:650px; } .frontdoor-home .hero-copy h1 { font-size:clamp(42px,7.6vw,65px); } .frontdoor-home .hero-conversation { max-width:650px; width:100%; } .frontdoor-home .hero-amp-speaker { grid-template-columns:minmax(0,1fr) 145px; grid-template-rows:auto; gap:15px; align-items:end; } .frontdoor-home .amp-question { max-width:none; justify-self:stretch; border-radius:12px; } .frontdoor-home .amp-question::before { top:auto; bottom:33px; right:-16px; width:17px; height:20px; clip-path:polygon(0 0,100% 65%,0 100%); } .frontdoor-home .amp-anchor { grid-column:2; grid-row:1; width:145px; height:145px; margin:0; } .frontdoor-home .section-intro { gap:30px; } .frontdoor-home .route-grid { gap:20px; } .frontdoor-home .route-card h3 { font-size:22px; } .route-visual { height:190px; } .frontdoor-home .founder-pair article { display:block; } .frontdoor-home .founder-pair .folded-image { width:100%; height:240px; margin-bottom:20px; } .frontdoor-page .method-loop { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .frontdoor-home .home-hero { padding-block:30px 36px; gap:25px; } .frontdoor-home .hero-kicker { margin-bottom:16px; font-size:11px; } .frontdoor-home .hero-copy h1 { font-size:clamp(35px,9.7vw,48px); margin-bottom:19px; letter-spacing:-.045em; } .frontdoor-home .hero-offer { font-size:15px; line-height:1.65; } .hero-actions { margin:22px 0 14px; gap:15px; } .frontdoor-home .hero-actions .primary-action { min-height:44px; padding:12px 18px; font-size:13px; } .film-link { font-size:11px; gap:7px; } .play-mark { width:22px; height:22px; font-size:8px; } .hero-reassurance { font-size:11px; } .frontdoor-home .hero-amp-speaker { grid-template-columns:minmax(0,1fr) 82px; gap:8px; } .frontdoor-home .amp-question { padding:17px; } .frontdoor-home .amp-invitation { font-size:23px; } .frontdoor-home .amp-context { font-size:12px; margin-bottom:12px; } .frontdoor-home .amp-identity { font-size:10px; gap:6px; margin-bottom:13px; } .amp-identity span { padding-left:6px; font-size:9px; } .frontdoor-home .amp-anchor { width:82px; height:82px; margin-bottom:20px; } .frontdoor-home .entry-field button { width:33px; padding:7px; } .frontdoor-home .amp-question .entry-field { padding:5px 5px 5px 9px; } .frontdoor-home .entry-caption { font-size:10px; } .frontdoor-home .section-intro { grid-template-columns:1fr; gap:20px; margin-bottom:28px; } .frontdoor-home .section-intro > p { font-size:14px; } .frontdoor-home .section-intro h2,.frontdoor-home .factory-feature h2,.frontdoor-home .working-session h2 { font-size:32px; } .frontdoor-home .module { padding-block:45px; } .frontdoor-home .route-grid { grid-template-columns:1fr; gap:30px; } .frontdoor-home .route-card { padding-top:18px; } .frontdoor-home .route-category { min-height:0; margin-bottom:18px; font-size:12px; } .route-visual { height:215px; } .frontdoor-home .route-card h3 { font-size:27px; max-width:310px; margin-top:20px; } .explainer-feature,.improvement-story,.understanding-feature,.factory-feature { grid-template-columns:1fr; gap:30px; } .explainer-feature { margin-top:45px; padding-top:35px; } .explainer-copy h3 { font-size:31px; } .story-steps article { gap:15px; } .understanding-feature { margin-top:45px; } .initial-understanding { padding:20px; transform:none; } .initial-understanding h4 { font-size:24px; } .issue-heading { font-size:9px; gap:6px; } .issue-stage { padding:4px 6px; } .issue-footer { font-size:8px; } .custom-role-list { grid-template-columns:1fr; gap:24px; margin-top:30px; } .frontdoor-home .founder-pair { grid-template-columns:1fr; gap:32px; } .frontdoor-home .founder-pair article { display:grid; grid-template-columns:100px 1fr; gap:18px; } .frontdoor-home .founder-pair .folded-image { width:100px; height:140px; margin:0; } .frontdoor-home .founder-pair h3 { font-size:23px; } .frontdoor-home .founder-copy > p:last-child { font-size:12px; } .frontdoor-home .founder-discipline { font-size:11px; } .founder-links { flex-direction:column; gap:15px; } .frontdoor-home .working-session { grid-template-columns:1fr; gap:20px; } .frontdoor-home .session-amp-panel { min-height:0; } .frontdoor-home .session-prompts { max-width:none; width:100%; } .frontdoor-home .session-amp-anchor { width:82px; height:82px; margin-top:10px; } .frontdoor-page .amp-family,.frontdoor-page .method-loop { grid-template-columns:1fr; } }
@media(max-width:360px) { .frontdoor-home .hero-amp-speaker { grid-template-columns:1fr; } .frontdoor-home .amp-anchor { position:absolute; right:0; bottom:-52px; width:70px; height:70px; } .frontdoor-home .amp-question { padding:17px; margin-bottom:20px; } .frontdoor-home .amp-question::before { right:32px; bottom:-15px; width:17px; height:17px; clip-path:polygon(0 0,100% 0,80% 100%); } .frontdoor-home .hero-conversation { padding-bottom:24px; } .frontdoor-home .hero-actions { gap:17px; } .frontdoor-home .issue-heading { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { .frontdoor-home .initial-understanding { transform:none; } .frontdoor-home *, .frontdoor-page * { scroll-behavior:auto; } }

/* Workshop edition: strong type, physical materials and a deliberate change of pace. */
.frontdoor-home .section-kicker { font-family:inherit; font-weight:700; }
.frontdoor-home .hero-copy h1 { font-size:clamp(48px,5.8vw,86px); line-height:1.02; }
.frontdoor-home .hero-copy h1 span:last-child { margin-top:.09em; }
.frontdoor-home .amp-question { background:rgba(247,241,238,.94); backdrop-filter:blur(20px); box-shadow:0 24px 65px rgba(0,0,0,.25); }
.frontdoor-home .entry-routes { padding-top:90px; }
.frontdoor-home .section-intro { margin-bottom:48px; }
.frontdoor-home .section-intro h2 { font-size:clamp(36px,4.2vw,60px); }
.frontdoor-home .route-grid { gap:20px; align-items:stretch; }
.frontdoor-home .route-card { --route-accent:var(--ha-bloom-deep); padding:30px 28px 25px; border:0; background:var(--ha-paper-face); border-radius:3px; box-shadow:0 12px 26px rgba(var(--ha-ink-rgb),.06); transition:box-shadow .25s ease; }
.frontdoor-home .route-connect { --route-accent:var(--ha-violet); background:color-mix(in srgb,var(--ha-violet) 12%,var(--ha-paper)); }
.frontdoor-home .route-amplify { --route-accent:var(--ha-petrol); background:color-mix(in srgb,var(--ha-petrol) 14%,var(--ha-paper)); }
.frontdoor-home .route-card::before { content:""; position:absolute; top:0; left:28px; width:42px; height:4px; background:var(--route-accent); }
.frontdoor-home .route-category { min-height:35px; font-size:11px; font-weight:650; line-height:1.4; max-width:220px; color:var(--route-accent); }
.frontdoor-home .route-arrow { right:24px; top:23px; font-size:24px; color:var(--route-accent); }
.frontdoor-home .route-card h3 { font-size:clamp(30px,3.25vw,46px); font-weight:800; line-height:1.06; letter-spacing:-.055em; margin:18px 0; max-width:260px; min-height:2.12em; }
.frontdoor-home .route-card p { font-size:14px; line-height:1.65; margin:0 0 16px; color:var(--ha-ink); }
.frontdoor-home .route-visual { margin-top:auto; height:235px; background:transparent; border-radius:0; padding-inline:0; overflow:visible; }
.frontdoor-home .route-cta { margin-top:16px; padding-top:17px; border-top:1px solid rgba(var(--ha-ink-rgb),.2); color:var(--ha-ink); font-size:11px; }
.frontdoor-home .route-card:hover { box-shadow:0 22px 40px rgba(var(--ha-ink-rgb),.13); }
.frontdoor-home .route-card:focus-visible { outline-offset:5px; }
.frontdoor-home .mini-site { width:95%; box-shadow:10px 12px 0 rgba(var(--ha-ink-rgb),.08); }
.frontdoor-home .prototype-shape { background:var(--ha-paper); width:155px; height:100px; }
.frontdoor-home .explainer-feature { margin-top:90px; padding-top:65px; }
.frontdoor-home .explainer-copy h3 { font-size:clamp(37px,4.2vw,59px); line-height:1.06; }
.frontdoor-home .humanamp-explainer { border-radius:3px; box-shadow:0 18px 45px rgba(var(--ha-ink-rgb),.12); }
.frontdoor-home .frontdoor-example { width:100%; max-width:none; padding-inline:max(var(--ha-gutter),calc((100vw - 1280px)/2)); padding-bottom:calc(clamp(54px,6vw,88px) + 35px); background:var(--ha-petrol); color:var(--ha-paper); }
.frontdoor-home .frontdoor-example :is(h2,h3) { color:var(--ha-paper); }
.frontdoor-home .frontdoor-example .section-kicker { color:var(--ha-paper); }
.frontdoor-home .frontdoor-example .section-intro { grid-template-columns:1fr; margin-bottom:32px; }
.frontdoor-home .frontdoor-example :is(.section-intro > p,.story-steps p,.understanding-copy > p:not(.section-kicker)) { color:var(--ha-paper); }
.frontdoor-home .story-steps article { border-color:rgba(247,241,238,.25); padding-block:25px; }
.frontdoor-home .story-steps article > span { color:var(--ha-paper-face); font-size:49px; }
.frontdoor-home .story-steps h3 { font-size:24px; }
.frontdoor-home .listening-scene img { border-radius:3px; box-shadow:12px 14px 0 rgba(var(--ha-ink-rgb),.15); }
.frontdoor-home .understanding-feature { padding-top:65px; margin-top:65px; border-top:1px solid rgba(247,241,238,.25); }
.frontdoor-home .understanding-copy h3 { font-size:clamp(36px,4vw,55px); }
.frontdoor-home .understanding-copy .text-link { color:var(--ha-paper); }
.frontdoor-home .context-action,.frontdoor-home .role-action,.frontdoor-home .session-amp-link { border:0; border-bottom:1px solid currentColor; background:transparent; color:inherit; font:inherit; font-size:13px; font-weight:750; padding:3px 0; cursor:pointer; }
.frontdoor-home .context-action { color:var(--ha-paper); margin:16px 0; }
.frontdoor-home .role-action { display:block; margin-top:28px; color:var(--ha-paper); }
.frontdoor-home .session-amp-link { color:var(--ha-ink); font-size:16px; }
.frontdoor-home .initial-understanding { color:var(--ha-ink); border:0; border-radius:2px; padding:35px; box-shadow:10px 12px 0 rgba(247,241,238,.2),0 24px 65px rgba(var(--ha-ink-rgb),.2); }
.frontdoor-home .initial-understanding h4 { font-size:31px; }
.frontdoor-home .managed-agents { border-top:0; }
.frontdoor-home .factory-feature h2 { font-size:clamp(38px,4.5vw,64px); }
.frontdoor-home .custom-role-list { margin-top:60px; }
.frontdoor-home .custom-role-list summary { font-size:21px; }
.frontdoor-home .founder-pair { margin-top:50px; }
.frontdoor-home .founder-pair article { grid-template-columns:180px 1fr; }
.frontdoor-home .founder-pair .folded-image { width:180px; height:230px; border-radius:0; clip-path:polygon(0 0,100% 0,100% calc(100% - var(--image-fold)),calc(100% - var(--image-fold)) 100%,0 100%); }
.frontdoor-home .working-session { background:var(--ha-bloom); border:0; }
.frontdoor-home .working-session .section-kicker,.frontdoor-home .working-session .text-link { color:var(--ha-ink); }
.frontdoor-home .working-session h2 { font-size:clamp(40px,4.6vw,65px); }
.frontdoor-home .working-session-copy > p:not(.section-kicker) { color:var(--ha-ink); }
.frontdoor-home .working-session .primary-action { background:var(--ha-ink); color:var(--ha-paper); }
.frontdoor-home .session-prompts button { background:rgba(247,241,238,.8); border-color:transparent; }
.frontdoor-home .session-amp-panel > p { margin-bottom:12px; }

/* The three briefs settle onto the workbench as it comes into view.
   Native scroll timelines preserve normal scrolling and require no observers. */
@supports (animation-timeline:view()) {
  @media (prefers-reduced-motion:no-preference) and (min-width:901px) {
    .frontdoor-home .understanding-feature { view-timeline-name:--understanding; }
    .frontdoor-home .initial-understanding { animation:understanding-settle linear both; animation-timeline:--understanding; animation-range:entry 0% entry 85%; }
    .frontdoor-home .mini-site,.frontdoor-home .prototype-sketch { transition:transform .4s cubic-bezier(.2,.7,.2,1); }
    .frontdoor-home .route-card:hover :is(.mini-site,.prototype-sketch) { transform:rotate(0deg) translateY(-5px); }
  }
}
@keyframes brief-settle { from { transform:translate(var(--brief-x),var(--brief-y)) rotate(var(--brief-turn)); } to { transform:translate(0,0) rotate(0); } }
@keyframes understanding-settle { from { transform:translateY(80px) rotate(5deg); } to { transform:translateY(0) rotate(-1deg); } }
@media(max-width:1100px) { .frontdoor-home .route-card { padding-inline:22px; } .frontdoor-home .founder-pair article { grid-template-columns:110px 1fr; } .frontdoor-home .founder-pair .folded-image { width:110px; height:160px; } }
@media(max-width:900px) { .frontdoor-home .hero-copy h1 { font-size:clamp(42px,7.6vw,65px); } .frontdoor-home .route-grid { grid-template-columns:1fr; gap:22px; } .frontdoor-home .route-card { display:grid; grid-template-columns:1fr 1fr; column-gap:30px; padding:30px; } .frontdoor-home .route-category,.frontdoor-home .route-card h3,.frontdoor-home .route-card p,.frontdoor-home .route-cta { grid-column:1; } .frontdoor-home .route-category { min-height:0; } .frontdoor-home .route-card h3 { min-height:0; font-size:36px; } .frontdoor-home .route-visual { grid-column:2; grid-row:1 / 5; align-self:center; margin:0; width:100%; } .frontdoor-home .route-cta { margin-top:0; } .frontdoor-home .founder-pair article { display:block; } .frontdoor-home .founder-pair .folded-image { width:100%; height:240px; margin-bottom:20px; } }
@media(max-width:600px) { .frontdoor-home .hero-copy h1 { font-size:clamp(35px,9.7vw,48px); } .frontdoor-home .entry-routes { padding-top:55px; } .frontdoor-home .section-intro { margin-bottom:30px; } .frontdoor-home .section-intro h2 { font-size:36px; } .frontdoor-home .route-card { display:flex; padding:27px 25px; } .frontdoor-home .route-category { margin:0; } .frontdoor-home .route-card h3 { font-size:40px; max-width:260px; margin:18px 0; } .frontdoor-home .route-visual { height:250px; } .frontdoor-home .route-cta { margin-top:14px; } .frontdoor-home .explainer-feature { margin-top:50px; padding-top:40px; } .frontdoor-home .explainer-copy h3 { font-size:40px; } .frontdoor-home .understanding-feature { margin-top:40px; padding-top:40px; } .frontdoor-home .initial-understanding { padding:23px; box-shadow:6px 7px 0 rgba(247,241,238,.2); } .frontdoor-home .initial-understanding h4 { font-size:27px; } .frontdoor-home .founder-pair { margin-top:30px; } .frontdoor-home .founder-pair article { display:grid; grid-template-columns:100px 1fr; } .frontdoor-home .founder-pair .folded-image { width:100px; height:140px; margin:0; } .frontdoor-home .working-session h2 { font-size:40px; } }
.frontdoor-home .route-card .sketch-caption { color:var(--ha-ink); }
.frontdoor-home .route-amplify .route-category { color:var(--ha-ink); }

/* One Landywood story: the van, the enquiry and the opportunity to test. */
.frontdoor-home .landywood-story { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(30px,5vw,70px); align-items:center; }
.van-to-quote { margin:0; min-width:0; }
.van-scene { position:relative; container-type:inline-size; }
.quote-sketch { display:block; width:100%; overflow:visible; }
.quote-sketch .sketch-background { opacity:.9; }
.quote-sketch .sketch-house-mass { fill:color-mix(in srgb,var(--ha-paper-face) 26%,transparent); stroke:var(--ha-paper-face); stroke-width:2.5; stroke-linejoin:round; }
.quote-sketch .sketch-house,.quote-sketch .sketch-scaffold,.quote-sketch .sketch-lawn,.quote-sketch .sketch-worker { stroke:var(--ha-paper-face); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.quote-sketch .sketch-scaffold { stroke-width:1.5; }
.quote-sketch .sketch-worker { fill:var(--ha-petrol); }
.quote-sketch .sketch-ground { stroke:var(--ha-paper); stroke-width:2; opacity:.35; stroke-linecap:round; }
.quote-sketch .sketch-van { fill:var(--ha-paper-face); stroke:var(--ha-ink); stroke-width:4; stroke-linejoin:round; }
.quote-sketch .sketch-window { fill:var(--ha-petrol); stroke:var(--ha-ink); stroke-width:3; }
.quote-sketch .sketch-detail { stroke:var(--ha-ink); stroke-width:3; stroke-linecap:round; }
.quote-sketch .sketch-wheel { fill:var(--ha-ink); stroke:var(--ha-paper); stroke-width:3; }
.quote-sketch .sketch-hub { fill:var(--ha-paper-face); }
.quote-sketch .sketch-qr-paper { fill:var(--ha-white); }
.quote-sketch .sketch-qr { stroke:var(--ha-ink); }
.quote-sketch .sketch-arrow { stroke:var(--ha-paper-face); stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; }
.quote-sketch .sketch-arrow-head { stroke:var(--ha-bloom); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; animation:sketch-arrow-tip 2.8s ease-in-out infinite; }
.quote-sketch .sketch-arrow-trail { stroke:var(--ha-bloom); stroke-width:2.5; stroke-linecap:round; stroke-dasharray:5 9; animation:sketch-arrow-flow 2.8s linear infinite; }
@keyframes sketch-arrow-flow { to { stroke-dashoffset:-48; } }
@keyframes sketch-arrow-tip { 50% { transform:translate(2px,1px); } }
@media(prefers-reduced-motion:reduce) { .quote-sketch .sketch-arrow-head,.quote-sketch .sketch-arrow-trail { animation:none; } }
.quote-sketch .sketch-phone { fill:var(--ha-paper); stroke:var(--ha-ink); stroke-width:4; }
.quote-sketch .sketch-photo { fill:var(--ha-paper-face); }
.quote-sketch .sketch-tree { stroke:var(--ha-petrol); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.quote-sketch .sketch-grass { stroke:var(--ha-emerald); stroke-width:3; stroke-linecap:round; }
.van-thought { display:block; margin:0 0 24px; color:var(--ha-paper-face); font-family:Caveat,cursive; font-size:clamp(26px,3.3vw,38px); line-height:1.2; }
.van-job-note { margin:0 0 12px; color:var(--ha-paper); font-size:14px; font-weight:650; }
.quote-sketch .sketch-turf { fill:var(--ha-emerald); stroke:var(--ha-paper-face); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.quote-sketch .turf-sheet { opacity:0; transform-box:fill-box; transform-origin:50% 0; transform:scaleY(.02); transition:transform 950ms cubic-bezier(.2,.72,.2,1),opacity 180ms ease; }
.quote-sketch .turf-soil { fill:var(--ha-ink); stroke:var(--ha-paper-face); stroke-width:1.5; }
.quote-sketch .turf-grass { fill:var(--ha-emerald); stroke:var(--ha-paper-face); stroke-width:1.5; }
.quote-sketch .turf-lines { fill:none; stroke:var(--ha-petrol); stroke-width:1.2; stroke-linecap:round; opacity:.65; }
.quote-sketch .turf-grain,.quote-sketch .turf-blades { fill:none; stroke:var(--ha-paper-face); stroke-width:1.4; stroke-linecap:round; opacity:.8; }
.quote-sketch .turf-roll { transition:transform 950ms cubic-bezier(.2,.72,.2,1); }
.quote-sketch .turf-roll-shadow { fill:var(--ha-petrol); opacity:.45; }
.quote-sketch .turf-roll-texture,.quote-sketch .turf-fringe { fill:none; stroke:var(--ha-paper-face); stroke-width:1.3; stroke-linecap:round; }
.quote-sketch .turf-roll-end { fill:var(--ha-paper-face); stroke:var(--ha-ink); stroke-width:1.5; }
.quote-sketch .turf-roll-core { fill:var(--ha-emerald); stroke:var(--ha-petrol); stroke-width:1.5; }
.quote-sketch .turf-roll-spiral { fill:none; stroke:var(--ha-paper-face); stroke-width:1.5; stroke-linecap:round; transform-box:fill-box; transform-origin:center; transition:transform 950ms cubic-bezier(.2,.72,.2,1); }
.van-scene:is(:hover,:focus-within) .turf-sheet { opacity:1; transform:scaleY(1); }
.van-scene:is(:hover,:focus-within) .turf-roll { transform:translateY(42px); }
.van-scene:is(:hover,:focus-within) .turf-roll-spiral { transform:rotate(540deg); }
.turf-trigger { position:absolute; z-index:1; left:54%; top:73%; width:18%; height:26%; padding:0; border:0; background:transparent; cursor:pointer; touch-action:manipulation; }
.turf-trigger:focus-visible { outline:2px solid var(--ha-paper-face); outline-offset:2px; border-radius:8px; }
@media(prefers-reduced-motion:reduce) { .quote-sketch .turf-sheet,.quote-sketch .turf-roll,.quote-sketch .turf-roll-spiral { transition:none; } }
.van-name { position:absolute; top:43%; left:9%; color:var(--ha-ink); font-size:clamp(10px,3.6cqi,23px); font-weight:800; letter-spacing:-.06em; }
.van-qr-caption { position:absolute; top:60%; left:26%; width:17%; text-align:center; color:var(--ha-ink); font-size:clamp(6px,1.6cqi,10px); font-weight:700; }
.phone-name { position:absolute; top:21%; left:74%; width:18%; color:var(--ha-ink); font-size:clamp(9px,2.3cqi,14px); font-weight:800; text-align:center; }
.phone-message { position:absolute; top:61%; left:74%; width:19%; text-align:center; color:var(--ha-ink); font-size:clamp(8px,2.2cqi,14px); line-height:1.4; font-weight:650; }
.van-to-quote figcaption { display:flex; width:100%; gap:12px; align-items:center; justify-content:center; margin:16px 0 0; font-size:13px; line-height:1.5; font-weight:650; text-align:center; }
.van-to-quote figcaption b { color:var(--ha-paper-face); font-size:20px; font-weight:400; }
.frontdoor-home .landywood-understanding { transform:none; padding:28px 30px; box-shadow:7px 8px 0 color-mix(in srgb,var(--ha-paper) 22%,transparent); }
.frontdoor-home .landywood-story .landywood-understanding { animation:none; }
.frontdoor-home .landywood-understanding h3 { color:var(--ha-ink); font-size:clamp(25px,2.7vw,36px); line-height:1.15; letter-spacing:-.045em; margin:22px 0 16px; }
.landywood-understanding dl { margin:0 0 18px; }
.landywood-understanding dl > div { padding:10px 0; }
.landywood-understanding dt { font-size:12px; }
.landywood-understanding dd { font-size:13px; line-height:1.6; }
.landywood-understanding .issue-footer { font-size:10px; }
.landywood-takeaway { margin-top:20px; }
.landywood-takeaway p { margin:0; color:var(--ha-paper); font-size:clamp(18px,2.1vw,26px); font-weight:750; letter-spacing:-.035em; }
@media(max-width:760px) {
  .frontdoor-home .landywood-story { grid-template-columns:1fr; gap:30px; }
  .van-to-quote { width:100%; max-width:560px; margin-inline:auto; }
  .frontdoor-home .landywood-understanding { padding:24px; }
  .landywood-takeaway { margin-top:20px; }
}
@media(max-width:400px) {
  .van-to-quote figcaption { display:grid; grid-template-columns:1fr 12px 1fr 12px 1.4fr; font-size:10px; gap:5px; text-align:center; }
  .frontdoor-home .landywood-understanding { padding:20px; }
  .frontdoor-home .landywood-understanding h3 { font-size:25px; }
  .landywood-understanding .issue-heading { flex-wrap:wrap; font-size:9px; }
  .landywood-understanding .issue-stage { padding:3px 5px; }
}

/* Editorial pass: common baselines and space proportional to the content. */
.frontdoor-home .hero-copy { align-self:center; }
.frontdoor-home .hero-offer { max-width:510px; }
.frontdoor-home .hero-actions { margin:26px 0 0; }
.frontdoor-home .hero-actions a { margin:0; align-self:center; }
.frontdoor-home .section-intro { align-items:center; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:46px; }
.frontdoor-home .section-intro > p { max-width:420px; }
.frontdoor-home .route-card { display:grid; grid-template-rows:20px 2.12em auto 200px auto; font-size:clamp(30px,3vw,42px); row-gap:18px; }
.frontdoor-home .route-category { min-height:0; padding-right:30px; }
.frontdoor-home .route-card h3 { min-height:0; margin:0; padding-right:0; max-width:none; font-size:inherit; }
.frontdoor-home .route-card p { margin:0; }
.frontdoor-home .route-card .route-visual { height:200px; margin:0; padding:12px 0; align-self:center; overflow:hidden; }
.frontdoor-home .mini-site-content b { max-width:none; }
.frontdoor-home .route-cta { margin:0; align-self:end; }
.route-connect { --route-colour:var(--ha-violet); }
.frontdoor-home .explainer-feature { gap:46px; margin-top:70px; padding-top:55px; }
.frontdoor-home .improvement-story { align-items:start; }
.frontdoor-home .story-steps article:first-child { padding-top:0; }
.frontdoor-home .understanding-feature { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:46px; }
.frontdoor-home .founder-pair article { align-items:start; }
.frontdoor-home .founder-pair { margin-top:0; }
.frontdoor-home .working-session { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:46px; align-items:start; }
.frontdoor-home .session-amp-panel { padding-top:32px; justify-content:flex-start; }
.frontdoor-home .session-prompts { max-width:none; width:100%; }
.frontdoor-home .session-actions { gap:20px; }
@media(max-width:900px) {
 .frontdoor-home .route-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto auto auto; font-size:36px; gap:16px 30px; }
 .frontdoor-home .route-card .route-visual { height:210px; }
}
@media(max-width:600px) {
 .frontdoor-home .section-intro,.frontdoor-home .understanding-feature,.frontdoor-home .working-session { grid-template-columns:1fr; gap:22px; }
 .frontdoor-home .route-card { grid-template-columns:1fr; grid-template-rows:auto auto auto 190px auto; font-size:38px; gap:17px; }
 .frontdoor-home .route-card .route-visual { grid-column:1; grid-row:auto; height:190px; }
 .frontdoor-home .route-card h3 { max-width:270px; }
 .frontdoor-home .route-category { margin:0; }
 .frontdoor-home .explainer-feature { gap:25px; margin-top:40px; padding-top:35px; }
 .frontdoor-home .session-amp-panel { padding-top:10px; }
 .frontdoor-home .hero-actions { gap:14px; }
}
/* Amp's invitation is a conversation, with the character carrying the personality. */
.frontdoor-home .amp-question { padding:28px; border-radius:25px 25px 5px 25px; }
.frontdoor-home .amp-identity { margin-bottom:20px; }
.frontdoor-home .amp-identity span { font-size:11px; border:0; padding-left:0; }
.frontdoor-home .amp-invitation { font-size:clamp(26px,2.7vw,36px); line-height:1.12; max-width:330px; }
.frontdoor-home .amp-context { font-family:Caveat,cursive; font-size:26px; color:var(--ha-bloom-deep); line-height:1.1; margin:8px 0 20px; transform:rotate(-2deg); transform-origin:left center; }
.frontdoor-home .entry-caption { text-align:right; margin-top:9px; }
.frontdoor-home .hero-amp-speaker { gap:16px; }
.frontdoor-home .amp-anchor { margin-right:35px; }
@media(max-width:900px) { .frontdoor-home .amp-anchor { margin-right:0; } }
@media(max-width:600px) { .frontdoor-home .amp-question { padding:20px 17px 15px; border-radius:18px 18px 4px 18px; } .frontdoor-home .amp-invitation { font-size:26px; } .frontdoor-home .amp-context { font-size:25px; margin-bottom:16px; } .frontdoor-home .amp-identity { margin-bottom:16px; } .frontdoor-home .amp-identity span { font-size:9px; } }
.frontdoor-home .entry-field .entry-talk:not([hidden]) { width:46px; height:46px; padding:10px; }

/* One welcome: a quiet workshop, an attentive guide, then the invitation. */
.frontdoor-home .home-hero { overflow:clip; }
.frontdoor-home .site-header nav a.nav-talk { background:transparent; color:var(--ha-paper)!important; font-weight:600; }
.frontdoor-home.has-amp-dock .desktop-navigation .nav-talk { visibility:hidden; }
.frontdoor-home .hero-amp-speaker { grid-template-rows:auto 220px; gap:18px; }
.frontdoor-home .amp-anchor { width:220px; height:220px; margin-right:28px; }
.frontdoor-home .amp-question { min-height:234px; padding:28px; transition:opacity .3s ease, transform .35s cubic-bezier(.2,.75,.2,1); }
.frontdoor-home .amp-invitation { position:relative; margin:0 0 26px; max-width:100%; min-height:2.24em; font-size:clamp(28px,2.7vw,38px); }
.frontdoor-home [data-welcome-typed] { display:none; position:absolute; inset:0; }
.frontdoor-home .is-question-typing [data-welcome-question] { opacity:0; }
.frontdoor-home .is-question-typing [data-welcome-typed] { display:block; }
.frontdoor-home .is-question-typing [data-welcome-typed]::after { content:""; display:inline-block; width:2px; height:.85em; margin-left:3px; background:var(--ha-bloom-deep); vertical-align:-.05em; }
.frontdoor-home .welcome-actions { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:14px; transition:opacity .25s ease, transform .3s ease; }
.frontdoor-home .welcome-talk { display:inline-flex; align-items:center; gap:14px; padding:0; border:0; background:transparent; color:var(--ha-ink); font:700 15px/1.3 Manrope,sans-serif; text-align:left; cursor:pointer; }
.frontdoor-home .welcome-mic { width:64px; height:64px; display:grid; place-items:center; flex-shrink:0; border-radius:50%; background:var(--ha-bloom); box-shadow:0 0 0 5px rgba(var(--ha-bloom-rgb),.15); transition:box-shadow .2s ease, background .2s ease; }
.frontdoor-home .welcome-mic svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.frontdoor-home .welcome-talk:hover:not(:disabled) .welcome-mic,.frontdoor-home .welcome-talk:focus-visible .welcome-mic { background:var(--ha-spread); box-shadow:0 0 0 9px rgba(var(--ha-bloom-rgb),.2); }
.frontdoor-home .welcome-talk:disabled { color:var(--ha-ink-soft); cursor:default; }
.frontdoor-home .welcome-talk:disabled .welcome-mic { background:var(--ha-bone-alt); box-shadow:0 0 0 1px var(--ha-hairline); }
.frontdoor-home .welcome-type,.frontdoor-home .voice-switch { padding:10px 0; min-height:44px; background:none; border:0; color:var(--ha-ink-soft); font:500 12px/1.4 Manrope,sans-serif; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.frontdoor-home .welcome-type { flex-shrink:0; }
.frontdoor-home .voice-switch { display:none; }
.frontdoor-home .voice-switch:disabled { display:none; }
.frontdoor-home .welcome-resume button { min-height:64px; width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 18px; background:var(--ha-bloom); color:var(--ha-ink); border:0; border-radius:8px; font:700 15px/1.4 Manrope,sans-serif; cursor:pointer; }
.frontdoor-home .amp-question[data-entry-mode="voice"] .entry-field,.frontdoor-home .amp-question[data-entry-mode="voice"] label[for="amp-hero"] { display:none; }
.frontdoor-home .amp-question[data-entry-mode="text"] .welcome-actions { display:none; }
.frontdoor-home .amp-question[data-entry-mode="text"] .voice-switch:not(:disabled) { display:block; }
.frontdoor-home .amp-question.is-returning .welcome-actions,.frontdoor-home .amp-question.is-returning .entry-field,.frontdoor-home .amp-question.is-returning .voice-switch { display:none; }
.frontdoor-home .amp-question .entry-field { min-height:64px; }
.frontdoor-home .amp-question .entry-caption { margin-top:18px; }
.amp-welcome-pending .frontdoor-home .amp-question,.frontdoor-home .home-hero:is([data-welcome-stage="opening"],[data-welcome-stage="waking"],[data-welcome-stage="noticing"]) .amp-question { opacity:0; transform:translateY(12px); pointer-events:none; }
.frontdoor-home .home-hero[data-welcome-stage="inviting"] .welcome-actions { opacity:0; transform:translateY(8px); pointer-events:none; }
.frontdoor-home .ask-amp.is-eye-opening .amp-lid { transition-duration:700ms; }
.amp-welcome-pending .frontdoor-home .ask-amp .amp-lid { transform:translateY(0); }
.frontdoor-home .ask-amp[data-amp-mode="dock"]::after { content:"Just ask!"; position:absolute; right:90%; top:45%; padding:10px 14px; border-radius:20px; background:var(--ha-paper); color:var(--ha-ink); white-space:nowrap; font:700 12px/1.2 Manrope,sans-serif; box-shadow:0 4px 20px rgba(var(--ha-ink-rgb),.15); }
@media (prefers-reduced-motion:no-preference) {
  .frontdoor-home .has-welcome-motion .hero-offer { animation:welcome-copy .4s .35s both; }
  .frontdoor-home .has-welcome-motion::before { animation:workshop-settle 2.8s both; }
  .frontdoor-home .has-welcome-motion[data-welcome-stage="ready"] .welcome-talk:not(:disabled) .welcome-mic { animation:welcome-mic 1s .15s ease-out; }
  .frontdoor-home .route-card.is-presented { animation:route-present .65s calc(var(--route-order) * .12s) both; }
  .frontdoor-home .route-choose.is-presented .mini-site-content > * { animation:sketch-form .45s both; animation-delay:calc(.3s + var(--route-order) * .12s); }
  .frontdoor-home .route-choose.is-presented .mini-site-content b { animation-delay:.5s; }
  .frontdoor-home .route-choose.is-presented .mini-site-content em { animation-delay:.7s; }
  .frontdoor-home .route-create.is-presented .prototype-shape { animation:prototype-form .9s .4s both; }
}
@keyframes welcome-copy { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes workshop-settle { from { transform:scale(1.025); filter:blur(7px) saturate(.75); } to { transform:scale(1); filter:blur(5px) saturate(.75); } }
@keyframes welcome-mic { 0%,100% { box-shadow:0 0 0 5px rgba(var(--ha-bloom-rgb),.15); } 50% { box-shadow:0 0 0 13px rgba(var(--ha-bloom-rgb),.08); } }
@keyframes route-present { from { opacity:.35; transform:translateY(18px) rotate(-.8deg); } to { opacity:1; transform:none; } }
@keyframes sketch-form { from { opacity:0; clip-path:inset(0 100% 0 0); } to { opacity:1; clip-path:inset(0); } }
@keyframes prototype-form { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
@media(max-width:900px) {
  .frontdoor-home .hero-amp-speaker { grid-template-columns:minmax(0,1fr) 160px; grid-template-rows:auto; align-items:end; }
  .frontdoor-home .amp-anchor { width:160px; height:160px; margin:0 0 14px; }
}
@media(max-width:600px) {
  .frontdoor-home .hero-amp-speaker { grid-template-columns:minmax(0,1fr) 94px; gap:10px; }
  .frontdoor-home .amp-anchor { width:94px; height:94px; margin:0 0 20px; position:static; }
  .frontdoor-home .amp-question { min-height:224px; padding:22px 18px 16px; }
  .frontdoor-home .amp-invitation { margin-bottom:22px; font-size:27px; }
  .frontdoor-home .welcome-actions { align-items:start; flex-direction:column; gap:4px; }
  .frontdoor-home .welcome-mic { width:56px; height:56px; }
  .frontdoor-home .welcome-talk { gap:12px; font-size:14px; }
  .frontdoor-home .welcome-type { margin-left:68px; min-height:44px; padding-block:8px; }
  .frontdoor-home .amp-question .entry-caption { margin-top:10px; }
  .frontdoor-home .amp-question .entry-field { padding:5px 8px; }
  .frontdoor-home .welcome-resume button { font-size:14px; padding:12px; }
}
@media(max-width:360px) {
  .frontdoor-home .hero-amp-speaker { grid-template-columns:minmax(0,1fr); padding-bottom:0; }
  .frontdoor-home .amp-question { margin:0; min-height:220px; padding-right:76px; }
  .frontdoor-home .amp-anchor { position:absolute; right:0; bottom:-98px; width:86px; height:86px; margin:0; }
  .frontdoor-home .amp-question::before { right:36px; bottom:-16px; }
  .frontdoor-home .hero-conversation { padding-bottom:102px; }
  .frontdoor-home .amp-question[data-entry-mode="text"],.frontdoor-home .amp-question.is-returning { padding-right:18px; }
}

/* Priority review: each service card gets one job and one quiet route onward. */
.frontdoor-home .entry-routes .section-intro { grid-template-columns:1fr; margin-bottom:28px; }
.frontdoor-home .entry-routes .route-card { grid-template-rows:auto auto 200px 30px; gap:16px; padding-bottom:14px; }
.frontdoor-home .route-card h3 { font-size:clamp(28px,2.7vw,38px); }
.frontdoor-home .route-card p { max-width:34ch; }
.frontdoor-home .route-card .route-more { display:grid; place-items:center; width:28px; height:28px; margin-top:auto; border:1px solid var(--route-colour, var(--ha-bloom-deep)); border-radius:50%; color:var(--route-colour, var(--ha-bloom-deep)); font-size:22px; font-weight:400; line-height:1; }
.frontdoor-home .route-card:hover .route-more,.frontdoor-home .route-card:focus-visible .route-more { background:var(--route-colour, var(--ha-bloom-deep)); color:var(--ha-paper); }
.factory-feature figure { position:relative; }
.landywood-priority { padding:14px; border:1px solid var(--ha-hairline); border-radius:14px; background:var(--ha-paper); box-shadow:0 16px 38px rgba(var(--ha-ink-rgb),.07); }
.priority-switch { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border:1px solid var(--ha-hairline); border-radius:11px; background:var(--ha-card); }
.priority-switch button { min-height:46px; border:1px solid var(--ha-hairline); border-radius:8px; background:var(--ha-paper); color:var(--ha-ink-soft); font:800 14px/1.2 Manrope,sans-serif; cursor:pointer; transition:transform 180ms var(--ha-ease),background 180ms ease,box-shadow 180ms ease; }
.priority-switch button:hover { transform:translateY(-2px); background:var(--ha-paper-face); box-shadow:0 4px 10px rgba(var(--ha-ink-rgb),.14); }
.priority-switch button:active { transform:translateY(0); }
.priority-switch button:focus-visible { outline:3px solid var(--ha-petrol); outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .priority-switch button { transition:none; } .priority-switch button:hover { transform:none; } }
.priority-switch button[aria-selected="true"] { background:var(--ha-bloom); color:var(--ha-ink); box-shadow:0 6px 16px rgba(var(--ha-ink-rgb),.12); }
.priority-card { margin-top:14px; padding:24px; border-left:7px solid var(--ha-bloom); border-radius:9px; background:var(--ha-card); }
.frontdoor-home .frontdoor-example .priority-card h3 { margin:16px 0; color:var(--ha-ink); font-family:Manrope,sans-serif; font-size:clamp(28px,3vw,42px); font-weight:800; line-height:1.08; letter-spacing:-.05em; }
.priority-card > p { color:var(--ha-ink-soft); font-size:14px; line-height:1.65; }
.priority-card > div { display:grid; gap:5px; margin-top:22px; padding-top:14px; border-top:1px solid var(--ha-hairline); color:var(--ha-ink-soft); font-size:11px; line-height:1.5; }
.priority-card > div strong,.priority-stage { color:var(--ha-bloom-deep); font-size:11px; font-weight:800; }
.priority-stage { display:inline-flex; width:max-content; padding:5px 8px; border-radius:20px; background:color-mix(in srgb, var(--ha-bloom) 18%, var(--ha-paper)); }
.landywood-priority:has([data-priority-tab="solution"][aria-selected="true"]) .priority-switch button[aria-selected="true"] { background:var(--ha-petrol); color:var(--ha-paper); }
.priority-card[data-priority-panel="solution"] { border-left-color:var(--ha-petrol); }
.priority-card[data-priority-panel="solution"] .priority-stage { color:var(--ha-petrol); background:color-mix(in srgb,var(--ha-petrol) 17%,var(--ha-paper)); }
.priority-card[data-priority-panel="solution"] > div strong { color:var(--ha-petrol); }
.connected-amp { position:absolute; z-index:2; left:50%; top:50%; width:150px; aspect-ratio:3/2; transform:translate(-50%,-50%); }
.frontdoor-home .connected-amp img { display:block; width:100%; height:100%; object-fit:contain; }
.connected-eye { position:absolute; z-index:3; top:24.3%; width:4%; aspect-ratio:1; border-radius:50%; background:var(--ha-ink); }
.connected-eye-left { left:30.9%; }
.connected-eye-right { left:58.2%; }
.route-story { display:block; width:100%; height:100%; overflow:visible; }
.route-amplify .route-visual { overflow:visible; }
.route-amplify .connected-amp { width:144px; top:51%; }
.route-amplify .connected-eye { width:3.2%; }
.frontdoor-home .managed-agents { position:relative; z-index:1; isolation:isolate; clip-path:none; padding-top:clamp(44px,5vw,66px); }
.factory-roof { position:absolute; z-index:0; left:0; right:0; bottom:calc(100% - 1px); height:80px; pointer-events:none; overflow:hidden; }
.factory-roof svg { display:block; width:100%; height:100%; }
.factory-roof-body { fill:var(--ha-ink); }
.factory-roof-edge { stroke:var(--ha-bloom); stroke-width:4; stroke-linejoin:round; }
.factory-sign { position:relative; z-index:1; display:table; margin:-73px 0 46px; padding:11px 22px 14px; background:var(--ha-bloom); color:var(--ha-ink); border:3px solid var(--ha-ink); box-shadow:5px 6px 0 var(--ha-paper-face); font-size:clamp(26px,3.2vw,43px); font-family:Impact,"Arial Narrow",sans-serif; font-weight:400; text-transform:uppercase; line-height:1.05; letter-spacing:.015em; transform:rotate(-1deg); }
.factory-sign span { color:var(--ha-paper); }
.frontdoor-home .working-session { background:var(--ha-bloom); color:var(--ha-ink); }
.frontdoor-home .ha-footer .footer-legal { color:color-mix(in srgb,var(--ha-paper) 55%,var(--ha-ink)); }
.frontdoor-home .working-session-copy > p:not(.section-kicker) { color:var(--ha-ink); }
.frontdoor-home .working-session .primary-action { margin-top:22px; background:var(--ha-ink); color:var(--ha-paper); }
.frontdoor-home .session-amp-panel { position:relative; min-height:292px; padding:18px 226px 18px 0; border-top:1px solid rgba(var(--ha-ink-rgb),.35); }
.frontdoor-home .session-amp-panel > p { margin:0 0 14px; font-size:18px; font-weight:800; line-height:1.35; }
body.frontdoor-home .session-prompts { display:grid; gap:10px; max-width:none; width:100%; }
body.frontdoor-home .session-prompts button { min-height:48px; padding:12px 16px; background:var(--ha-paper); border:0; border-radius:20px 20px 4px 20px; box-shadow:4px 5px 0 rgba(var(--ha-ink-rgb),.16); color:var(--ha-ink); font-size:13px; font-weight:700; line-height:1.4; transition:transform 180ms ease,background 180ms ease; }
body.frontdoor-home .session-prompts button:hover { transform:translateY(-2px); }
.frontdoor-page .section-kicker,.frontdoor-page .route-label { display:none; }
@media(prefers-reduced-motion:reduce) { body.frontdoor-home .session-prompts button { transition:none; } body.frontdoor-home .session-prompts button:hover { transform:none; } }
body.frontdoor-home .session-prompts button:hover,body.frontdoor-home .session-prompts button:focus-visible { background:var(--ha-ink); color:var(--ha-paper); }
.frontdoor-home .session-amp-anchor { position:absolute; right:0; bottom:0; width:216px; height:216px; margin:0; }
@media(max-width:600px) {
  .frontdoor-home .entry-routes .route-card { grid-template-rows:auto auto 190px 30px; }
  .frontdoor-home .hero-kicker { font-size:13px; }
  .connected-amp { width:144px; }
  .landywood-priority { padding:10px; }
  .priority-card { padding:20px; }
  .priority-card h3 { font-size:36px; }
}
@media(min-width:601px) and (max-width:900px) { .connected-amp { width:125px; } }
@media(max-width:760px) {
  .frontdoor-home .frontdoor-example { padding-bottom:calc(clamp(54px,6vw,88px) + 67px); }
  .frontdoor-home .managed-agents { padding-top:55px; }
  .factory-roof { height:68px; }
  .factory-sign { margin:-62px 0 35px; font-size:25px; padding:10px 14px 12px; }
  .van-thought { top:-7%; }
  .frontdoor-home .session-amp-panel { min-height:0; padding:18px 0 164px; }
  .frontdoor-home .session-amp-anchor { right:0; bottom:0; width:154px; height:154px; }
}
@media(prefers-reduced-motion:reduce) {
  .frontdoor-home .amp-question,.frontdoor-home .welcome-actions,.frontdoor-home .welcome-mic { transition:none; }
}

/* The editable Remotion film sits under the roof and sign. */
.contact-amp { align-items:center; }
.contact-amp-stage { display:flex; flex-direction:column; align-items:center; max-width:360px; gap:16px; }
.contact-amp-speech { position:relative; width:100%; padding:20px 28px; border:0; border-radius:24px 24px 24px 4px; background:var(--ha-bloom); color:var(--ha-ink); font:800 32px/1.1 Manrope,system-ui,sans-serif; cursor:pointer; }
.contact-amp-speech::after { content:""; position:absolute; bottom:-14px; left:45%; width:24px; height:16px; background:var(--ha-bloom); clip-path:polygon(0 0,100% 0,30% 100%); }
.contact-amp-speech:hover { background:var(--ha-bloom-deep); color:var(--ha-paper); }
.contact-amp-speech:hover::after { background:var(--ha-bloom-deep); }
.contact-amp-speech:focus-visible { outline:3px solid var(--ha-petrol); outline-offset:5px; }
.contact-amp-anchor { display:block; width:280px; height:280px; }
.contact-amp .contact-amp-handwritten { font:600 clamp(30px,4vw,44px)/1.2 Caveat,cursive; color:var(--ha-bloom-deep); margin:0 0 22px; transform:rotate(-3deg); }
@media(max-width:760px) { .contact-amp-stage { margin-inline:auto; width:100%; } .contact-amp-anchor { width:240px; height:240px; } }
.page-final-conversation { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,5vw,70px); background:var(--ha-bloom); color:var(--ha-ink); }
.page-final-conversation h2 { margin:0 0 22px; font-size:clamp(32px,4vw,52px); font-weight:800; line-height:1.08; letter-spacing:-.045em; }
.page-final-conversation > div > p { color:var(--ha-ink); }
.page-final-conversation .session-amp-panel { position:relative; padding:18px 210px 18px 0; min-height:250px; border-top:1px solid rgba(var(--ha-ink-rgb),.3); }
.page-final-conversation .session-amp-panel > p { margin:0 0 16px; font-weight:750; }
.page-final-conversation .session-prompts { display:grid; gap:12px; }
.page-final-conversation .session-prompts button { padding:12px 16px; min-height:48px; font:650 14px/1.4 Manrope,system-ui,sans-serif; text-align:left; background:var(--ha-paper); color:var(--ha-ink); border:0; border-radius:20px 20px 4px 20px; box-shadow:4px 5px 0 rgba(var(--ha-ink-rgb),.16); cursor:pointer; }
.page-final-conversation .session-prompts button:hover { background:var(--ha-ink); color:var(--ha-paper); }
.page-final-conversation .session-prompts button:focus-visible { outline:3px solid var(--ha-ink); outline-offset:4px; }
.page-final-conversation .session-amp-anchor { position:absolute; right:0; bottom:0; width:200px; height:200px; }
@media(max-width:1000px) { .page-final-conversation { grid-template-columns:1fr; } .page-final-conversation .session-amp-panel { padding:18px 166px 18px 0; } .page-final-conversation .session-amp-anchor { width:154px; height:154px; } }
@media(min-width:601px) and (max-width:900px) { .frontdoor-home .working-session { grid-template-columns:1fr; } }
@media(min-width:601px) {
  .frontdoor-home .working-session-copy,.frontdoor-home .working-session .session-amp-panel { grid-column:1 / -1; }
  .frontdoor-home .working-session .session-amp-panel { min-height:240px; padding:0 clamp(240px,23vw,300px) 18px 0; }
  body.frontdoor-home .working-session .session-prompts { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
  body.frontdoor-home .working-session .session-prompts button { min-height:64px; font-size:15px; }
}
@media(min-width:601px) and (max-width:900px) {
  .frontdoor-home .working-session .session-amp-panel { padding-right:190px; }
}
@media(max-width:420px) { .page-final-conversation .session-amp-panel { padding:18px 0 164px; } }
.factory-feature { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,4vw,60px); }
.factory-feature .factory-film { margin:0; min-width:0; }
.factory-feature .factory-film video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; background:var(--ha-paper); border:2px solid var(--ha-paper-face); border-radius:3px; box-shadow:6px 7px 0 rgba(var(--ha-ink-rgb),.22); }
@media(min-width:761px) { .frontdoor-home .factory-feature h2 { font-size:clamp(40px,3.9vw,52px); } }
@media(max-width:760px) { .factory-feature { grid-template-columns:1fr; } .factory-feature .factory-film video { aspect-ratio:4/5; } }
