:root{
    --cream:#f3ede2;
    --ink:#141312;
    --dark:#141312;
    --light:#fffaf6;
    --muted:#7a746d;
    --accent:#d94a1f;
    --rule:#1413121a;
    --maxw:1500px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  html,body{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
  a:hover{color:var(--accent)}

  /* Sticky minimal header */
  header.site{
    position:sticky;top:0;z-index:50;
    display:flex;justify-content:space-between;align-items:center;
    padding:22px 36px;
    background:transparent;
    mix-blend-mode:difference;color:#fff;
    transition:opacity .35s ease,transform .35s ease;
  }
  header.site.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}
  header.site .logo{font-family:'Jost',sans-serif;font-weight:900;font-size:22px;letter-spacing:-.02em;border:none;text-transform:lowercase}
  header.site .menu{font-family:'Jost',sans-serif;font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;border:none;cursor:pointer;background:none;color:inherit}

  /* Section bands */
  .band{width:100%;padding:160px 36px;contain:layout style}
  .band:not(.hero){content-visibility:auto;contain-intrinsic-size:auto 800px}
  .band.cream{background:var(--cream);color:var(--ink)}
  .band.dark{background:var(--dark);color:var(--light)}
  .band .inner{max-width:var(--maxw);margin:0 auto}

  /* Display type */
  .display{
    font-family:'Jost',sans-serif;
    font-weight:900;
    font-size:clamp(56px,11vw,180px);
    line-height:.95;
    letter-spacing:-.035em;
    margin:0;
  }
  .display .line{display:block;padding:.02em 0}
  .display .accent{color:var(--accent)}
  .band.dark .display .accent{color:#ffb59a}

  .meta{
    font-family:'Jost',sans-serif;
    font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
    color:var(--muted);
    display:inline-block;margin-bottom:48px;
    padding-bottom:8px;border-bottom:1px solid currentColor;
  }
  .band.dark .meta{color:#bfb6ad}

  p.lede{font-size:clamp(19px,1.55vw,24px);line-height:1.5;max-width:60ch;margin:64px 0 0;font-weight:400}
  p{font-size:18px;line-height:1.65;max-width:60ch}

  .btn{
    display:inline-block;margin-top:48px;padding:20px 32px;
    border:1.5px solid currentColor;border-radius:999px;
    font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
  }
  .btn:hover{background:currentColor}
  .btn:hover span{color:var(--cream);mix-blend-mode:difference}

  /* HERO */
  .hero{padding-top:60px;position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}
  .hero .inner{position:relative;z-index:2}
  .hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  .hero-tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,237,226,.78),rgba(243,237,226,.92));z-index:1}
  .blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;mix-blend-mode:multiply;will-change:transform}
  .blob.b1{width:620px;height:620px;background:#ff7a3d;top:-120px;left:-100px;animation:float1 18s ease-in-out infinite}
  .blob.b2{width:520px;height:520px;background:#d94a1f;top:30%;right:-120px;animation:float2 22s ease-in-out infinite}
  .blob.b3{width:480px;height:480px;background:#ffb59a;bottom:-160px;left:30%;animation:float3 26s ease-in-out infinite}
  .blob.b4{width:380px;height:380px;background:#f5a26b;top:10%;left:40%;animation:float4 20s ease-in-out infinite}
  @keyframes float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(80px,60px) scale(1.1)}}
  @keyframes float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,40px) scale(1.05)}}
  @keyframes float3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-50px) scale(1.08)}}
  @keyframes float4{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-50px,30px) scale(.95)}}
  .hero-bg::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.5;mix-blend-mode:overlay}

  /* Scroll cue */
  .scroll-cue{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink);opacity:.7}
  .scroll-cue .line{width:1px;height:48px;background:currentColor;animation:scrollLine 2.2s ease-in-out infinite;transform-origin:top}
  @keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

  /* Trust strip */
  .trust{padding:32px 36px;background:var(--cream);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .trust .inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:48px;flex-wrap:wrap;justify-content:center}
  .trust .label{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:700}
  .trust .name{font-family:'Jost',sans-serif;font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--ink);opacity:.7;transition:opacity .3s}
  .trust .name:hover{opacity:1}

  /* About split */
  .split{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:end}
  .portrait-ph{
    aspect-ratio:4/5;
    background:#222 center/cover no-repeat url('jason-portrait.jpg');image-rendering:auto;
    border:none;
  }
  @media (max-width:900px){.split{grid-template-columns:1fr;gap:60px}}

  /* Properties grid */
  .properties{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 80px;margin-top:100px}
  .prop-card{border-top:2px solid var(--ink);padding-top:32px;display:block;border-bottom:none;transition:border-color .3s}
  .prop-card:hover{border-top-color:var(--accent)}
  .prop-card h3{font-family:'Jost',sans-serif;font-weight:800;font-size:28px;letter-spacing:-.02em;margin:0 0 16px}
  .prop-card p{margin:0;opacity:.85}
  @media (max-width:700px){.properties{grid-template-columns:1fr}}

  /* Services cards */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:100px}
  .svc-card{
    background:#1a1918;padding:48px 36px;
    display:flex;flex-direction:column;
  }
  .svc-card h3{font-family:'Jost',sans-serif;font-weight:800;font-size:28px;letter-spacing:-.02em;margin:0 0 16px;color:#f3ede2}
  .svc-card .svc-desc{font-size:16px;line-height:1.55;color:#bfb6ad;margin:0 0 28px}
  .svc-card ul{list-style:none;padding:0;margin:0;border-top:1px solid #ffffff18}
  .svc-card li{padding:14px 0;border-bottom:1px solid #ffffff18;font-size:14px;color:#9a948d;line-height:1.4}
  @media (max-width:900px){.svc-grid{grid-template-columns:1fr}}

  /* Clients logo marquee */
  .marquee{margin-top:80px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .marquee-track{display:flex;gap:80px;width:max-content;animation:marquee 40s linear infinite;will-change:transform}
  .marquee:hover .marquee-track{animation-play-state:paused}
  @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .logo-tile{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:80px;min-width:180px;padding:0 40px;opacity:.55;transition:opacity .4s,transform .3s;filter:grayscale(100%)}
  .logo-tile:hover{opacity:1;transform:translateY(-4px);filter:grayscale(0%)}
  .logo-tile img{max-height:44px;max-width:160px;width:auto;object-fit:contain}

  /* Case study cards */
  .cs-hero-img{width:100%;max-height:480px;object-fit:cover;border-radius:4px;margin-top:80px;display:block}
  .cs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:80px}
  .cs-card{
    background:#1a1918;padding:40px 32px;
    display:flex;flex-direction:column;justify-content:space-between;
    min-height:220px;
    border:none;
    transition:background .3s;
    position:relative;overflow:hidden;
  }
  .cs-card:hover{background:#242220}
  .cs-card .cs-name{font-family:'Jost',sans-serif;font-weight:800;font-size:22px;letter-spacing:-.01em;color:#f3ede2;margin:0 0 8px}
  .cs-card .cs-type{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#7a746d;font-weight:700}
  .cs-card .cs-arrow{
    font-family:'Jost',sans-serif;font-size:14px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
    color:var(--accent);margin-top:auto;padding-top:24px;
    transition:transform .3s;
  }
  .cs-card:hover .cs-arrow{transform:translateX(6px)}
  .cs-card .cs-excerpt{color:rgba(243,237,226,.6)}
  @media(max-width:900px){.cs-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:550px){.cs-grid{grid-template-columns:1fr}}

  /* Mid-page CTA band */
  .cta-band{
    width:100%;padding:80px 36px;
    background:var(--accent);color:#fff;
    text-align:center;
  }
  .cta-band .inner{max-width:var(--maxw);margin:0 auto}
  .cta-band h3{font-family:'Jost',sans-serif;font-weight:900;font-size:clamp(32px,5vw,64px);letter-spacing:-.03em;margin:0 0 32px;line-height:1}
  .cta-band .btn{color:#fff;border-color:#fff;margin-top:0}
  .cta-band .btn:hover{background:#fff}
  .cta-band .btn:hover span{color:var(--accent);mix-blend-mode:normal}

  /* Why Me proof points */
  .proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 80px;margin-top:80px}
  .proof-card{border-top:2px solid var(--ink);padding-top:28px}
  .proof-card h4{font-family:'Jost',sans-serif;font-weight:800;font-size:22px;margin:0 0 12px}
  .proof-card p{margin:0;opacity:.85}
  @media(max-width:700px){.proof-grid{grid-template-columns:1fr}}

  /* Contact form */
  .form{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:720px}
  .form .full{grid-column:1/-1}
  .form label{display:block;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#bfb6ad;margin-bottom:10px}
  .form input,.form select,.form textarea{
    width:100%;background:transparent;border:none;border-bottom:1.5px solid #ffffff44;
    color:#fffaf6;font-family:'Inter',sans-serif;font-size:18px;padding:12px 0;outline:none;transition:border-color .3s
  }
  .form input:focus,.form select:focus,.form textarea:focus{border-bottom-color:#ff8a5f}
  .form textarea{resize:vertical;min-height:120px}
  .form select option{background:#141312;color:#fffaf6}
  .form button{
    grid-column:1/-1;justify-self:start;margin-top:16px;
    background:transparent;border:1.5px solid #fffaf6;color:#fffaf6;
    padding:20px 32px;border-radius:999px;cursor:pointer;
    font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
    transition:background .3s,color .3s
  }
  .form button:hover{background:#fffaf6;color:#141312}
  @media (max-width:700px){.form{grid-template-columns:1fr}}

  /* Contact */
  .mail{
    display:inline-block;margin-top:64px;border:none;
    font-family:'Jost',sans-serif;font-weight:800;font-style:normal;
    font-size:clamp(36px,5.5vw,84px);
    letter-spacing:-.02em;line-height:1;
    color:var(--accent);
  }
  .band.dark .mail{color:#ff8a5f}
  .mail:hover{text-decoration:underline;text-underline-offset:8px}
  .where{margin-top:32px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
  .band.dark .where{color:#bfb6ad}

  footer{
    padding:48px 36px;background:var(--dark);color:#bfb6ad;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;
    font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase;
    border-top:1px solid #ffffff14;
  }
  footer a{color:#bfb6ad;border:none;margin-right:24px}
  footer a:hover{color:#fff}

  /* Scroll reveals */
  .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s ease}
  .reveal.in{opacity:1;transform:none}

  /* Reduced motion */
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .reveal{opacity:1;transform:none;transition:none}
    .marquee-track{animation:none!important}
    .blob{animation:none!important}
    .hero-video{display:none}
  }

  /* Progress bar */
  .progress-bar{
    position:fixed;top:0;left:0;right:0;z-index:60;overflow:hidden;
    background:rgba(20,19,18,.92);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    padding:0 36px;
    transform:translateY(-100%) !important;
    transition:transform .35s ease;
    border-bottom:1px solid #ffffff14;
  }
  .progress-bar.visible{transform:translateY(0) !important}
  .progress-bar .pb-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:0;height:40px;position:relative}
  .progress-bar .pb-fill{position:absolute;bottom:0;left:0;height:2px;background:var(--accent);transition:width .15s linear;width:0}
  .progress-bar .pb-link{
    flex:1;text-align:center;
    font-family:'Jost',sans-serif;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:#7a746d;border:none;cursor:pointer;
    transition:color .2s;line-height:40px;
    position:relative;z-index:1;
  }
  .progress-bar .pb-link:hover,.progress-bar .pb-link.active{color:#f3ede2}
  .progress-bar .pb-link.active::after{
    content:'';position:absolute;bottom:0;left:25%;right:25%;height:2px;background:var(--accent);
  }
  /* Progress bar case studies dropdown */
  .pb-cs{position:relative;flex:1;text-align:center;z-index:2}
  .pb-cs .pb-link{display:block;width:100%}
  .pb-cs .pb-dropdown{
    position:absolute;top:100%;left:50%;transform:translateX(-50%);
    background:rgba(20,19,18,.96);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border:1px solid #ffffff14;border-top:none;
    min-width:320px;padding:16px 0;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease;
  }
  .pb-cs:hover .pb-dropdown,.pb-cs .pb-dropdown:hover{opacity:1;visibility:visible;pointer-events:auto}
  .pb-dropdown a{
    display:block;padding:10px 28px;
    font-family:'Jost',sans-serif;font-size:13px;font-weight:600;letter-spacing:.02em;
    color:#bfb6ad;border:none;text-align:left;
    transition:color .2s,background .2s;
  }
  .pb-dropdown a:hover{color:#f3ede2;background:#ffffff0a}
  .pb-dropdown a span{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#7a746d;margin-top:2px;font-weight:700}
  /* ===== RESPONSIVE ===== */

  /* Tablet (≤960px) */
  @media(max-width:960px){
    .band{padding:120px 28px}
    .display{font-size:clamp(44px,9vw,120px)}
    p.lede{font-size:clamp(17px,1.4vw,21px);margin-top:48px}
    .meta{margin-bottom:32px}
    .trust .inner{gap:28px}
    .trust .name{font-size:15px}
    .cs-grid{grid-template-columns:repeat(2,1fr)}
    .proof-grid{gap:32px 60px}
  }

  /* Phone (≤700px) */
  @media(max-width:700px){
    .band{padding:80px 20px}
    .display{font-size:clamp(36px,12vw,56px)}
    header.site{padding:16px 20px}
    header.site .logo{font-size:18px}
    .hero{min-height:90vh;padding-top:40px}
    .btn{padding:16px 24px;font-size:12px;margin-top:32px}
    p.lede{margin-top:32px}
    .meta{margin-bottom:24px;font-size:11px}

    /* Trust strip */
    .trust{padding:20px 20px}
    .trust .inner{gap:16px 24px}
    .trust .label{width:100%;text-align:center;margin-bottom:4px}
    .trust .name{font-size:13px}

    /* About split */
    .split{grid-template-columns:1fr;gap:40px}
    .portrait-ph{max-height:400px}

    /* Properties */
    .properties{grid-template-columns:1fr;gap:32px;margin-top:60px}

    /* Services */
    .svc-grid{grid-template-columns:1fr;margin-top:60px}
    .svc-card{padding:36px 28px}
    .svc-card h3{font-size:24px}

    .cs-hero-img{max-height:300px;margin-top:48px}

    /* Case study cards */
    .cs-grid{grid-template-columns:1fr;margin-top:48px}
    .cs-card{min-height:160px;padding:32px 24px}
    .cs-card .cs-name{font-size:19px}

    /* CTA band */
    .cta-band{padding:60px 20px}
    .cta-band h3{font-size:clamp(28px,8vw,48px)}

    /* Proof grid */
    .proof-grid{grid-template-columns:1fr;gap:28px;margin-top:48px}
    .proof-card{padding-top:20px}
    .proof-card h4{font-size:19px}
    .proof-card[style*="grid-column"]{grid-column:auto!important}

    /* Contact form */
    .form{grid-template-columns:1fr;margin-top:48px}
    .mail{font-size:clamp(24px,7vw,48px)}

    /* Progress bar */
    .progress-bar{padding:0 12px}
    .progress-bar .pb-link{font-size:8px;letter-spacing:.1em;padding:0 2px}
    .pb-cs .pb-dropdown{
      min-width:calc(100vw - 24px)!important;
      left:auto;right:-60px;transform:none;
    }

    /* Marquee */
    .marquee{margin-top:48px}
    .marquee-track{gap:48px}
    .logo-tile{min-width:120px;padding:0 20px;height:60px}
    .logo-tile img{max-height:32px}

    /* Footer */
    footer{padding:32px 20px;flex-direction:column;align-items:center;text-align:center;gap:16px}
    footer a{margin-right:12px}
  }

  /* Small phone (≤400px) */
  @media(max-width:400px){
    .display{font-size:clamp(30px,11vw,44px)}
    .band{padding:64px 16px}
    .progress-bar .pb-link{font-size:7px;letter-spacing:.06em}
    .cs-card .cs-name{font-size:17px}
    .svc-card h3{font-size:22px}
  }

  /* Full-screen nav overlay */
  .nav-overlay{
    position:fixed;inset:0;z-index:100;
    background:#141312;
    display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;
    transition:opacity .45s ease,visibility .45s ease;
  }
  .nav-overlay.open{opacity:1;visibility:visible}
  .nav-overlay .nav-close{
    position:absolute;top:22px;right:36px;
    font-family:'Jost',sans-serif;font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;
    background:none;border:none;color:#f3ede2;cursor:pointer;
  }
  .nav-overlay nav{text-align:center}
  .nav-overlay nav a{
    display:block;
    font-family:'Jost',sans-serif;font-weight:800;font-size:clamp(28px,4vw,48px);
    letter-spacing:-.02em;line-height:1.6;
    color:#f3ede2;border:none;
    opacity:0;transform:translateY(16px);
    transition:opacity .35s ease,transform .35s ease,color .2s ease;
  }
  .nav-overlay.open nav a{opacity:1;transform:none}
  .nav-overlay nav a:hover{color:#ff8a5f}
  .nav-overlay .nav-sub-label{
    display:block;margin-top:32px;margin-bottom:12px;
    font-family:'Jost',sans-serif;font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
    color:#7a746d;
  }
  .nav-overlay .nav-sub a{
    font-size:clamp(16px,2vw,22px);font-weight:500;line-height:1.8;color:#bfb6ad;
  }
  .nav-overlay .nav-sub a:hover{color:#ff8a5f}
  .nav-overlay.open nav a:nth-child(1){transition-delay:.05s}
  .nav-overlay.open nav a:nth-child(2){transition-delay:.08s}
  .nav-overlay.open nav a:nth-child(3){transition-delay:.11s}
  .nav-overlay.open nav a:nth-child(4){transition-delay:.14s}
  .nav-overlay.open nav a:nth-child(5){transition-delay:.17s}
  .nav-overlay.open nav a:nth-child(6){transition-delay:.20s}
  .nav-overlay.open nav .nav-sub-label{transition-delay:.23s;opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease}
  .nav-overlay.open nav .nav-sub-label{opacity:1;transform:none}
  .nav-overlay.open nav .nav-sub a:nth-child(1){transition-delay:.26s}
  .nav-overlay.open nav .nav-sub a:nth-child(2){transition-delay:.28s}
  .nav-overlay.open nav .nav-sub a:nth-child(3){transition-delay:.30s}
  .nav-overlay.open nav .nav-sub a:nth-child(4){transition-delay:.32s}
  .nav-overlay.open nav .nav-sub a:nth-child(5){transition-delay:.34s}
  .nav-overlay.open nav .nav-sub a:nth-child(6){transition-delay:.36s}
  .nav-overlay.open nav .nav-sub a:nth-child(7){transition-delay:.38s}
  .nav-overlay.open nav .nav-sub a:nth-child(8){transition-delay:.40s}

/* -- Contact Form -- */
#contactForm{font-family:'Jost',sans-serif}
#contactForm .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.2rem}
#contactForm .full{margin-bottom:1.2rem}
#contactForm label{display:block;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.4rem}
#contactForm input[type="text"],
#contactForm input[type="email"],
#contactForm textarea,
#contactForm select{
  width:100%;box-sizing:border-box;
  background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.25);
  color:#fff;font-family:'Jost',sans-serif;font-size:17px;
  padding:.6rem 0;outline:none;transition:border-color .3s;
  -webkit-appearance:none;appearance:none;border-radius:0;
}
#contactForm input:focus,
#contactForm textarea:focus,
#contactForm select:focus{border-bottom-color:var(--accent,#f2b8a0)}
#contactForm select{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' fill='none'/%3E%3C/svg%3E") no-repeat right .2rem center;padding-right:1.4rem}
#contactForm select option{background:#1a1a1a;color:#fff}
#contactForm textarea{resize:vertical;min-height:100px}
#contactForm button[type="submit"]{
  display:inline-block;background:var(--accent,#f2b8a0);color:#1a1a1a;
  border:none;font-family:'Jost',sans-serif;font-weight:700;font-size:15px;
  letter-spacing:.12em;text-transform:uppercase;padding:.9rem 2.4rem;
  cursor:pointer;transition:background .3s,transform .15s;margin-top:.8rem;
}
#contactForm button[type="submit"]:hover{background:#e9a68c;transform:translateY(-1px)}
@media(max-width:600px){#contactForm .form-row{grid-template-columns:1fr}}


/* -- Inner Page Layouts (Case Studies & Properties) -- */
.cs-detail,.prop-detail{max-width:780px;margin:0 auto;padding:2rem 2rem 4rem}
.cs-detail h1,.prop-detail h1{font-family:'Jost',sans-serif;font-weight:900;font-size:clamp(2.8rem,6vw,5rem);line-height:1;letter-spacing:-.03em;margin:0 0 1.5rem}
.cs-detail .cs-back,.prop-detail .prop-back{display:inline-block;font-family:'Jost',sans-serif;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:inherit;text-decoration:none;margin-bottom:1rem;opacity:.6;transition:opacity .3s}
.cs-detail .cs-back:hover,.prop-detail .prop-back:hover{opacity:1}
.cs-detail h2,.prop-detail h2{font-family:'Jost',sans-serif;font-weight:800;font-size:1.6rem;margin:2.5rem 0 .8rem}
.cs-detail p,.prop-detail p{font-family:'Jost',sans-serif;font-size:17px;line-height:1.7;color:#333;max-width:640px}
.cs-detail ul,.prop-detail ul{font-family:'Jost',sans-serif;font-size:17px;line-height:1.7;color:#333;padding-left:1.2em;max-width:640px}
.cs-detail .cs-meta-label,.prop-detail .cs-meta-label{display:block;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(0,0,0,.4);margin-bottom:.3rem}
.cs-detail .cs-credit{margin-top:4rem;font-size:14px;color:rgba(0,0,0,.45);line-height:1.5}
.cs-cta-band{background:var(--accent,#c95a2a);padding:5rem 2rem;text-align:center}
.cs-cta-band h3{font-family:'Jost',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3.2rem);color:#fff;margin:0 0 1.5rem}
.cs-cta-band a{display:inline-block;font-family:'Jost',sans-serif;font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#fff;border:2px solid #fff;border-radius:40px;padding:.8rem 2rem;text-decoration:none;transition:background .3s,color .3s}
.cs-cta-band a:hover{background:#fff;color:var(--accent,#c95a2a)}
