/* Pleasant Street host marketing: LAZY type, water, map art and quiet controls. */
.ps-host { margin:0; background:white; color:var(--ink); font:16px/1.75 var(--font-ui); }
.ps-host *, .ps-host *::before, .ps-host *::after { box-sizing:border-box; }
.ps-host .site-head { background:var(--water); }
.ps-host img { display:block; max-width:100%; height:auto; }
.ps-host a { color:var(--green); text-underline-offset:4px; }
.ps-host .btn, .ps-host .btn--primary, .ps-host .btn--ghost { display:inline-flex; gap:10px; min-height:46px; height:auto; padding:11px 21px; border:1px solid #b5c0ba; border-radius:var(--r-btn); color:var(--ink); background:#d9e0dc; box-shadow:none; font-size:14px; line-height:1.45; text-align:center; transition:background .2s,color .2s,border-color .2s,transform .2s; }
/* Keep a retained touch/focus state neutral after activating a button. */
.ps-host .btn:active { background:#c9d3cc; border-color:#a8b5ad; color:var(--ink); }
@media (hover:hover) and (pointer:fine) {
 .ps-host .btn:hover:not(:focus):not(:active) { background:var(--coral-btn); color:white; border-color:var(--coral-btn); transform:translateY(-1px); }
}
.ps-host .btn:focus-visible, .ps-host a:focus-visible, .ps-host button:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
.ps-host .site-head .btn { min-height:36px; padding:7px 14px; font-size:12px; }
.psh-skip { position:fixed; left:16px; top:-100px; z-index:9999; background:white; padding:10px 20px; }
.psh-skip:focus { top:12px; }
.psh-wrap { width:calc(100% - 64px); max-width:1180px; margin:0 auto; }
.psh-narrow { max-width:820px; }
.psh-hero { position:relative; overflow:hidden; background:var(--water); padding:45px 0 36px; }
.psh-water { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.55; }
.psh-hero__grid { position:relative; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr); gap:26px; align-items:center; }
.psh-hero__copy { position:relative; }
.psh-eyebrow { margin:0 0 14px; font:700 12px/1.5 var(--font-ui); letter-spacing:.12em; text-transform:uppercase; color:var(--green-deep); }
.psh-hero h1 { margin:0 0 16px; font:400 clamp(54px,5.6vw,76px)/1.08 var(--font-italic); letter-spacing:-.02em; }
.psh-hero__lead { margin:0 0 22px; font-size:clamp(22px,2vw,27px); font-weight:700; line-height:1.35; }
.psh-hero p:not([class]) { margin:0 0 14px; max-width:555px; }
.psh-hero__art { width:115%; max-width:700px; margin-left:-6%; }
.psh-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.psh-hero .psh-actions .btn { background:#d9e0dc; }
.psh-hero .psh-actions .btn--primary { background:var(--green); color:var(--white); }
.psh-hero .psh-actions .btn--primary:hover { background:var(--coral); }

.psh-website-path { margin:18px 0 0; font-size:14px; }
.psh-website-path a { font-weight:700; }
.psh-wave { position:absolute; bottom:-1px; left:0; width:100%; height:40px; fill:white; }
.psh-section { padding:86px 0; scroll-margin-top:80px; }
.psh-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:center; }
.psh-split--reverse .psh-copy { order:2; }
.psh-split--reverse > :last-child { order:1; }
.psh-copy h2, .psh-narrow h2 { font:400 clamp(32px,3.2vw,43px)/1.2 var(--font-italic); margin:0 0 25px; }
.psh-copy p { margin:0 0 17px; }
.psh-copy > .btn { margin-top:10px; }
.psh-tint { background:var(--tint); }
.psh-cream { background:var(--cream); }
.psh-features { padding:0; margin:28px 0; list-style:none; display:grid; gap:20px; }
.psh-features li { padding-left:22px; position:relative; }
.psh-features li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--green); }
.psh-features strong { display:block; font-size:16px; line-height:1.4; margin-bottom:3px; }
.psh-features span { display:block; font-size:14px; line-height:1.6; color:var(--ink-mute); }
.psh-card-preview { width:100%; max-width:395px; margin:0 auto; }
.psh-card-preview img { border-radius:20px; box-shadow:var(--e2); }
.psh-card-preview figcaption, .psh-phones figcaption { margin:16px 0 0; font-size:13px; text-align:center; color:var(--ink-mute); line-height:1.6; }
.psh-shot { min-width:0; margin:0; padding:10px; border-radius:18px; background:white; box-shadow:var(--e1); border:1px solid var(--line); overflow:hidden; }
.psh-shot img { width:100%; border-radius:10px; }
.psh-demo-stack { display:grid; gap:24px; min-width:0; }
.psh-search-shot { width:76%; max-width:400px; margin:0 auto; }
.psh-demo-stack > :last-child { max-height:390px; }
.psh-demo-stack > :last-child img { max-height:368px; object-fit:cover; object-position:top; }
.psh-map-shot { max-height:620px; }
.psh-map-shot img { object-fit:cover; object-position:top; max-height:598px; }
.psh-emphasis { color:var(--green); font-size:20px; font-weight:700; line-height:1.5; }
.psh-list { padding-left:22px; margin:0 0 24px; }
.psh-list li { padding-left:4px; margin-bottom:8px; }
.psh-island { width:100%; }
.psh-phones { margin:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start; }
.psh-phones img { border:6px solid #fff; border-radius:22px; box-shadow:var(--e2); }
.psh-phones img:nth-child(2) { margin-top:60px; }
.psh-phones figcaption { grid-column:1/-1; }
.psh-why { text-align:center; }
.psh-why p { max-width:730px; margin:0 auto 20px; }
.psh-problems { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:32px 0; text-align:left; }
.psh-problems > div { padding:24px; background:white; border:1px solid var(--line); border-radius:var(--r3); }
.psh-problems h3 { margin:0 0 8px; font-size:20px; }
.psh-problems p { font-size:15px; margin-bottom:12px; }
.psh-problems a { font-size:15px; font-weight:700; }
.psh-faq { display:grid; gap:12px; }
.psh-faq .faq-q { margin:0; box-shadow:none; border:1px solid var(--line); }
.psh-faq .faq-q h3 { font-size:17px; }
.psh-faq .faq-q p { font-size:15px; line-height:1.75; }
.psh-final { background:var(--water); padding-bottom:70px; }
.psh-signoff { margin:26px 0 0!important; font-size:14px; line-height:1.6; }
.ps-form { display:grid; gap:15px; margin:28px 0 0; padding:24px; background:var(--tint); border:1px solid var(--line); border-radius:var(--r3); }
.ps-form label { display:grid; gap:7px; min-width:0; font-size:14px; font-weight:700; line-height:1.4; }
.ps-form input { width:100%; min-width:0; height:48px; padding:0 13px; border:1px solid #b6c9c5; border-radius:var(--r-btn); background:white; color:var(--ink); font:400 16px var(--font-ui); }
.ps-form input:focus { outline:2px solid var(--teal); outline-offset:2px; }
.ps-form input[aria-invalid="true"] { border-color:var(--coral-btn); }
.ps-form__two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.ps-form__note { font-size:12px; font-weight:400; line-height:1.65; margin:0!important; color:var(--ink-mute); }
.ps-form .btn { justify-self:start; }
.ps-form__msg { font-size:14px; line-height:1.6; margin:0!important; color:var(--green); }
.ps-form__msg:empty { display:none; }
.ps-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media(max-width:1000px) {
 .psh-wrap { width:calc(100% - 48px); }
 .psh-split { gap:38px; }
 .psh-hero__grid { gap:12px; }
 .psh-hero__art { width:108%; margin-left:-4%; }
 .psh-section { padding:68px 0; }
}
@media(max-width:700px) {
 .psh-wrap { width:calc(100% - 36px); }
 .psh-hero { padding:26px 0 26px; }
 .psh-hero__grid { display:flex; flex-direction:column; gap:6px; }
 .psh-hero__copy { text-align:center; }
 .psh-hero h1 { font-size:51px; }
 .psh-hero__lead { font-size:23px; }
 .psh-hero p:not([class]) { font-size:15px; line-height:1.7; }
 .psh-eyebrow { font-size:11px; }
 .psh-actions { justify-content:center; gap:10px; }
 .ps-host .btn { font-size:12px; padding:10px 15px; min-height:44px; white-space:normal; }
 .psh-hero__art { width:100%; max-width:410px; margin:12px auto 0; }
 .psh-wave { height:22px; }
 .psh-section { padding:50px 0; }
 .psh-split { grid-template-columns:1fr; gap:30px; }
 .psh-split--reverse .psh-copy, .psh-split--reverse > :last-child { order:initial; }
 .psh-copy h2, .psh-narrow h2 { font-size:34px; }
 .psh-copy p { font-size:15px; }
 .psh-copy .psh-emphasis { font-size:19px; }
 .psh-card-preview { max-width:330px; }
 .psh-features { gap:17px; }
 .psh-search-shot { width:85%; }
 .psh-map-shot { max-height:470px; }
 .psh-map-shot img { max-height:448px; }
 .psh-phones { max-width:420px; margin:auto; gap:12px; }
 .psh-phones img { border-width:4px; border-radius:14px; }
 .psh-phones img:nth-child(2) { margin-top:35px; }
 .psh-problems { grid-template-columns:1fr; gap:16px; }
 .psh-faq .faq-q h3 { font-size:16px; }
 .ps-form { padding:18px; }
 .ps-form__two { grid-template-columns:1fr; }
 .ps-form .btn { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .ps-host .btn { transition:none; } .psh-water { display:none; } }
/* Explicit logo dimensions keep the SVG's auto grid column from collapsing. */
.ps-host .site-head__logo { width:108px; height:auto; max-width:none; }
.head-thin .ps-host .site-head__logo { width:58px; height:auto; }
@media(max-width:700px) {
 .ps-host .site-head__logo { width:54px; height:auto; }
 .head-thin .ps-host .site-head__logo { width:45px; height:auto; }
}

/* A gentle spring response for the card previews, without moving touch targets. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .psh-card-preview, .psh-shot, .psh-problems > div { transition:transform .32s cubic-bezier(.2,1.6,.4,1),box-shadow .22s ease; }
 .psh-card-preview:hover, .psh-shot:hover, .psh-problems > div:hover { transform:translateY(-4px); }
}
