@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--cream:#f7f4ed;--ink:#25251f;--muted:#66665c;--gold:#e8bd66;--line:#d8d5ca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b17c29;outline-offset:5px}button,a,summary{touch-action:manipulation}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:1.09}h2{font-size:clamp(38px,4.6vw,64px);margin-bottom:27px}h3{font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.035em}em{font-family:'Playfair Display',Georgia,serif;font-weight:500}p{color:var(--muted)}.eyebrow,.small-label{font-size:10px;font-weight:700;letter-spacing:.19em;line-height:1.6}.eyebrow{margin-bottom:24px}.header{position:absolute;z-index:5;top:0;left:0;right:0;padding:28px 5%;display:flex;justify-content:space-between;align-items:center;color:#fff}.wordmark{font-size:23px;font-weight:700;letter-spacing:.045em;line-height:1.1;display:inline-block}.wordmark span{display:block;font-size:9px;letter-spacing:.26em;margin-top:8px}nav{display:flex;gap:30px;align-items:center;font-size:12px}.nav-call{border:1px solid #ffffff80;padding:11px 16px}.hero{height:min(850px,100svh);min-height:690px;background:#070708;position:relative;color:#fff;isolation:isolate}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#08080adc 0%,#08080a85 33%,transparent 67%),linear-gradient(0deg,#08080a 0%,transparent 32%);z-index:-2}.hero-content{padding:150px 0 75px 7%;width:55%}.hero .eyebrow{color:#ddd2bc;font-size:10px}.hero h1{font-size:clamp(48px,5.7vw,80px);line-height:1.02;margin-bottom:26px}.hero h1 em{color:#e8c788}.hero-description{color:#e1ded7;font-size:15px;max-width:290px;line-height:1.65}.button{display:inline-flex;gap:26px;align-items:center;justify-content:space-between;padding:16px 22px;font-size:12px;font-weight:600;border:0;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:#1b1b17}.hero-phone{display:block;font-size:12px;margin-top:16px}.hero-bottom{position:absolute;bottom:25px;left:7%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.13em;color:#c1beb6}.hero-bottom button{background:transparent;border:1px solid #7e7b72;color:#eee;padding:8px 13px;font-size:10px;cursor:pointer}.section{padding:100px max(7%,calc((100vw - 1180px)/2));scroll-margin-top:0}.opening{background:linear-gradient(#171717 0,#66645f 7%,#d7d3c9 20%,var(--cream) 34%);padding-top:210px;padding-bottom:65px}.opening h2{font-size:clamp(42px,5.7vw,76px);max-width:900px}.opening .eyebrow{color:#656054}.opening-copy{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:950px;margin-top:35px}.opening-copy p{font-size:17px}.proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;display:grid;grid-template-columns:1fr 1.1fr 1.3fr;gap:35px;margin-top:50px}.proof-strip strong{display:block;font-size:32px;font-weight:500;letter-spacing:-.05em}.proof-strip span{font-size:12px;color:var(--muted)}.clients{padding-top:35px;display:grid;grid-template-columns:.9fr 1.3fr;gap:70px;padding-bottom:80px}.clients h2{font-size:42px}.client-groups>div+div{margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.small-label{color:#77776c;font-size:9px}.client-names{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.client-names>span{font-family:Georgia,serif;font-size:18px;line-height:1.2}.client-names small{display:block;font-family:Arial,sans-serif;font-size:9px;color:var(--muted);margin-top:7px}.quote{background:#ebe6da;display:flex;gap:50px;align-items:center;padding-top:65px;padding-bottom:65px}.quote img{border-radius:50%;object-fit:cover;filter:grayscale(1)}.quote blockquote{margin:0 0 20px;font:500 clamp(27px,3.2vw,43px)/1.3 'Playfair Display',Georgia,serif;letter-spacing:-.025em}.quote p:not(.eyebrow){font-size:14px}.quote cite{font-style:normal;font-size:10px;letter-spacing:.13em}.experience{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#fffdfa}.experience .section-intro{position:sticky;top:50px;align-self:start}.experience h2{font-size:52px}.section-intro>p:not(.eyebrow){font-size:14px;line-height:1.8}.experiences article{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--line)}.experiences article:last-child{margin-bottom:0}.experiences h3{margin:15px 0}.experiences p{font-size:14px}.detail{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7c6a46}.planner{display:grid;grid-template-columns:1fr 1fr;gap:90px}.planner h2{font-size:50px}.planner>div>p:not(.eyebrow){font-size:14px;max-width:320px}.text-link{font-size:12px;border-bottom:1px solid #8f8979;padding-bottom:7px;display:inline-block;margin-top:12px}.steps article{display:flex;gap:26px;border-bottom:1px solid var(--line);padding:20px 0}.steps article:first-child{padding-top:0}.steps article>span{font-size:11px;color:#9b8c6b}.steps h3{font-size:21px;margin-bottom:12px}.steps p{font-size:13px;margin-bottom:5px}.faq{padding-top:25px;padding-bottom:90px}.faq h2{font-size:47px}.faq-list{max-width:880px}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;font-size:15px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:7px;font-size:23px;top:15px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:14px;max-width:690px;padding-right:25px;padding-bottom:12px}.contact{background:#eae4d6;display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:64px}.contact-copy>p:not(.eyebrow){max-width:320px;font-size:14px}.number{display:block;font-size:29px;letter-spacing:-.04em;margin:28px 0 12px}.contact-links{display:flex;gap:28px;font-size:12px}.contact .personal{margin-top:35px;font-size:12px!important;color:#686354}form{background:#fffdfa;padding:36px}form h3{font-family:Georgia,serif;font-size:26px;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;font-weight:600;margin-bottom:18px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #c5c1b7;background:transparent;color:var(--ink);border-radius:0;padding:10px 0;font-size:13px;outline-offset:3px}textarea{resize:vertical;margin-top:8px}input::placeholder,textarea::placeholder{color:#828074;font-weight:400;font-size:11px}.dark{background:#292a24;color:#fff;width:100%}.button:disabled{opacity:.7;cursor:wait}.trap{display:none}.form-note{font-size:10px;margin:14px 0 0}.form-status{font-size:13px;margin-top:15px}.form-status:empty{display:none}footer{padding:38px 7%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer .wordmark{font-size:18px}footer .wordmark span{font-size:7px}footer p,footer>a:last-child{font-size:11px;margin:0}@media(min-width:1500px){.hero-content{padding-left:max(7%,calc((100vw - 1180px)/2))}}@media(max-width:850px){nav{gap:20px}nav>a:not(.nav-call){display:none}.hero{min-height:690px;height:85svh;max-height:800px}.hero-content{width:68%;padding-top:150px}.hero h1{font-size:60px}.hero video{object-position:58% center}.section{padding-left:7%;padding-right:7%}.clients,.experience,.planner,.contact{gap:40px}.clients{grid-template-columns:1fr}.experience h2,.planner h2{font-size:40px}.contact h2{font-size:52px}.contact{grid-template-columns:1fr 1.2fr;gap:25px}form{padding:25px}.form-grid{grid-template-columns:1fr;gap:0}.quote{gap:25px}.proof-strip strong{font-size:25px}}@media(max-width:600px){.header{padding:22px 6%}.wordmark{font-size:19px}.nav-call{font-size:10px;padding:10px}.hero{height:780px;min-height:0;max-height:none}.hero video{height:430px;top:75px;object-fit:cover;object-position:65% center;opacity:.85}.hero-shade{background:linear-gradient(0deg,#08080a 32%,#08080a15 70%,#08080a50 100%)}.hero-content{padding:370px 6% 0;width:100%}.hero .eyebrow{font-size:8px;margin-bottom:14px}.hero h1{font-size:45px;line-height:1.04;margin-bottom:16px}.hero h1 br:nth-child(1),.hero h1 em br{display:none}.hero-description{font-size:13px;max-width:295px;margin-bottom:18px}.button{padding:14px 18px}.hero-phone{font-size:11px}.hero-bottom{left:6%;bottom:16px}.hero-bottom>span{font-size:7px;max-width:150px}.section{padding:65px 7%}.opening{padding-top:125px;background:linear-gradient(#171717,#aaa69e 9%,var(--cream) 23%)}.opening h2{font-size:40px}.opening-copy{grid-template-columns:1fr;gap:0;margin-top:25px}.opening-copy p{font-size:15px}.proof-strip{grid-template-columns:1fr 1fr;gap:25px 15px;margin-top:30px;padding:25px 0}.proof-strip>div:last-child{grid-column:1/-1}.proof-strip strong{font-size:28px}.clients{padding-top:0;gap:20px}.clients h2{font-size:36px}.client-names{gap:15px}.client-names>span{font-size:15px}.client-names small{font-size:8px}.quote{display:block}.quote img{height:75px;width:75px;margin-bottom:25px}.quote blockquote{font-size:29px}.quote .eyebrow{font-size:8px}.experience,.planner,.contact{grid-template-columns:1fr;gap:35px}.experience .section-intro{position:static}.experience h2,.planner h2{font-size:39px}.experiences article{margin-bottom:30px}.experiences article:last-child{border:0;padding-bottom:0}.faq{padding-top:10px}.faq h2{font-size:38px}.contact h2{font-size:51px}form{padding:25px}.form-grid{grid-template-columns:1fr 1fr;gap:14px}footer{flex-wrap:wrap;padding:30px 7%}footer p{order:3;width:100%}.eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.proof-strip{grid-template-columns:1fr 1.3fr;gap:65px}
.proof-strip .proof-meaning{font-size:13px;line-height:1.65;max-width:360px;margin:12px 0 0}
.clients{display:block;padding-top:35px}
.clients h2{font-size:42px;margin-bottom:35px}
.client-groups .client-names{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:0;border-top:1px solid var(--line)}
.client-names>span{display:block;padding:25px 20px 25px 0;font-size:20px;border-bottom:1px solid var(--line);align-self:stretch;align-content:center}
.client-quotes{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;background:#ebe6da;padding-top:65px;padding-bottom:65px}
.client-quotes figure{margin:0}
.client-quotes blockquote{margin:0 0 24px;font:500 27px/1.45 'Playfair Display',Georgia,serif;letter-spacing:-.02em}
.client-quotes figcaption{font-size:12px;font-weight:600}
.client-quotes figcaption span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}
.contact h2{font-size:clamp(42px,4.4vw,60px)}
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:75px;align-items:center}
.opening .about-copy h2{font-size:clamp(36px,4.1vw,56px);max-width:760px}
.about-copy p{font-size:16px;max-width:720px;line-height:1.8}
.about-copy strong{font-weight:600;color:var(--ink)}
.headshot{margin:0;width:245px;max-width:100%;justify-self:center}
.headshot img{display:block;width:100%;height:auto;border-radius:3px}
.headshot figcaption{font-size:10px;color:var(--muted);text-align:center;margin-top:12px}
.reaction-photo{margin:55px auto 0;width:100%;max-width:700px;text-align:center}
.reaction-photo img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;border-radius:3px}
.logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.logo-grid figure{margin:0;min-height:142px;background:#fffdfa;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 22px 17px;border:1px solid #e8e3d8;border-radius:3px}
.logo-grid img{display:block;width:100%;height:63px;object-fit:contain;margin:auto 0}
.logo-grid figcaption{font-size:10px;line-height:1.4;color:#68665e;text-align:center;margin-top:18px}
.additional-clients{text-align:center;font-size:12px;margin:28px 0 0}
.additional-clients span{padding:0 15px}
.review-initials{width:112px;height:112px;min-width:112px;border-radius:50%;background:#d7c9ad;display:flex;align-items:center;justify-content:center;font:500 33px/1 Georgia,serif;color:#675b42}
.review-initials.small{width:88px;height:88px;min-width:88px;font-size:28px}
.featured-client-quote blockquote{font-size:clamp(26px,2.7vw,36px);line-height:1.4}
.featured-client-quote cite{letter-spacing:0;font-size:13px;display:block}
.featured-client-quote cite span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.reviewer{display:flex;align-items:center;gap:20px;margin-bottom:25px}
.reviewer img{width:88px;height:88px;object-fit:cover;filter:grayscale(1);border-radius:50%}
.reviewer img[src="/mark-j-larsen.jpg"]{filter:grayscale(1) brightness(1.4) contrast(.9)}
.reviewer img.reviewer-logo{object-fit:contain;filter:none;border-radius:0;padding:8px}
.amber-quote .amber-portrait{position:relative;width:112px;height:112px;min-width:112px;overflow:hidden;border-radius:50%;margin:0}
.amber-quote .amber-portrait img{position:absolute;width:220%;height:220%;max-width:none;left:-68%;top:-8%;object-fit:cover;filter:grayscale(1) brightness(1.15) contrast(.9);margin:0}
.amber-quote .amber-quote-copy{max-width:950px;margin:0}
@media(max-width:600px){.amber-quote .amber-portrait{width:88px;height:88px;min-width:88px;margin-bottom:22px}}
.testimonial-section{background:#ebe6da}
.testimonial-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;padding:2px 2px 15px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a79a80 transparent}
.testimonial-track:focus-visible{outline:2px solid #b17c29;outline-offset:5px}
.testimonial-card{margin:0;background:#f7f4ed;border:1px solid #dcd5c7;padding:22px 20px;scroll-snap-align:start;min-width:0}
.card-reviewer{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.card-reviewer figcaption{font-size:12px;line-height:1.35;font-weight:600}
.card-reviewer figcaption span{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:5px}
.card-portrait{position:relative;width:52px;height:52px;min-width:52px;border-radius:50%;overflow:hidden}
.card-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.card-portrait.russell img{object-position:50% 35%}
.card-portrait.mark img{filter:grayscale(1) brightness(1.4) contrast(.9)}
.card-portrait.logo{border-radius:0}
.card-portrait.logo img{object-fit:contain;filter:none;padding:4px}
.card-portrait.logan img{position:absolute;width:240%;height:240%;max-width:none;left:-70%;top:0;filter:grayscale(1) brightness(1.15) contrast(.9)}
.testimonial-card blockquote{font:500 19px/1.5 'Playfair Display',Georgia,serif;letter-spacing:-.015em;margin:0}
@media(max-width:1050px){.testimonial-track{grid-auto-columns:46%}}
@media(max-width:600px){.testimonial-section{padding-right:0}.testimonial-track{grid-auto-columns:83%;padding-right:7%;gap:14px}.testimonial-card{padding:22px}.testimonial-card blockquote{font-size:21px}}
.industry-quote{background:var(--cream);border-bottom:1px solid var(--line)}
.industry-quote>div{max-width:850px;margin:auto}
.lead-testimonial{background:#ebe6da}
.lead-testimonial .logan-portrait{position:relative;overflow:hidden;border-radius:50%;width:112px;height:112px;min-width:112px;margin:0}
.lead-testimonial .logan-portrait img{position:absolute;width:240%;height:240%;max-width:none;left:-70%;top:0;object-fit:cover;filter:grayscale(1) brightness(1.15) contrast(.9);margin:0}
.lead-testimonial .logan-quote{max-width:950px;margin:0}
@media(max-width:600px){.lead-testimonial .logan-portrait{width:88px;height:88px;min-width:88px;margin-bottom:22px}}
.industry-quote blockquote{font-size:clamp(25px,2.7vw,36px);line-height:1.4}
.industry-quote cite{font-size:13px;letter-spacing:0;display:block}
.industry-quote cite span{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.section{padding-top:70px;padding-bottom:70px}
.hero{height:82svh;min-height:620px;max-height:780px}
.opening{padding-top:85px;padding-bottom:50px;background:linear-gradient(#171717 0,#aaa69e 4%,var(--cream) 15%)}
.reaction-photo{margin-top:35px}
.clients{padding-top:30px;padding-bottom:30px}
.clients h2{margin-bottom:28px}
.contact{padding-top:40px}
.featured-client-quote .russell-photo{width:112px;height:112px;min-width:112px;object-fit:cover;object-position:50% 35%;border-radius:50%;filter:grayscale(1)}
@media(max-width:600px){.section{padding-top:45px;padding-bottom:45px}.hero{height:710px;min-height:0;max-height:none}.opening{padding-top:65px;padding-bottom:35px}.clients{padding-top:20px;padding-bottom:20px}.contact{padding-top:30px}.featured-client-quote .russell-photo{width:88px;height:88px;min-width:88px;margin-bottom:20px}}
.client-quotes figure>p{font-size:13px}
@media(max-width:850px){.about-layout{gap:35px;grid-template-columns:minmax(0,1fr) 200px}.headshot{width:200px}.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.about-layout{grid-template-columns:1fr;gap:25px}.opening .about-copy h2{font-size:38px}.about-copy p{font-size:15px}.headshot{width:185px}.reaction-photo{margin-top:35px}.reaction-photo img{max-height:330px}.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.logo-grid figure{min-height:125px;padding:20px 15px 15px}.logo-grid img{height:50px}.logo-grid figcaption{font-size:9px;margin-top:15px}.additional-clients{line-height:2.2}.additional-clients span{padding:0 7px}.review-initials{width:75px;height:75px;min-width:75px;margin-bottom:22px;font-size:25px}.reviewer .review-initials{margin-bottom:0}.featured-client-quote blockquote{font-size:27px}}
@media(max-width:850px){.client-groups .client-names{grid-template-columns:repeat(3,minmax(0,1fr))}.client-quotes{gap:40px}.client-quotes blockquote{font-size:24px}}
@media(max-width:600px){.proof-strip{grid-template-columns:1fr;gap:25px}.proof-strip>div:last-child{grid-column:auto}.client-groups .client-names{grid-template-columns:repeat(2,minmax(0,1fr))}.client-names>span{font-size:17px;padding:20px 12px 20px 0}.clients h2{font-size:36px}.client-quotes{grid-template-columns:1fr;gap:35px}.client-quotes figure+figure{border-top:1px solid #d2cbbd;padding-top:30px}.contact h2{font-size:45px}}
@media(max-width:600px){
 .hero{height:auto;min-height:0;max-height:none;padding-bottom:0}
 .hero video{top:75px;height:290px;object-position:60% center}
 .hero-shade{background:linear-gradient(0deg,#08080a 0%,#08080a 35%,#08080a15 75%,#08080a50 100%)}
 .hero-content{padding:265px 6% 28px;width:100%}
 .hero h1{font-size:clamp(38px,10.5vw,45px);line-height:1.08;margin-bottom:20px;max-width:350px}
 .hero h1 br{display:none}
 .hero h1 em{display:block}
 .hero-description{max-width:330px;font-size:14px;margin-bottom:20px}
 .hero-phone{margin-top:16px}
 .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:0 6%;padding:0 0 20px;gap:15px;align-items:center}
 .hero-bottom>span{font-size:8px;max-width:175px}
 .hero-bottom button{flex-shrink:0}
 .opening{padding-top:50px}
}
.header .nav-call {
  font-size: 36px;
  font-weight: 600;
  padding: 12px 18px;
}

.header .wordmark {
  font-size: 29px;
}

.header .wordmark span {
  font-size: 12px;
}

@media (max-width: 600px) {
  .header {
    flex-wrap: nowrap;
    gap: 12px;
  }

  .header .nav-call {
    font-size: 14px;
    padding: 10px 12px;
    white-space: nowrap;
  }

  .header .wordmark {
    font-size: 19px;
  }

  .header .wordmark span {
    font-size: 10px;
  }
}
.producer-mid-call{grid-column:1/-1;margin:0;font-size:14px}.producer-mid-call strong{color:var(--ink)}.header .nav-call{white-space:nowrap}.footer-phone{font-size:11px}.contact-links span{overflow-wrap:anywhere}

/* Keep the booking button and location row in separate layout rows. */
.hero{height:auto;max-height:none;min-height:690px;display:flex;flex-direction:column}
.hero-content{flex:1 0 auto;padding-bottom:32px}
.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:0 5% 0 7%;padding:0 0 25px;gap:20px;flex-wrap:wrap;flex-shrink:0}
.hero .button{max-width:100%;white-space:normal}
@media(max-width:600px){.hero{min-height:0}.hero-content{padding-bottom:28px}.hero-bottom{margin:0 6%;padding-bottom:20px;gap:15px}}

.hero span.button{cursor:default}.hero span.button:hover{transform:none}
