/* PageSpot v0.6: one readable spacing and type system for all service pages. */
:root {
 --paper:#fbf8f2; --outer:#e9e4da; --ink:#1d201b; --muted:#5e6258;
 --line:#dedacf; --sage:#50634c; --panel:#eee9df; --white:#fffefb;
 --sans:'Inter',Arial,Helvetica,sans-serif;
 --serif:'Instrument Serif','EB Garamond',Georgia,serif;
 --slide-size:min(930px,80vw); --gap:40px; --frame:24px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; color:var(--ink); background:var(--outer); font:17px/1.65 var(--sans); -webkit-font-smoothing:antialiased; }
body.ps-site { padding:12px; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { line-height:1.12; letter-spacing:-.045em; text-wrap:balance; }
h1 { font-size:60px; font-weight:600; }
h2 { font-size:44px; font-weight:500; }
h3 { font-size:24px; font-weight:600; }
p { overflow-wrap:break-word; }
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:underline; text-underline-offset:5px; }
button,input,textarea,select { font:inherit; color:inherit; }
button:not(:disabled),summary { cursor:pointer; }
button:disabled { cursor:not-allowed; }
img { display:block; max-width:100%; height:auto; }
svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid #617d56; outline-offset:5px; }
[hidden] { display:none!important; }
.page-shell { width:100%; min-height:calc(100vh - 24px); min-width:0; overflow:clip; background:var(--paper); }
.content-wrap { width:min(1184px,calc(100% - 112px)); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:absolute; left:24px; top:0; transform:translateY(-200%); z-index:100; padding:12px 20px; background:var(--ink); color:white; }
.skip-link:focus { transform:translateY(12px); }
.serif { font-family:var(--serif); font-weight:400; letter-spacing:-.035em; }
.no-wrap { white-space:nowrap; }
.text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:16px; font-weight:500; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:54px; padding:14px 25px; border:1px solid var(--ink); border-radius:99px; background:var(--ink); color:var(--paper); font-size:16px; font-weight:500; line-height:1.45; text-align:center; transition:background .15s; }
.button:hover { background:#394134; text-decoration:none; }
.button-small { min-height:48px; padding:11px 21px; gap:14px; }
.unavailable { opacity:.65; }
.ps-header { display:flex; align-items:center; justify-content:space-between; gap:28px; height:94px; }
.ps-logo { display:inline-flex; align-items:center; gap:9px; font-size:27px; font-weight:700; letter-spacing:-.065em; line-height:1; white-space:nowrap; }
.ps-logo:hover { text-decoration:none; }
.ps-logo img { width:26px; height:26px; }
.wordmark-dot { color:var(--sage); }
.desktop-nav { display:flex; align-items:center; gap:32px; font-size:16px; }
.desktop-nav a { display:inline-flex; align-items:center; min-height:44px; }
.header-actions { display:flex; gap:12px; align-items:center; }
.mobile-nav { display:none; position:relative; z-index:30; }
.mobile-nav summary { display:flex; gap:9px; align-items:center; min-height:46px; padding:8px 10px; border:1px solid var(--line); border-radius:99px; list-style:none; font-size:16px; }
.mobile-nav summary::-webkit-details-marker { display:none; }
.mobile-nav nav { position:absolute; right:0; top:calc(100% + 10px); display:flex; flex-direction:column; min-width:200px; padding:10px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:0 8px 24px #24292012; }
.mobile-nav nav a { padding:12px; font-size:16px; }
.hero { text-align:center; padding:42px 0 40px; }
.hero h1 { display:flex; flex-direction:column; gap:4px; font-size:64px; letter-spacing:-.06em; }
.hero h1>.serif { font-size:76px; line-height:1.03; letter-spacing:-.035em; }
.hero-description { font-size:19px; color:var(--muted); line-height:1.6; max-width:560px; margin:24px auto 0; }
.hero-actions { display:flex; align-items:center; justify-content:center; gap:28px; margin-top:27px; }
.hero-assurance { margin-top:19px; color:var(--muted); font-size:15px; }
.showcase { width:100%; min-width:0; overflow:hidden; contain:inline-size; padding:0 0 16px; --edge:max(22px,calc((100vw - var(--frame) - var(--slide-size))/2)); }
.showcase-viewport { position:relative; width:100%; min-width:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; cursor:grab; outline-offset:-4px!important; }
.showcase-viewport::-webkit-scrollbar { display:none; }
.showcase-viewport.is-dragging { scroll-snap-type:none; cursor:grabbing; user-select:none; }
.showcase-track { display:flex; gap:var(--gap); width:max-content; padding:24px var(--edge) 28px; touch-action:pan-x pan-y pinch-zoom; }
.showcase-slide { flex:0 0 var(--slide-size); width:var(--slide-size); min-width:0; scroll-snap-align:center; scroll-snap-stop:always; }
.device-composition { position:relative; padding:0 110px 22px 0; min-width:0; }
.showcase .device-composition { opacity:.55; transform:scale(.97); transform-origin:center bottom; transition:opacity .2s,transform .2s; }
.showcase:not(.is-ready) .showcase-slide:first-child .device-composition,.showcase-slide.is-current .device-composition { opacity:1; transform:none; }
.desktop-device { overflow:hidden; border:1px solid #c6c9be; border-radius:12px; background:white; box-shadow:0 14px 32px #29352516; }
.browser-chrome { height:26px; padding:0 12px; display:flex; align-items:center; gap:18px; border-bottom:1px solid var(--line); background:#f7f8f4; }
.browser-dots { display:flex; gap:5px; }
.browser-dots i { width:5px; height:5px; border-radius:50%; background:#c6cbbe; }
.browser-address { display:block; flex:1; text-align:center; margin-right:28px; font:11px/1 var(--sans); color:#777e70; }
.desktop-device picture,.desktop-device picture img { display:block; width:100%; aspect-ratio:20/13; height:auto; object-fit:cover; object-position:top; pointer-events:none; user-select:none; }
.phone-device { position:absolute; bottom:0; right:0; width:190px; padding:4px; background:#282d26; border:1px solid #464d42; border-radius:29px; box-shadow:0 12px 24px #22292126; }
.phone-screen { border-radius:24px; overflow:hidden; background:#fffefa; }
.phone-top { position:relative; height:21px; background:#fffefa; }
.phone-top i { position:absolute; width:50px; height:11px; border-radius:20px; top:5px; left:50%; transform:translateX(-50%); background:#282d26; }
.phone-device picture,.phone-device img { display:block; width:100%; aspect-ratio:1/2; height:auto; object-fit:cover; object-position:top; user-select:none; pointer-events:none; }
.phone-home { height:14px; position:relative; background:#fffefa; }
.phone-home:after { content:''; position:absolute; width:52px; height:3px; top:5px; left:50%; transform:translateX(-50%); border-radius:10px; background:#282d26; }
.slide-caption { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:24px 2px 0; }
.slide-caption h3 { font-size:24px; letter-spacing:-.04em; }
.slide-caption p { font-size:16px; color:var(--muted); margin-top:5px; }
.example-link { min-height:44px; display:inline-flex; align-items:center; gap:10px; font-size:16px; font-weight:500; }
.showcase-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:8px; }
.sample-disclosure { font-size:15px; color:var(--muted); }
.carousel-controls { display:flex; gap:8px; align-items:center; }
.round-button { border:1px solid #c9cabb; background:transparent; border-radius:50%; display:grid; place-items:center; width:46px; height:46px; padding:0; }
.round-button:hover { background:var(--panel); }
.round-button:disabled { opacity:.3; }
.round-button[data-direction=prev] svg { transform:rotate(180deg); }
.carousel-dots { display:flex; gap:0; }
.dot-button { display:grid; place-items:center; width:30px; height:46px; background:none; border:0; padding:0; }
.dot-button>span { width:6px; height:6px; border-radius:50%; background:#b3b9aa; }
.dot-button[aria-pressed=true]>span { background:var(--ink); }
.section { padding-block:88px; }
.section h2 { margin-bottom:38px; }
.process { padding-top:86px; }
.process h2 { text-align:center; }
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.steps article { position:relative; padding:0 25px; text-align:center; }
.steps article+article { border-left:1px solid var(--line); }
.step-number { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--panel); color:var(--sage); font-size:15px; margin-bottom:22px; }
.steps h3 { font-size:24px; }
.steps p { font-size:17px; color:var(--muted); margin:12px auto 0; max-width:250px; }
.included { border-top:1px solid var(--line); padding-top:66px; padding-bottom:70px; }
.included h2 { text-align:center; }
.included-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.included-grid article { min-width:0; }
.included-grid svg { color:var(--sage); margin-bottom:20px; }
.included-grid h3 { font-size:20px; line-height:1.2; margin-bottom:12px; }
.included-grid p { font-size:16px; line-height:1.65; color:var(--muted); max-width:260px; }
.example-address { overflow-wrap:anywhere; }
.pricing { padding-top:35px; padding-bottom:62px; }
.pricing-card { padding:52px 60px; display:grid; grid-template-columns:1.2fr 1fr; gap:48px; background:var(--panel); border:1px solid #d7d1c4; border-radius:22px; }
.pricing-card h2 { font-size:44px; line-height:1.1; margin:0 0 28px; }
.pricing-card h2 .serif { font-size:56px; }
.price-inclusions { display:grid; gap:12px; list-style:none; margin:0; padding:0; font-size:17px; }
.price-inclusions li { display:flex; align-items:center; gap:12px; }
.price-inclusions svg { color:var(--sage); }
.price-purchase { display:flex; align-items:center; flex-direction:column; justify-content:center; border-left:1px solid #d4cfc2; padding-left:40px; text-align:center; }
.price { display:flex; align-items:center; justify-content:center; gap:20px; line-height:1.1; }
.price>span:first-child { font-size:100px; font-weight:600; letter-spacing:-.08em; }
.price-period { font-size:16px; line-height:1.65; text-align:left; color:var(--muted); }
.setup-note { margin-top:12px; font-size:16px; color:var(--muted); }
.purchase-button { margin-top:26px; width:100%; max-width:335px; }
.renewal-note { margin-top:17px; font-size:14px; line-height:1.6; color:var(--muted); }
.scope-note { margin:22px auto 0; max-width:740px; text-align:center; font-size:15px; color:var(--muted); }
.faq { padding-top:35px; display:grid; grid-template-columns:1fr 1.4fr; gap:64px; padding-bottom:88px; }
.faq h2 { margin-bottom:20px; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list details:first-child { border-top:1px solid var(--line); }
.faq-list summary { display:flex; align-items:center; gap:25px; justify-content:space-between; padding:22px 0; font-size:18px; font-weight:500; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary>span,.details-plus { display:block; position:relative; width:16px; height:16px; flex-shrink:0; }
.faq-list summary>span:before,.faq-list summary>span:after,.details-plus:before,.details-plus:after { content:''; position:absolute; top:7px; left:1px; width:14px; height:1px; background:currentColor; }
.faq-list summary>span:after,.details-plus:after { transform:rotate(90deg); }
details[open]>summary>span:after,details[open] .details-plus:after { transform:none; }
.faq-list p { padding:0 32px 24px 0; color:var(--muted); font-size:17px; line-height:1.75; }
.ps-footer { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; border-top:1px solid var(--line); padding-block:38px; }
.ps-footer p { font-size:16px; margin-top:14px; color:var(--muted); }
.footer-links { display:flex; flex-direction:column; align-items:flex-end; gap:8px; font-size:16px; }
.footer-links>a { min-height:34px; display:inline-flex; align-items:center; gap:8px; }
.footer-links>span { margin-top:4px; font-size:14px; color:var(--muted); }
/* A focused campaign page: three actual, generous examples. */
.landing-hero { padding-bottom:62px; }
.landing-example-list { display:grid; gap:52px; }
.landing-example { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:50px; align-items:center; }
.landing-example-art { min-width:0; }
.landing-example .device-composition { padding-right:80px; padding-bottom:20px; }
.landing-example .phone-device { width:160px; border-radius:24px; }
.landing-example .phone-screen { border-radius:19px; }
.landing-example-info p { color:var(--muted); font-size:16px; margin-bottom:9px; }
.landing-example-info h3 { font-size:38px; margin-bottom:20px; }
.landing-examples>.sample-disclosure { text-align:center; margin-top:34px; }
.compact-process { margin-top:35px; padding-block:66px; border-top:1px solid var(--line); }
.compact-pricing { padding-top:20px; padding-bottom:70px; }
/* The gallery, selection and previews use the same design language. */
.page-intro { padding:52px 0 58px; }
.page-intro h1 { max-width:850px; }
.page-intro h1 .serif { display:block; font-size:1.15em; }
.page-intro p { color:var(--muted); font-size:19px; margin-top:21px; max-width:680px; }
.template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.template-card { min-width:0; }
.template-image { display:block; overflow:hidden; border:1px solid #d0d2c8; border-radius:12px; background:white; box-shadow:0 6px 16px #20301e0a; }
.template-image>img { width:100%; aspect-ratio:1.28; object-fit:cover; object-position:top; }
.template-meta { padding-top:22px; }
.template-meta h3 { font-size:25px; }
.template-meta p { margin-top:6px; color:var(--muted); font-size:16px; }
.card-actions { display:flex; flex-wrap:wrap; column-gap:20px; row-gap:0; margin-top:12px; }
.card-actions .text-link { font-size:16px; }
.legacy-collection { margin-top:75px; }
.legacy-collection h2 { margin-bottom:34px; }
.collection-note { padding-block:38px 60px; font-size:16px; color:var(--muted); }
.preview-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:24px; }
.preview-toolbar h1 { font-size:28px; }
.device-controls { display:flex; gap:6px; justify-content:center; margin:12px 0 28px; }
.device-controls button { border:1px solid var(--line); border-radius:99px; padding:11px 25px; min-height:48px; background:transparent; font-size:16px; }
.device-controls button[aria-pressed=true] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.device-stage { width:min(1280px,calc(100% - 96px)); height:840px; margin:0 auto; border:1px solid #bfc5b7; border-radius:14px; overflow:hidden; background:white; box-shadow:0 12px 30px #25302112; }
.device-stage[data-device=mobile] { width:min(390px,calc(100% - 44px)); }
.device-stage iframe { display:block; width:100%; height:100%; border:0; background:white; }
.preview-choice { display:flex; flex-direction:column; align-items:center; gap:15px; padding:34px 22px 60px; }
.preview-choice span { font-size:16px; color:var(--muted); text-align:center; }
.selection-main { padding-top:25px; }
.back-link { margin-bottom:32px; }
.selection-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:70px; align-items:center; }
.selection-art { min-width:0; }
.selection-art .desktop-device>img { width:100%; aspect-ratio:1.28; object-fit:cover; object-position:top; }
.selection-art>.text-link { margin-top:20px; }
.selection-label { color:var(--muted); font-size:16px; }
.selection-copy h1 { font-size:38px; margin-top:15px; }
.selection-copy h1 .serif { display:block; font-size:54px; }
.selection-copy>p:not(.selection-price):not(.renewal-note):not(.selection-label) { color:var(--muted); margin-top:19px; font-size:17px; }
.selection-price { display:flex; gap:18px; align-items:center; margin-top:28px; }
.selection-price strong { font-weight:600; font-size:58px; line-height:1; letter-spacing:-.06em; }
.selection-price span { font-size:16px; color:var(--muted); }
.selection-copy>.button { margin-top:28px; }
.selection-paid { margin-top:18px; }
.selection-end { display:flex; justify-content:space-between; gap:35px; align-items:center; padding:32px 0 55px; margin-top:55px; border-top:1px solid var(--line); }
.selection-end p { font-size:17px; color:var(--muted); }
/* Intake: readable labels, optional details folded away, one real form. */
.intake-container { width:min(850px,calc(100% - 112px)); margin:0 auto; }
.intake-intro { text-align:center; padding:42px 0 50px; }
.intake-intro h1 { font-size:48px; }
.intake-intro h1 .serif { font-size:60px; }
.intake-intro p { margin:20px auto 0; }
.customer-intake { background:var(--white); padding:38px 40px; border:1px solid var(--line); border-radius:20px; }
.customer-intake fieldset { min-width:0; border:0; margin:0; padding:0 0 35px; }
.customer-intake fieldset+fieldset { border-top:1px solid var(--line); padding-top:32px; }
.customer-intake legend { float:left; width:100%; font-size:24px; line-height:1.3; font-weight:500; letter-spacing:-.035em; margin:0 0 23px; padding:0; }
.customer-intake fieldset>*:not(legend):first-of-type { clear:both; }
.customer-intake fieldset:after { content:''; display:block; clear:both; }
.form-grid { display:grid; gap:24px; }
.form-grid+.form-grid { margin-top:24px; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.field { display:block; min-width:0; font-size:16px; font-weight:500; line-height:1.5; }
.optional { font-size:14px; color:var(--muted); font-weight:400; white-space:nowrap; }
.field input,.field textarea,.field select { display:block; width:100%; max-width:100%; margin-top:9px; border:1px solid #c9cdc2; border-radius:9px; background:white; min-height:50px; padding:12px 13px; font:400 16px/1.5 var(--sans); }
.field select { padding-right:25px; }
.field textarea { resize:vertical; }
.field input::placeholder,.field textarea::placeholder { color:#73786c; opacity:1; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--sage); outline:2px solid #bccbb3; outline-offset:2px; }
.field input:disabled { color:var(--muted); }
.field-help { font-size:14px; color:var(--muted); line-height:1.6; font-weight:400; }
span.field-help { display:block; margin-top:9px; }
p.field-help { margin-top:16px; }
.slug-field { display:flex; min-width:0; align-items:stretch; margin-top:9px; }
.slug-field input { min-width:0; margin:0; border-radius:9px 0 0 9px; flex:1; }
.slug-suffix { border:1px solid #c9cdc2; border-left:0; display:flex; align-items:center; border-radius:0 9px 9px 0; background:#f4f2eb; padding:0 10px; color:var(--muted); font-size:14px; font-weight:400; white-space:nowrap; }
.small-link { margin-top:9px; font-size:16px; }
.form-details>summary { min-height:46px; display:flex; align-items:center; gap:8px; font-size:18px; line-height:1.5; list-style:none; }
.form-details>summary::-webkit-details-marker { display:none; }
.details-plus { margin-left:auto; }
.details-body { padding-top:12px; }
.details-body>p:first-child { margin-top:0; margin-bottom:23px; }
.optional-section { padding-bottom:25px!important; padding-top:25px!important; }
.optional-section legend.sr-only { float:none; width:1px; margin:-1px; }
.upload-field input { font-size:14px; padding:9px; }
.upload-field input::file-selector-button { border:0; background:#ecefe5; color:var(--ink); padding:7px 10px; margin-right:8px; border-radius:5px; font-size:14px; cursor:pointer; }
.notes-details { margin-top:22px; }
.check-field { display:flex; align-items:flex-start; gap:13px; font-size:16px; line-height:1.6; font-weight:400; padding-top:4px; }
.check-field input { accent-color:var(--sage); width:20px; height:20px; flex-shrink:0; margin-top:4px; }
.intake-submit { border-top:1px solid var(--line); margin-top:28px; padding-top:26px; display:flex; flex-direction:column; align-items:flex-start; gap:15px; }
.intake-submit p { font-size:15px; color:var(--muted); }
.form-error { color:#8c2a1d; background:#fff1ec; border:1px solid #eac9bd; border-radius:8px; padding:15px; margin-top:18px; font-size:16px; }
.intake-help { text-align:center; color:var(--muted); padding-block:28px 62px; font-size:16px; }
.intake-help a { text-decoration:underline; text-underline-offset:4px; }
.thanks-page { max-width:900px; text-align:center; padding:75px 0 110px; }
.thanks-icon { width:60px; height:60px; display:grid; place-items:center; background:#e6ebdf; color:var(--sage); border-radius:50%; margin:0 auto 30px; }
.thanks-icon svg { width:29px; height:29px; }
.thanks-page h1 { font-size:58px; }
.thanks-page h1 .serif { font-size:68px; }
.thanks-page p { font-size:19px; color:var(--muted); line-height:1.75; margin:25px auto 32px; max-width:610px; }
@media (max-width:1100px) {
 .content-wrap { width:calc(100% - 80px); }
 .hero h1 { font-size:54px; }.hero h1>.serif { font-size:65px; }
 .desktop-nav { gap:22px; }.ps-header { gap:18px; }
 .pricing-card { padding:44px 38px; gap:32px; }.price-purchase { padding-left:28px; }
 .included-grid { gap:24px; }.included-grid h3 { font-size:19px; }
 .phone-device { width:168px; }.device-composition { padding-right:90px; }
 .landing-example { grid-template-columns:minmax(0,1fr) 225px; gap:32px; }.landing-example-info h3 { font-size:30px; }
 .landing-example .phone-device { width:138px; }.landing-example .device-composition { padding-right:65px; }
 .template-grid { gap:25px; }.selection-layout { gap:38px; }
 .intake-container { width:min(850px,calc(100% - 80px)); }
}
@media (max-width:900px) {
 .desktop-nav { display:none; }.mobile-nav { display:block; }
 .section { padding-block:65px; }.included-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
 .included h2 { margin-bottom:38px; }
 .pricing-card { gap:30px; padding:35px; }.pricing-card h2 { font-size:34px; }.pricing-card h2 .serif { font-size:45px; }
 .price>span:first-child { font-size:82px; }.price { gap:12px; }.price-period { font-size:15px; }
 .price-inclusions { font-size:16px; }
 .faq { grid-template-columns:1fr; gap:22px; }.faq h2 { margin-bottom:10px; }
 .template-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
 .selection-layout { grid-template-columns:1fr; max-width:720px; margin:auto; }.selection-copy { max-width:560px; }.selection-copy h1 { font-size:42px; }
 .selection-end { max-width:720px; margin-inline:auto; }
 .selection-art .desktop-device>img { aspect-ratio:20/13; }
}
@media (max-width:700px) {
 :root { --slide-size:calc(100vw - 48px); --gap:22px; --frame:0px; }
 body.ps-site { padding:0; }.page-shell { min-height:100vh; }
 .content-wrap { width:calc(100% - 44px); }
 .ps-header { height:84px; gap:14px; }.ps-logo { font-size:24px; gap:7px; }.ps-logo img { width:23px; height:23px; }
 .header-actions>.button { display:none; }.header-help { font-size:15px; gap:6px; }
 .hero { padding:34px 0 35px; }.hero h1 { font-size:39px; line-height:1.14; gap:9px; letter-spacing:-.055em; }
 .hero h1>.serif { font-size:clamp(32px,10vw,40px); line-height:1.1; }
 .hero-description { font-size:17px; margin-top:23px; line-height:1.6; }
 .hero-actions { flex-direction:column; gap:13px; margin-top:25px; }.hero-actions .button { min-height:54px; }
 .hero-assurance { max-width:290px; margin:13px auto 0; font-size:14px; }
 .button { font-size:16px; padding:14px 23px; gap:15px; }
 .showcase-track { padding-top:16px; padding-bottom:25px; }
 .device-composition { display:flex; justify-content:center; padding:0; }
 .desktop-device { display:none; }
 .phone-device { position:relative; width:min(310px,calc(100% - 16px)); bottom:auto; right:auto; padding:4px; border-radius:33px; }
 .phone-screen { border-radius:28px; }.phone-top { height:24px; }.phone-top i { width:58px; top:6px; height:13px; }.phone-home { height:17px; }.phone-home:after { width:58px; top:6px; }
 .slide-caption { flex-direction:column; align-items:flex-start; gap:8px; padding:24px 9px 0; }
 .slide-caption h3 { font-size:24px; }.slide-caption p { font-size:16px; }.example-link { font-size:16px; }
 .showcase-bottom { display:grid; grid-template-columns:1fr 1fr; gap:14px 5px; align-items:center; }
 .carousel-controls { grid-column:1/-1; grid-row:1; justify-content:center; gap:16px; }
 .sample-disclosure { font-size:14px; }.showcase-bottom>.text-link { justify-self:end; font-size:15px; }
 .round-button { width:46px; height:46px; }.dot-button { width:32px; }
 .section { padding-block:62px; }.section h2 { font-size:35px; margin-bottom:30px; }
 .process { padding-top:65px; }.steps { grid-template-columns:1fr; gap:0; }
 .steps article { display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:19px; padding:25px 0; text-align:left; border-top:1px solid var(--line); }
 .steps article+article { border-left:0; }.step-number { grid-column:1; grid-row:1/3; margin:0; }
 .steps h3 { font-size:24px; }.steps p { grid-column:2; font-size:17px; margin:9px 0 0; max-width:none; }
 .included { padding-block:55px; }.included-grid { gap:33px 25px; }.included-grid svg { margin-bottom:15px; }
 .included-grid h3 { font-size:19px; }.included-grid p { font-size:16px; line-height:1.6; }
 .pricing { padding-top:10px; padding-bottom:52px; }.pricing-card { grid-template-columns:1fr; padding:29px 24px; gap:28px; border-radius:18px; }
 .pricing-card h2 { font-size:33px; }.pricing-card h2 .serif { font-size:44px; }
 .price-inclusions { font-size:16px; gap:12px; }
 .price-purchase { border-left:0; border-top:1px solid #d4cfc2; padding:29px 0 0; }
 .price>span:first-child { font-size:93px; }.price-period { font-size:16px; }.purchase-button { margin-top:23px; }
 .scope-note { font-size:14px; margin-top:20px; }.renewal-note { font-size:14px; }
 .faq { padding-top:8px; padding-bottom:60px; gap:25px; }.faq h2 { margin-bottom:10px; }
 .faq-list summary { font-size:17px; padding:22px 0; gap:20px; }.faq-list p { font-size:17px; padding-right:0; }
 .ps-footer { flex-direction:column; gap:24px; padding-block:32px; }.footer-links { align-items:flex-start; gap:8px; }.ps-footer p { font-size:16px; max-width:280px; }
 .footer-links a { font-size:16px; }.footer-links>span { font-size:14px; }
 .landing-hero { padding-bottom:42px; }.landing-example-list { gap:52px; }
 .landing-example { display:flex; flex-direction:column; gap:22px; }
 .landing-example-art { width:100%; }.landing-example .device-composition { padding:0; }
 .landing-example .phone-device { width:min(310px,calc(100% - 16px)); border-radius:33px; }.landing-example .phone-screen { border-radius:28px; }
 .landing-example-info { width:min(310px,calc(100% - 16px)); }.landing-example-info p { font-size:16px; margin-bottom:5px; }.landing-example-info h3 { font-size:28px; margin-bottom:8px; }
 .landing-examples>.sample-disclosure { font-size:14px; text-align:left; padding-inline:9px; }
 .compact-process { padding-top:55px; margin-top:40px; }
 .page-intro { padding:28px 0 40px; }.page-intro h1 { font-size:40px; }.page-intro p { font-size:18px; margin-top:20px; }
 .template-grid { grid-template-columns:1fr; gap:42px; }.template-meta h3 { font-size:26px; }.template-meta { padding-top:20px; }.card-actions { column-gap:25px; }
 .template-image .browser-chrome { height:24px; }.template-image>img { aspect-ratio:1.28; }
 .legacy-collection { margin-top:50px; }.legacy-collection h2 { font-size:35px; }
 .collection-note { font-size:16px; padding-block:32px 42px; }
 .preview-toolbar { flex-wrap:wrap; column-gap:20px; row-gap:8px; padding-block:15px; }.preview-toolbar h1 { order:-1; width:100%; font-size:30px; margin-bottom:6px; }
 .preview-toolbar .text-link { font-size:15px; }.device-controls { margin-top:10px; }
 .device-stage { width:calc(100% - 24px); height:750px; border-radius:9px; }
 .device-stage[data-device=mobile] { width:min(390px,calc(100% - 24px)); }
 .preview-choice { padding-bottom:42px; }
 .selection-main { padding-top:15px; }.back-link { margin-bottom:22px; }
 .selection-layout { gap:32px; }.selection-art .desktop-device { display:block; }
 .selection-copy h1 { font-size:37px; }.selection-copy h1 .serif { font-size:50px; }
 .selection-price strong { font-size:57px; }.selection-copy>.button { width:100%; }
 .selection-end { margin-top:32px; padding-block:25px 40px; flex-direction:column; align-items:flex-start; gap:15px; }
 .selection-end p { font-size:16px; }.selection-paid { font-size:15px; }
 .intake-container { width:calc(100% - 44px); }
 .intake-intro { padding-top:26px; padding-bottom:34px; }.intake-intro h1 { font-size:35px; }.intake-intro h1 .serif { font-size:45px; }.intake-intro p { font-size:17px; }
 .customer-intake { border:0; border-radius:0; background:transparent; padding:5px 0 0; }
 .customer-intake legend { font-size:25px; margin-bottom:22px; }
 .customer-intake fieldset { padding-bottom:30px; }.customer-intake fieldset+fieldset { padding-top:29px; }
 .form-grid.two { grid-template-columns:1fr; }.form-grid { gap:23px; }.form-grid+.form-grid { margin-top:23px; }
 .field { font-size:16px; }.field input,.field textarea,.field select { min-height:52px; font-size:16px; padding:13px; }
 .field-help,.optional { font-size:14px; }.slug-suffix { font-size:14px; }.slug-field input { min-height:52px; }
 .form-details>summary { font-size:18px; flex-wrap:wrap; gap:2px 7px; }.details-plus { margin-left:auto; }
 .form-details .optional { font-size:14px; }.upload-field input { font-size:14px; }
 .check-field { font-size:16px; gap:12px; }.intake-submit { align-items:stretch; }.intake-submit p { font-size:15px; text-align:center; }
 .intake-help { padding-bottom:38px; }
 .thanks-page { padding:50px 0 74px; }.thanks-page h1 { font-size:42px; }.thanks-page h1 .serif { font-size:48px; }.thanks-page p { font-size:18px; }
}
@media (max-width:365px) {
 .content-wrap,.intake-container { width:calc(100% - 40px); }
 .hero h1 { font-size:33px; }.hero h1>.serif { font-size:32px; }
 .included-grid { grid-template-columns:1fr; gap:28px; }.included-grid article { display:grid; grid-template-columns:30px 1fr; gap:6px 17px; }.included-grid svg { grid-row:1/3; margin:2px 0 0; }.included-grid h3 { font-size:20px; margin:0; }.included-grid p { grid-column:2; }
 .pricing-card { padding-inline:20px; }.pricing-card h2 { font-size:30px; }.pricing-card h2 .serif { font-size:39px; }
 .showcase-bottom { grid-template-columns:1fr; gap:12px; text-align:center; }.showcase-bottom>.text-link { justify-self:center; }
 .intake-intro h1 .serif { font-size:40px; }.preview-toolbar .text-link { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
@media print {
 body.ps-site { padding:0; }.ps-header,.hero-actions,.carousel-controls,.phone-device,.button,.mobile-nav { display:none; }
 .desktop-device { display:block; }.showcase-viewport { overflow:visible; }.showcase-track { display:block; width:auto; padding:0; }.showcase-slide { width:100%; break-inside:avoid; padding:20px; }.showcase .device-composition { opacity:1; transform:none; padding:0; }
 .section { padding-block:30px; }.pricing-card { break-inside:avoid; }
}
/* v0.7: inclusive, information-only offer and one clear payment overview. */
.hero h1 { gap:0; }
.hero-timing { color:var(--muted); font-size:15px; margin:9px auto 0; }
.use-cases { border-top:1px solid var(--line); padding-block:65px; }
.uses-intro { text-align:center; margin-bottom:38px; }
.uses-intro h2 { margin-bottom:14px; }
.uses-intro p { color:var(--muted); font-size:18px; }
.use-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 38px; }
.use-grid article { padding:22px 0 0; border-top:1px solid var(--line); }
.use-grid h3 { font-size:22px; margin-bottom:10px; }
.use-grid p { font-size:16px; color:var(--muted); }
.landing-example-info .text-link { display:flex; width:fit-content; }
.order-main { max-width:1100px; }
.order-intro { padding:40px 0 45px; }
.order-intro h1 { font-size:49px; }
.order-intro h1 .serif { font-size:1.25em; }
.order-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:64px; align-items:start; }
.order-details { min-width:0; padding-top:10px; }
.order-details h2 { font-size:29px; margin-bottom:26px; }
.order-inclusions { list-style:none; margin:0; padding:0; display:grid; gap:18px; }
.order-inclusions li { display:flex; gap:14px; align-items:flex-start; font-size:17px; }
.order-inclusions svg { color:var(--sage); margin-top:4px; }
.order-address { font-size:17px; font-weight:500; overflow-wrap:anywhere; }
.scope-panel { border-top:1px solid var(--line); margin-top:30px; padding-top:24px; }
.scope-panel h3 { font-size:22px; margin-bottom:12px; }
.scope-panel p { font-size:16px; color:var(--muted); }
.scope-panel p+p { margin-top:12px; }
.order-card { min-width:0; padding:33px; border:1px solid #d7d1c4; border-radius:20px; background:var(--panel); }
.order-service { font-size:18px; font-weight:500; }
.order-card .price { margin:17px 0 14px; }
.order-card .price>span:first-child { font-size:92px; }
.order-card>p:not(.price):not(.order-service) { color:var(--muted); font-size:15px; }
.order-design-label { margin-top:25px; }
.order-card>.text-link { margin-top:7px; }
.order-pay { margin-top:22px; }
.order-pay .button { width:100%; }
.order-safe { text-align:center; margin:12px 0 8px; }
.order-intake-link { font-size:15px; line-height:1.5; }
.after-payment { margin-top:60px; padding:48px 0; border-top:1px solid var(--line); }
.after-payment h2 { font-size:36px; margin-bottom:30px; }
.after-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.after-steps h3 { font-size:23px; margin-bottom:13px; }
.after-steps p { font-size:16px; color:var(--muted); line-height:1.65; }
.after-steps p+p { margin-top:12px; }
.after-steps .text-link { font-size:16px; margin-top:8px; }
.after-steps .step-number { margin-bottom:17px; }
.order-help { margin-bottom:56px; padding-top:26px; border-top:1px solid var(--line); color:var(--muted); font-size:16px; }
.order-help a { text-decoration:underline; text-underline-offset:4px; }
.slug-prefix { display:flex; align-items:center; border:1px solid #c9cdc2; border-right:0; background:#f4f2eb; border-radius:9px 0 0 9px; padding:0 8px; font-size:14px; font-weight:400; color:var(--muted); }
.slug-field input { border-radius:0; padding-inline:8px; }
.slug-field .slug-suffix { padding-inline:8px; }
@media(max-width:960px) {
 .order-grid { gap:35px; }.order-card { padding:28px; }
 .after-steps { grid-template-columns:1fr; gap:28px; }
 .after-steps article { display:grid; grid-template-columns:42px minmax(0,1fr); gap:20px; }
 .after-steps article+article { border-top:1px solid var(--line); padding-top:26px; }
}
@media(max-width:700px) {
 .hero h1 { font-size:51px; gap:0; }.hero h1>.serif { font-size:51px; }
 .hero-timing { font-size:14px; max-width:280px; }
 .use-cases { padding-block:50px; }.uses-intro { text-align:left; margin-bottom:28px; }
 .uses-intro h2 { margin-bottom:14px; }.uses-intro p { font-size:17px; }
 .use-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px; }
 .use-grid h3 { font-size:20px; }.use-grid p { font-size:16px; }
 .order-intro { padding:28px 0 35px; }.order-intro h1 { font-size:38px; }
 .order-intro h1 .serif { font-size:45px; }
 .order-grid { grid-template-columns:1fr; gap:30px; }.order-card { padding:27px 24px; }
 .order-details h2 { font-size:27px; }.order-inclusions { gap:17px; }
 .order-inclusions li,.order-address { font-size:16px; }
 .after-payment { margin-top:40px; padding:34px 0; }
 .after-payment h2 { font-size:32px; }.after-steps h3 { font-size:23px; }
 .order-help { margin-bottom:38px; }
 .intake-intro h1 .serif { font-size:43px; }
}
@media(max-width:365px) {
 .hero h1,.hero h1>.serif { font-size:45px; }
 .use-grid { grid-template-columns:1fr; }
 .order-card { padding-inline:20px; }.order-card .price>span:first-child { font-size:84px; }
 .order-intro h1 { font-size:34px; }.order-intro h1 .serif { font-size:40px; }
 .intake-intro h1 { font-size:32px; }.intake-intro h1 .serif { font-size:39px; }
 .slug-prefix,.slug-field .slug-suffix { padding-inline:6px; }
}

/* v0.8: larger gallery with eight genuine designs. */
.use-example{margin-top:12px;font-size:15px!important}.all-designs-link{text-align:center;margin:28px 0 0}.template-meta h3{overflow-wrap:break-word}.carousel-dots{flex-shrink:1;flex-wrap:wrap;justify-content:center}.carousel-controls{max-width:100%}.template-image img{object-position:top}
@media(max-width:420px){.carousel-controls{gap:4px}.dot-button{width:25px}.round-button{width:40px;height:40px;flex-shrink:0}.showcase-bottom{gap:14px;flex-wrap:wrap}.use-example{font-size:14px!important}}

/* v1.1: requested homepage caption clearance, headline fit and step price. */
#examples.showcase .showcase-slide > .slide-caption {
 opacity:.55;
 transition:opacity .2s;
}
#examples.showcase:not(.is-ready) .showcase-slide:first-child > .slide-caption,
#examples.showcase .showcase-slide.is-current > .slide-caption { opacity:1; }
#how-it-works .steps .step-price {
 display:block;
 margin-top:8px;
 color:var(--ink);
 font-weight:600;
}
@media (max-width:700px) {
 .hero h1.presence-heading > .serif { font-size:clamp(35px,9vw,51px); }
}
@media (prefers-reduced-motion:reduce) {
 #examples.showcase .showcase-slide > .slide-caption { transition:none; }
}
