:root{
    --cream:#F9F9F9;
    --navy:#435469;
    --navy-deep:#333F4F;
    --yellow:#FDD965;
    --sky:#71C8DD;
    --green:#4FC483;
    --pink:#ED87BB;
    --orange:#FCAD73;
    --white:#FFFFFF;
    --radius:20px;
    --shadow: 0 10px 30px rgba(67,84,105,0.10);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--white);
    color:var(--navy-deep);
    font-family:'Inter',sans-serif;
    font-size:17px;
    line-height:1.6;
  }
  h1,h2,h3,h4{
    font-family:'Baloo 2',sans-serif;
    color:var(--navy);
    margin:0 0 .5em;
    line-height:1.15;
  }
  h2{font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:700;}
  h3{font-size:1.3rem; font-weight:700;}
  p{margin:0 0 1em;}
  a{color:var(--navy);}
  img{max-width:100%;display:block;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
  section{padding:80px 0; position:relative; overflow:hidden;}
  .eyebrow{
    display:inline-block;
    font-family:'Baloo 2',sans-serif;
    font-weight:600;
    font-size:.85rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--navy);
    background:var(--yellow);
    padding:5px 14px;
    border-radius:100px;
    margin-bottom:16px;
    position:relative; z-index:2;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Baloo 2',sans-serif;
    font-weight:700;
    font-size:1rem;
    padding:14px 28px;
    border-radius:100px;
    text-decoration:none;
    border:2px solid transparent;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--yellow); color:var(--navy-deep); box-shadow:0 6px 0 #e0b94f;}
  .btn-primary:hover{box-shadow:0 8px 0 #e0b94f;}
  .btn-primary:active{transform:translateY(2px); box-shadow:0 3px 0 #e0b94f;}
  .btn-outline{background:transparent; border-color:var(--navy); color:var(--navy);}
  .btn-outline:hover{background:var(--navy); color:var(--white);}

  /* Clouds (decorative, used throughout) */
  .cloud{position:absolute; pointer-events:none; z-index:1;}
  .cloud svg{display:block;}
  .cloud-soft path, .cloud-soft ellipse{fill:#EAF3F8;}
  .cloud-white path, .cloud-white ellipse{fill:#FFFFFF;}

  /* Header */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(67,84,105,0.08);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0;}
  .nav img{height:44px;}
  .nav-links{display:flex; gap:26px; list-style:none; margin:0; padding:0; font-weight:600; font-size:.92rem;}
  .nav-links a{text-decoration:none; color:var(--navy-deep); opacity:.8;}
  .nav-links a:hover{opacity:1;}
  .nav-cta{display:flex; align-items:center; gap:18px;}
  .menu-btn{display:none; background:none; border:none; cursor:pointer; padding:8px;}
  .menu-btn span{display:block; width:26px; height:3px; background:var(--navy); margin:5px 0; border-radius:2px;}

  /* Hero */
  .hero{
    padding:56px 0 72px;
    background:linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 55%, var(--sky) 100%);
    border-radius:0 0 48px 48px;
  }
  .hero-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; position:relative; z-index:2;}
  .hero h1{font-size:clamp(2.2rem,4.5vw,3.4rem); font-weight:800; color:#fff;}
  .hero .lede{font-size:1.1rem; max-width:52ch; color:rgba(255,255,255,0.92);}
  .hero .lede strong{color:var(--yellow);}
  .hero-actions{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
  .hero-art{position:relative;}

  /* Roofline divider */
  .roofline{width:100%; display:block; margin-top:-1px; position:relative; z-index:2;}

  /* Section intro */
  .section-intro{max-width:70ch; margin-bottom:20px; position:relative; z-index:2;}
  .section-intro em{font-family:'Baloo 2',sans-serif; font-style:normal; color:var(--navy); font-weight:700;}

  /* Meet Sam */
  .about-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:start; position:relative; z-index:2;}
  .photo-placeholder{
    aspect-ratio:4/5; border-radius:var(--radius);
    background:linear-gradient(160deg, var(--sky), var(--green));
    display:flex; align-items:center; justify-content:center; text-align:center;
    color:var(--white); font-family:'Baloo 2',sans-serif; font-weight:600; padding:20px;
    box-shadow:var(--shadow);
  }
  .paw-note{
    display:flex; align-items:center; gap:12px;
    background:var(--cream); border-radius:16px; padding:16px 18px; margin-top:20px;
    font-size:.95rem;
  }

  /* Experience accordion */
  .accordion-item{
    background:var(--cream); border-radius:16px; margin-bottom:14px; overflow:hidden;
    position:relative; z-index:2;
  }
  .accordion-header{
    display:flex; align-items:center; justify-content:space-between;
    padding:20px 24px; cursor:pointer; font-family:'Baloo 2',sans-serif; font-weight:700; color:var(--navy);
  }
  .accordion-header .plus{font-size:1.6rem; transition:transform .2s ease; line-height:1;}
  .accordion-item.open .plus{transform:rotate(45deg);}
  .accordion-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .accordion-body-inner{padding:0 24px 24px;}
  .accordion-body-inner ul{margin:0 0 14px; padding-left:20px;}
  .accordion-body-inner h4{font-size:1rem; margin-bottom:6px; color:var(--navy-deep);}

  /* Differentiators (scroll strip) */
  .diff-scroll{
    display:flex; gap:22px; overflow-x:auto; padding:8px 4px 20px;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    position:relative; z-index:2;
  }
  .diff-scroll::-webkit-scrollbar{height:8px;}
  .diff-scroll::-webkit-scrollbar-thumb{background:#E4E9EE; border-radius:10px;}
  .diff-card{
    flex:0 0 260px; scroll-snap-align:start;
    background:var(--cream); border-radius:var(--radius); padding:28px 24px;
  }
  .icon-circle{
    width:52px; height:52px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .icon-circle svg{width:26px; height:26px;}
  .scroll-hint{font-size:.85rem; color:var(--navy); opacity:.6; margin:-8px 0 20px; font-weight:600; position:relative; z-index:2;}

  /* See the space */
  .space-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px; position:relative; z-index:2;}
  .space-ph{
    aspect-ratio:4/3; border-radius:16px;
    display:flex; align-items:center; justify-content:center; text-align:center;
    color:var(--navy-deep); font-family:'Baloo 2',sans-serif; font-weight:600; font-size:.95rem; padding:16px;
  }

  /* Process */
  .process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; position:relative; z-index:2;}
  .process-card{position:relative; padding-top:8px;}
  .process-num{
    font-family:'Baloo 2',sans-serif; font-weight:800;
    color:var(--white); background:var(--navy); width:56px; height:56px;
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    margin-bottom:18px; font-size:1.4rem;
  }

  /* Testimonials */
  .testi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; position:relative; z-index:2;}
  .testi-card{ border-radius:var(--radius); padding:32px; color:var(--navy-deep); }
  .testi-card .quote-mark{font-family:'Baloo 2',sans-serif; font-size:3rem; line-height:1; opacity:.35; display:block; margin-bottom:6px;}
  .testi-card p{font-size:1.05rem; font-style:italic;}
  .testi-card .attribution{font-weight:700; font-style:normal; opacity:.85; margin:0;}

  /* Funding */
  .funding-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; z-index:2;}
  @media (max-width:900px){ .funding-grid{grid-template-columns:1fr 1fr;} }
  .funding-card{
    background:var(--cream); border-radius:16px; padding:24px;
    text-decoration:none; display:block; transition:transform .15s ease;
  }
  .funding-card:hover{transform:translateY(-3px);}
  .funding-card h4{color:var(--navy); margin-bottom:6px;}
  .funding-card span.go{font-weight:700; font-size:.85rem; color:var(--navy);}

  /* Contact */
  .contact-section{background:var(--navy); color:var(--white); border-radius:32px; margin:0 24px; padding:64px 48px; position:relative; overflow:hidden;}
  .contact-section h2{color:var(--white);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; position:relative; z-index:2;}
  .info-block{margin-bottom:24px;}
  .info-block h4{color:var(--yellow); font-family:'Baloo 2',sans-serif; margin-bottom:6px; font-size:1rem; letter-spacing:.03em; text-transform:uppercase;}
  .info-block p{color:rgba(255,255,255,0.9); margin:0;}
  form{display:flex; flex-direction:column; gap:14px;}
  label{font-weight:600; font-size:.9rem; margin-bottom:-8px;}
  input, textarea{
    font-family:'Inter',sans-serif; font-size:1rem; padding:13px 16px;
    border-radius:12px; border:none; outline:none; background:rgba(255,255,255,0.95); color:var(--navy-deep);
  }
  textarea{resize:vertical; min-height:110px;}
  .form-note{font-size:.82rem; opacity:.75; margin-top:2px;}

  footer{padding:40px 0; text-align:center; font-size:.9rem; opacity:.7;}

  @media (max-width:900px){
    .hero-grid, .about-grid, .contact-grid{grid-template-columns:1fr;}
    .space-grid, .process-grid{grid-template-columns:1fr 1fr;}
    .nav-links, .nav-cta .btn-outline{display:none;}
    .menu-btn{display:block;}
    .contact-section{margin:0 12px; padding:44px 24px;}
  }
  @media (max-width:600px){
    .space-grid, .process-grid, .testi-grid{grid-template-columns:1fr;}
    section{padding:56px 0;}
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{transition:none !important;}
  }
  :focus-visible{outline:3px solid var(--sky); outline-offset:2px;}
