
  :root{
    --cream:#f5f1e8;
    --cream-deep:#efe9db;
    --ink:#221f1a;
    --ink-soft:#514c40;
    --line:#d9d1bd;
    --accent:#a8532e;
    --white:#fffdf9;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);color:var(--ink);
    font-family:'Fraunces', serif;font-weight:400;line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  img,.ph{display:block;width:100%;height:100%;object-fit:cover;}
  .ph{
    background:linear-gradient(150deg,#c9b596 0%,#a9895f 55%,#7a5f3f 100%);
    position:relative;cursor:pointer;
  }
  .eyebrow{
    font-family:'Inter', sans-serif;font-size:0.72rem;
    letter-spacing:0.14em;text-transform:uppercase;
    color:var(--accent);font-weight:600;
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 2.5rem;}

  header{position:sticky;top:0;z-index:60;background:rgba(245,241,232,0.9);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
  nav.wrap{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2.5rem;}
  .wordmark{font-size:1.05rem;letter-spacing:0.01em;}
  .navlinks{display:flex;gap:2.4rem;font-family:'Inter', sans-serif;font-size:0.85rem;}
  .navlinks a:hover{color:var(--accent);}

  .hero{border-bottom:1px solid var(--line);}
  .hero-inner{max-width:760px;margin:0 auto;text-align:center;padding:4.5rem 2.5rem 3rem;}
  .hero-inner .eyebrow{display:block;margin-bottom:1.4rem;}
  .hero h1{font-size:clamp(2.2rem,4.6vw,3.3rem);font-weight:400;line-height:1.14;letter-spacing:-0.01em;margin-bottom:1.4rem;}
  .hero p.sub{font-size:1.08rem;color:var(--ink-soft);max-width:46ch;margin:0 auto 2rem;line-height:1.6;}
  .btn{font-family:'Inter', sans-serif;font-size:0.85rem;font-weight:500;background:var(--ink);color:var(--white);padding:0.9rem 1.7rem;border-radius:2px;display:inline-block;transition:background .2s ease;}
  .btn:hover{background:var(--accent);}
  .hero-image{aspect-ratio:16/8;margin:0 2.5rem 0;overflow:hidden;border-radius:4px;}
  .hero-image .ph{border-radius:4px;}

  section{padding:5rem 0;}
  .section-head{text-align:center;max-width:640px;margin:0 auto 3rem;}
  .section-head .eyebrow{display:block;margin-bottom:0.9rem;}
  .section-head h2{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:400;letter-spacing:-0.005em;}

  #categories{border-bottom:1px solid var(--line);}
  .cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .cat-card{background:var(--cream);padding:2.4rem 1.6rem;display:flex;flex-direction:column;gap:0.6rem;transition:background .2s ease;}
  .cat-card:hover{background:var(--white);}
  .cat-num{font-family:'Inter', sans-serif;font-size:0.78rem;font-weight:600;color:var(--accent);}
  .cat-card h3{font-size:1.25rem;font-weight:400;line-height:1.2;}
  .cat-tag{font-family:'Inter', sans-serif;font-size:0.78rem;color:var(--ink-soft);line-height:1.4;}
  @media (max-width:860px){.cat-grid{grid-template-columns:1fr 1fr;}}

  .tables-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
  .table-card .ph{aspect-ratio:4/5;border-radius:4px;margin-bottom:1.2rem;}
  .table-card .eyebrow{display:block;margin-bottom:0.5rem;}
  .table-card h3{font-size:1.35rem;font-weight:400;margin-bottom:0.5rem;line-height:1.25;}
  .table-card p{font-size:0.96rem;color:var(--ink-soft);line-height:1.55;}

  .suburbs{background:var(--cream-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .suburb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.6rem;margin-top:2.5rem;}
  .suburb-num{font-family:'Inter', sans-serif;font-size:0.78rem;color:var(--accent);font-weight:600;margin-bottom:0.9rem;display:block;}
  .suburb-item h3{font-size:1.3rem;font-weight:400;margin-bottom:0.5rem;}
  .suburb-item p{font-size:0.92rem;color:var(--ink-soft);line-height:1.5;margin-bottom:0.6rem;}
  .suburb-item .tag{font-family:'Inter', sans-serif;font-size:0.75rem;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:0.6rem;display:inline-block;}

  .feature-inner{max-width:820px;margin:0 auto;text-align:center;}
  .feature .ph{aspect-ratio:16/9;border-radius:4px;margin-bottom:2.2rem;}
  .feature h2{font-size:clamp(1.8rem,3.2vw,2.4rem);font-weight:400;line-height:1.2;margin-bottom:1.3rem;letter-spacing:-0.005em;}
  .feature p{font-size:1.03rem;color:var(--ink-soft);line-height:1.65;max-width:56ch;margin:0 auto 1.6rem;}

  .partnerships{border-top:1px solid var(--line);}
  .partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;}
  .partner-grid h2{font-size:clamp(1.7rem,2.8vw,2.2rem);font-weight:400;line-height:1.18;margin-bottom:1.2rem;}
  .partner-grid p{font-size:1rem;color:var(--ink-soft);line-height:1.6;margin-bottom:1.6rem;max-width:44ch;}
  .stat-row{display:flex;gap:2.4rem;margin-top:2rem;}
  .stat .num{font-size:1.7rem;font-weight:500;display:block;}
  .stat .cap{font-family:'Inter', sans-serif;font-size:0.74rem;color:var(--ink-soft);}
  .logo-row{display:flex;flex-direction:column;gap:1.2rem;}
  .logo-chip{border:1px solid var(--line);border-radius:4px;padding:1.2rem 1.4rem;background:var(--white);}
  .logo-chip .eyebrow{margin-bottom:0.3rem;}
  .logo-chip p{font-size:0.9rem;color:var(--ink-soft);}

  footer{background:var(--ink);color:var(--cream);padding:4.5rem 0 2.2rem;text-align:center;}
  footer .eyebrow{color:#c9a98d;display:block;margin-bottom:1rem;}
  footer h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:400;margin-bottom:1.8rem;line-height:1.2;}
  footer .btn{background:var(--cream);color:var(--ink);}
  footer .btn:hover{background:var(--accent);color:var(--white);}
  .footer-bottom{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(245,241,232,0.15);font-family:'Inter', sans-serif;font-size:0.78rem;color:#b8b2a4;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.8rem;}

  [contenteditable="false"]{outline:2px dashed transparent;border-radius:2px;transition:outline-color .15s ease;}
  body.edit-mode [contenteditable="false"]:hover{outline-color:var(--accent);}
  body.edit-mode [contenteditable="false"]:focus{outline:2px dashed var(--accent);outline-offset:2px;}
  body.edit-mode .ph{outline:2px dashed transparent;}
  body.edit-mode .ph:hover{outline-color:var(--accent);}
  body.edit-mode .ph::before{
    content:"Click to replace image";
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    background:rgba(34,31,26,0.45);color:#fff;font-family:'Inter',sans-serif;font-size:0.75rem;
    opacity:0;transition:opacity .15s ease;border-radius:inherit;
  }
  body.edit-mode .ph:hover::before{opacity:1;}

  #edit-toggle{
    display:none;
    position:fixed;bottom:1.4rem;right:1.4rem;z-index:100;
    font-family:'Inter', sans-serif;font-size:0.8rem;font-weight:500;
    background:var(--ink);color:var(--white);border:none;
    padding:0.8rem 1.3rem;border-radius:30px;cursor:pointer;
    box-shadow:0 4px 18px rgba(0,0,0,0.25);
  }
  #edit-toggle.active{background:var(--accent);}
  #edit-banner{
    display:none;position:fixed;top:0;left:0;right:0;z-index:99;
    background:var(--accent);color:#fff;font-family:'Inter',sans-serif;font-size:0.8rem;
    text-align:center;padding:0.55rem;
  }
  body.edit-mode #edit-banner{display:block;}
  body.edit-mode header{top:2.4rem;}

  @media (max-width:860px){
    .tables-grid{grid-template-columns:1fr;}
    .partner-grid{grid-template-columns:1fr;}
    .navlinks a{display:none;}
    .wrap{padding:0 1.4rem;}
    nav.wrap{padding:1.1rem 1.4rem;}
    .hero-image{margin:0 1.4rem;}
  }


/* --- SOOP memoir landing page --- */
.memoir-hero{border-bottom:1px solid var(--line);}
.memoir-hero-inner{max-width:900px;margin:0 auto;text-align:center;padding:7rem 2.5rem 6rem;}
.memoir-hero-inner .eyebrow{display:block;margin-bottom:1.5rem;}
.memoir-hero h1{font-size:clamp(3rem,7vw,6.2rem);font-weight:400;line-height:1.02;letter-spacing:-0.025em;max-width:900px;margin:0 auto;}
.hero-line{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05;margin-top:.6rem;}
.memoir-hero p{font-size:1.05rem;color:var(--ink-soft);max-width:48ch;margin:2rem auto 0;line-height:1.65;}

.chapter{padding:7rem 0;border-bottom:1px solid var(--line);}
.chapter-alt{background:var(--cream-deep);}
.chapter-heading{margin-bottom:2.8rem;}
.chapter-number{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.13em;color:var(--accent);}
.chapter-heading h2{font-size:clamp(2rem,4vw,3.4rem);font-weight:400;line-height:1.08;letter-spacing:-.015em;margin-top:.7rem;max-width:850px;}
.chapter-image-link{display:block;}
.chapter-image{aspect-ratio:16/8;border-radius:3px;transition:transform .45s ease;}
.chapter-image-link:hover .chapter-image{transform:scale(.995);}
.chapter-story-head{margin:3.8rem 0 1.8rem;}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.story-card .story-image{aspect-ratio:4/5;border-radius:3px;margin-bottom:1.1rem;}
.story-card h3{font-size:1.35rem;font-weight:400;line-height:1.25;margin-top:.25rem;}
.text-link{display:inline-flex;gap:.65rem;align-items:center;font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:.45rem;margin-top:2.6rem;}
.text-link span{font-size:1rem;line-height:1;}
.chapter-copy{max-width:600px;}
.chapter-copy p{font-size:1.08rem;line-height:1.7;color:var(--ink-soft);margin-top:2rem;}
.night-tags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;}
.night-tags span{font-family:'Inter',sans-serif;font-size:.75rem;border:1px solid var(--line);padding:.65rem .85rem;background:var(--cream);}
.two-of-us .chapter-heading h2{max-width:720px;}
.two-up{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:end;}
.portrait-image{aspect-ratio:4/5;border-radius:3px;}
.memoir-copy{max-width:430px;padding-bottom:1rem;}
.memoir-copy p{font-size:1.55rem;line-height:1.3;}
.partnership-minimal{padding:6rem 0;}
.partnership-minimal h2{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:400;max-width:700px;line-height:1.15;margin-top:.8rem;}
.footer-follow{display:inline-block;font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--cream);border-bottom:1px solid rgba(245,241,232,.5);padding-bottom:.4rem;margin-top:1rem;}

@media(max-width:860px){
  .memoir-hero-inner{padding:5rem 1.4rem 4.5rem;}
  .chapter{padding:5rem 0;}
  .story-grid{grid-template-columns:1fr;}
  .two-up{grid-template-columns:1fr;}
  .memoir-copy{padding-bottom:0;}
}
