/*
Theme Name: Home Attendant Organised
Theme URI: https://home-attendant.co.uk
Author: Joff & ChatGPT
Description: Promotional concept website for Home Attendant — Your home, organised.
Version: 2.3
License: GPL2
Text Domain: home-attendant
*/
:root{
  --cream:#f7f3ea;--paper:#fffdf8;--stone:#e6ded0;--ink:#1e211b;--muted:#6d6a61;--forest:#24352b;--olive:#71805f;--sage:#b5c0a3;--clay:#b97850;--line:rgba(30,33,27,.12);--shadow:0 30px 80px rgba(31,34,28,.14);--soft-shadow:0 18px 45px rgba(31,34,28,.09);--radius:30px;--max:1180px
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 0%,rgba(113,128,95,.18),transparent 30%),radial-gradient(circle at 90% 15%,rgba(185,120,80,.13),transparent 28%);z-index:-2}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:650;line-height:.98;letter-spacing:-.04em;color:var(--ink)}h1{font-size:clamp(4rem,9vw,9.4rem)}h2{font-size:clamp(2.45rem,5vw,5.8rem)}h3{font-size:clamp(1.55rem,2.5vw,2.6rem)}p{color:var(--muted)}.ha-container{width:min(var(--max),92vw);margin-inline:auto}.ha-section{padding:118px 0;position:relative}.ha-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.73rem;font-weight:800;color:var(--clay);margin-bottom:18px;display:inline-flex;align-items:center;gap:12px}.ha-eyebrow:before{content:"";width:34px;height:1px;background:currentColor;opacity:.55}.ha-lead{font-size:clamp(1.1rem,1.65vw,1.45rem);max-width:720px;color:#5a584f}.ha-section-head{max-width:820px;margin:0 auto 58px;text-align:center}.ha-section-head .ha-eyebrow:before{display:none}.ha-section-head .ha-eyebrow:after{content:"";width:34px;height:1px;background:currentColor;opacity:.55}.ha-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 25px;font-weight:800;font-size:.92rem;border:1px solid transparent;transition:.25s ease;white-space:nowrap}.ha-btn:hover{transform:translateY(-3px);box-shadow:var(--soft-shadow)}.ha-btn--dark{background:var(--ink);color:#fff}.ha-btn--light{background:#fff;color:var(--ink)}.ha-btn--ghost{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(14px)}
.site-header{position:sticky;top:0;z-index:99;background:rgba(247,243,234,.78);backdrop-filter:blur(22px);border-bottom:1px solid rgba(30,33,27,.08)}.site-header__inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.site-logo{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.65rem;font-weight:700;letter-spacing:-.04em}.site-logo span{display:block;font-family:Inter,Arial,sans-serif;font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:var(--olive);margin-top:-6px}.site-nav ul{display:flex;gap:24px;align-items:center}.site-nav a{font-size:.92rem;font-weight:700;color:rgba(30,33,27,.72)}.site-nav a:hover{color:var(--clay)}
.ha-hero{min-height:calc(100vh - 76px);position:relative;display:flex;align-items:center;overflow:hidden;background:#151813;color:#fff}.ha-hero__image{position:absolute;inset:0;background:linear-gradient(rgba(18,20,15,.16),rgba(18,20,15,.42)),url('assets/images/hero.svg') center/cover;transform:scale(1.04);animation:heroZoom 18s ease-in-out infinite alternate}.ha-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,15,.9),rgba(18,20,15,.56) 48%,rgba(18,20,15,.16));}.ha-hero__inner{position:relative;z-index:2;padding:90px 0;display:grid;grid-template-columns:.95fr .75fr;gap:54px;align-items:center}.ha-hero h1{color:#fff;margin-bottom:28px}.ha-hero .ha-lead{color:rgba(255,255,255,.82);max-width:620px}.ha-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.ha-hero__note{margin-top:38px;display:flex;gap:10px;flex-wrap:wrap}.ha-hero__note span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);border-radius:999px;padding:8px 12px;color:rgba(255,255,255,.8);font-size:.82rem}.ha-phone{justify-self:end;width:min(390px,100%);border-radius:44px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);padding:14px;box-shadow:0 40px 90px rgba(0,0,0,.35);backdrop-filter:blur(24px)}.ha-phone__screen{background:#fbf8f0;color:var(--ink);border-radius:34px;overflow:hidden;padding:26px}.ha-phone__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.ha-dot{width:10px;height:10px;border-radius:50%;background:var(--olive);box-shadow:0 0 0 6px rgba(113,128,95,.18)}.ha-phone h3{font-size:2rem;margin-bottom:10px}.ha-checks{display:grid;gap:10px;margin-top:20px}.ha-check{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-size:.92rem;font-weight:700}.ha-check em{font-style:normal;color:var(--olive)}.ha-weather{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.ha-weather div{background:#f0eadf;border-radius:16px;padding:14px}.ha-weather strong{display:block;font-size:1.5rem}.ha-weather span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}
.ha-problem{background:var(--paper)}.ha-moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ha-moment{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--soft-shadow)}.ha-moment__icon{font-size:2rem;margin-bottom:22px}.ha-moment p{margin-top:14px}.ha-journey{background:linear-gradient(180deg,var(--cream),#fff)}.ha-journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ha-step{background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:28px;padding:28px;min-height:260px;box-shadow:var(--soft-shadow)}.ha-step span{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:16px;background:var(--forest);color:#fff;font-weight:900;margin-bottom:22px}.ha-step p{margin-top:12px}.ha-feature-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.ha-panel{background:var(--forest);border-radius:42px;padding:36px;box-shadow:var(--shadow);color:#fff}.ha-panel h3,.ha-panel h4{color:#fff}.ha-panel p{color:rgba(255,255,255,.72)}.ha-guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.ha-guide{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:16px;font-weight:800;color:#fff}.ha-guide small{display:block;color:rgba(255,255,255,.58);font-weight:600;margin-top:3px}.ha-showcase-band{background:#fff}.ha-lifestyle{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.ha-lifestyle__image{background:url('assets/images/table.svg') center/cover}.ha-lifestyle__copy{display:flex;flex-direction:column;justify-content:center;padding:8vw}.ha-lifestyle__copy p{font-size:1.08rem;margin-top:18px}.ha-list{display:grid;gap:12px;margin-top:26px}.ha-list li{position:relative;padding-left:30px;font-weight:700;color:#4d4a43}.ha-list li:before{content:"✓";position:absolute;left:0;color:var(--olive);font-weight:900}.ha-timeline-section{background:var(--forest);color:#fff}.ha-timeline-section h2{color:#fff}.ha-timeline-section p{color:rgba(255,255,255,.72)}.ha-timeline{display:grid;gap:16px;max-width:860px;margin:44px auto 0}.ha-time-card{display:grid;grid-template-columns:130px 1fr;gap:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:22px}.ha-time-card strong{color:#fff}.ha-time-card span{color:#d8c0aa;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.ha-guests{background:var(--paper)}.ha-guest-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.ha-share-card{background:#fff;border:1px solid var(--line);border-radius:36px;box-shadow:var(--shadow);padding:30px}.ha-share-card header{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.ha-avatar-row{display:flex}.ha-avatar{width:42px;height:42px;border-radius:50%;background:var(--sage);border:3px solid #fff;margin-left:-8px}.ha-avatar:first-child{margin-left:0}.ha-share-link{background:#f1eadf;border-radius:18px;padding:18px;margin-top:20px;font-weight:800;color:var(--forest)}.ha-recipes{background:linear-gradient(180deg,#fff,var(--cream))}.ha-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ha-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--soft-shadow)}.ha-card p{margin-top:13px}.ha-card .tag{display:inline-block;border-radius:999px;background:#f0eadf;color:var(--olive);font-weight:900;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:7px 10px;margin-bottom:18px}.ha-final{padding:120px 0;background:#151813;color:#fff;text-align:center}.ha-final h2{color:#fff}.ha-final p{color:rgba(255,255,255,.76);max-width:680px;margin:24px auto 34px}.ha-final-card{max-width:1000px;margin:auto;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border-radius:44px;padding:70px 34px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.site-footer{background:#11130f;color:rgba(255,255,255,.65);padding:42px 0}.site-footer__inner{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.site-footer strong{color:#fff}.ha-default{min-height:60vh;padding:90px 0}.ha-default article{background:#fff;border-radius:30px;padding:42px;box-shadow:var(--soft-shadow)}.ha-default h1{font-size:clamp(2.8rem,6vw,5.6rem);margin-bottom:20px}.ha-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.ha-reveal.is-visible{opacity:1;transform:none}@keyframes heroZoom{to{transform:scale(1.1)}}
/* Hide old CookieAdmin popup during build */#cookieadmin-cookie-box,#cookieadmin-cookie-consent,.cookieadmin,.cookieadmin-popup,.ca-cookie-banner,[id*="cookieadmin"],[class*="cookieadmin"]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1050px){.site-nav{display:none}.ha-hero__inner,.ha-feature-split,.ha-guest-grid{grid-template-columns:1fr}.ha-phone{justify-self:start}.ha-moment-grid,.ha-card-grid{grid-template-columns:1fr 1fr}.ha-journey-grid{grid-template-columns:repeat(2,1fr)}.ha-lifestyle{grid-template-columns:1fr}.ha-lifestyle__image{min-height:420px}.ha-lifestyle__image{order:-1}}@media(max-width:720px){h1{font-size:clamp(3.7rem,18vw,5.8rem)}.site-header__inner{height:66px}.site-header .ha-btn{display:none}.ha-hero{min-height:auto}.ha-hero__inner{padding:72px 0 58px}.ha-hero:after{background:rgba(18,20,15,.68)}.ha-hero__actions .ha-btn{width:100%}.ha-moment-grid,.ha-card-grid,.ha-journey-grid,.ha-guide-grid{grid-template-columns:1fr}.ha-section{padding:78px 0}.ha-time-card{grid-template-columns:1fr}.ha-panel,.ha-share-card,.ha-final-card{padding:26px;border-radius:28px}.ha-lifestyle__copy{padding:72px 7vw}.site-footer__inner{display:block}.site-footer p{margin-top:8px}}


/* Editable image panels added in v2.2 */
.ha-panel--editable[style*="background-image"],
.ha-share-card--editable[style*="background-image"],
.ha-final[style*="background-image"]{
    position:relative;
    overflow:hidden;
    background-size:cover;
    background-position:center;
}
.ha-panel--editable[style*="background-image"]:before,
.ha-share-card--editable[style*="background-image"]:before,
.ha-final[style*="background-image"]:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(18,20,15,.78),rgba(18,20,15,.42));
    z-index:0;
}
.ha-panel--editable[style*="background-image"] > *,
.ha-share-card--editable[style*="background-image"] > *,
.ha-final[style*="background-image"] > *{
    position:relative;
    z-index:1;
}
.ha-share-card--editable[style*="background-image"]{
    min-height:430px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    color:#fff;
}
.ha-share-card--editable[style*="background-image"] h3,
.ha-share-card--editable[style*="background-image"] strong{color:#fff}
.ha-share-card--editable[style*="background-image"] p{color:rgba(255,255,255,.78)}
.ha-share-card--editable[style*="background-image"] header{border-color:rgba(255,255,255,.18)}
.ha-share-card--editable[style*="background-image"] .ha-share-link{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.18)}
.ha-final[style*="background-image"]{
    background-color:#151813;
    background-size:cover;
    background-position:center;
}
.ha-final[style*="background-image"]:before{
    background:linear-gradient(135deg,rgba(18,20,15,.9),rgba(18,20,15,.58));
}


/* ------------------------------------------------------------
   Typography & spacing refinement pass — v2.3
   Softer heading scale, increased leading, wider breathing room.
------------------------------------------------------------ */
:root{
  --max:1200px;
}

body{
  line-height:1.72;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  line-height:1.08;
  letter-spacing:-.036em;
}

h1{
  font-size:clamp(3.75rem,7.8vw,8.4rem);
  line-height:.96;
  letter-spacing:-.052em;
}

h2{
  font-size:clamp(2.25rem,4.45vw,5.05rem);
  line-height:1.08;
  letter-spacing:-.04em;
}

h3{
  font-size:clamp(1.45rem,2.15vw,2.35rem);
  line-height:1.14;
}

p{
  font-size:1rem;
  line-height:1.78;
}

.ha-section{
  padding:138px 0;
}

.ha-section-head{
  max-width:900px;
  margin-bottom:78px;
}

.ha-section-head h2{
  max-width:980px;
  margin-inline:auto;
}

.ha-section-head .ha-lead,
.ha-section-head p{
  max-width:760px;
  margin:20px auto 0;
}

.ha-lead{
  font-size:clamp(1.05rem,1.42vw,1.28rem);
  line-height:1.72;
}

.ha-hero__inner{
  padding:110px 0;
}

.ha-hero h1{
  max-width:860px;
  line-height:.96;
}

.ha-hero .ha-lead{
  max-width:640px;
}

.ha-moment,
.ha-step,
.ha-card{
  padding:36px;
}

.ha-moment p,
.ha-step p,
.ha-card p{
  line-height:1.75;
}

.ha-feature-split,
.ha-guest-grid{
  gap:82px;
}

.ha-lifestyle__copy{
  padding:9vw;
}

.ha-lifestyle__copy h2{
  max-width:760px;
}

.ha-lifestyle__copy p{
  font-size:1.03rem;
  line-height:1.78;
  max-width:720px;
}

.ha-list{
  gap:14px;
  margin-top:30px;
}

.ha-list li{
  line-height:1.55;
}

.ha-final{
  padding:145px 0;
}

.ha-final-card{
  padding:82px 48px;
}

.ha-final p{
  line-height:1.75;
}

@media(max-width:1050px){
  h1{font-size:clamp(3.5rem,10vw,7rem)}
  h2{font-size:clamp(2.2rem,6.8vw,4.6rem)}
  .ha-section{padding:112px 0}
  .ha-feature-split,.ha-guest-grid{gap:56px}
}

@media(max-width:720px){
  h1{
    font-size:clamp(3.2rem,15vw,5.2rem);
    line-height:.98;
  }
  h2{
    font-size:clamp(2.25rem,12vw,4rem);
    line-height:1.08;
  }
  h3{line-height:1.14}
  .ha-section{padding:86px 0}
  .ha-section-head{margin-bottom:48px}
  .ha-hero__inner{padding:82px 0 64px}
  .ha-lifestyle__copy{padding:82px 7vw}
  .ha-final{padding:92px 0}
  .ha-final-card{padding:36px 26px}
}

/* ------------------------------------------------------------
   Request Access Journey — v2.4
------------------------------------------------------------ */
.ha-access-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px}.ha-access-modal.is-open{display:flex}.ha-access-modal__backdrop{position:absolute;inset:0;background:rgba(12,14,10,.64);backdrop-filter:blur(18px)}.ha-access-panel{position:relative;width:min(920px,94vw);max-height:92vh;overflow:auto;border-radius:42px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(246,240,229,.72));border:1px solid rgba(255,255,255,.62);box-shadow:0 50px 140px rgba(0,0,0,.38);backdrop-filter:blur(28px);padding:42px;color:var(--ink)}.ha-access-close{position:absolute;right:22px;top:18px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.62);font-size:28px;line-height:1;cursor:pointer;color:var(--ink)}.ha-access-form{min-height:520px;display:flex;flex-direction:column}.ha-access-progress{display:flex;gap:8px;margin-bottom:38px}.ha-access-progress span{height:4px;flex:1;border-radius:999px;background:rgba(28,33,24,.14);transition:.25s ease}.ha-access-progress span.is-active{background:var(--olive)}.ha-access-step{display:none;animation:haAccessIn .35s ease both}.ha-access-step.is-active{display:block}.ha-access-step h2{font-size:clamp(2.6rem,5vw,5.4rem);max-width:760px;margin-bottom:18px}.ha-access-step p{max-width:720px;font-size:1.08rem}.ha-access-step .ha-btn{margin-top:30px}.ha-access-fields{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px;max-width:650px}.ha-access-fields label,.ha-access-note{display:grid;gap:8px;font-weight:800;color:var(--forest)}.ha-access-fields input,.ha-access-note textarea{width:100%;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.82);padding:17px 18px;font:inherit;color:var(--ink);outline:none}.ha-access-fields input:focus,.ha-access-note textarea:focus{border-color:var(--olive);box-shadow:0 0 0 4px rgba(113,128,95,.14)}.ha-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}.ha-choice-card{position:relative;cursor:pointer}.ha-choice-card input{position:absolute;opacity:0;pointer-events:none}.ha-choice-card span{display:flex;align-items:center;min-height:68px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.68);padding:16px 18px;font-weight:850;color:var(--forest);transition:.2s ease}.ha-choice-card input:checked + span{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 18px 38px rgba(28,33,24,.18)}.ha-choice-card span:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid currentColor;margin-right:12px;opacity:.55}.ha-choice-card input:checked + span:before{background:currentColor;box-shadow:inset 0 0 0 4px var(--forest);border-color:#fff}.ha-access-actions{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:32px}.ha-access-back{border:0;background:transparent;color:var(--muted);font-weight:850;cursor:pointer;padding:15px}.ha-access-note{margin-top:28px;max-width:760px}.ha-access-note textarea{resize:vertical;min-height:150px}.ha-access-success{text-align:center;padding:40px 0}.ha-access-success h2,.ha-access-success p{margin-inline:auto}.ha-access-success .ha-btn{margin-inline:auto}@keyframes haAccessIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}body.ha-modal-open{overflow:hidden}.ha-final .ha-open-access{display:inline-flex}
@media(max-width:720px){.ha-access-panel{border-radius:28px;padding:28px 20px}.ha-choice-grid{grid-template-columns:1fr}.ha-access-actions{align-items:stretch}.ha-access-actions .ha-btn{width:auto}.ha-access-step h2{font-size:clamp(2.4rem,13vw,4rem)}}


/* Request Access refinement */
.ha-access-panel{width:min(760px,94vw)!important;border-radius:32px!important;padding:30px!important;}
.ha-access-form{min-height:430px!important;}
.ha-access-progress{margin-bottom:22px!important;}
.ha-access-step h2{font-size:clamp(2.15rem,4vw,4.2rem)!important;line-height:1.05!important;margin-bottom:12px!important;}
.ha-access-step p{font-size:1rem!important;line-height:1.65!important;}
.ha-access-step .ha-btn{margin-top:22px!important;}
.ha-access-fields{gap:12px!important;margin-top:20px!important;max-width:560px!important;}
.ha-access-fields input,.ha-access-note textarea{border-radius:15px!important;padding:13px 15px!important;}
.ha-choice-grid{gap:10px!important;margin-top:20px!important;}
.ha-choice-card span{min-height:56px!important;border-radius:16px!important;padding:12px 14px!important;font-size:.94rem!important;}
.ha-access-actions{margin-top:22px!important;}
.ha-access-note{margin-top:20px!important;}
.ha-access-note textarea{min-height:120px!important;}
.ha-access-close{width:36px!important;height:36px!important;font-size:24px!important;}
.ha-access-step--shake{animation:haAccessShake .32s ease both!important;}
@keyframes haAccessShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.ha-access-form button[disabled]{opacity:.65;cursor:wait;}
@media(max-width:720px){.ha-access-panel{padding:24px 18px!important}.ha-access-form{min-height:0!important}.ha-choice-grid{grid-template-columns:1fr!important}}
