/* v3.0 families with a restrained scale for reading, forms and prices. */
.v3-inner{font-size:16px;line-height:1.75}
.v3-home header.nav:not(.scrolled){background:transparent;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.v3-inner h2{font-size:32px;line-height:1.25;margin-bottom:20px}
.v3-inner h3{font-size:25px;line-height:1.3;margin-bottom:16px}
.v3-inner p,.v3-inner li{font-size:15px;line-height:1.85}
.v3-inner .small,.v3-inner .notice{font-size:13px;line-height:1.8}
.v3-inner .page-head h1{font-size:44px;line-height:1.18;max-width:850px;margin:0 auto 20px}
.v3-inner .page-head p{font-size:15px;line-height:1.8;max-width:670px}
.v3-inner .page-head .eyebrow,.v3-inner .eyebrow{font-size:10px;line-height:1.7}
.page-contact .page-head h1,.page-services .page-head h1,.page-brief .page-head h1{font-size:42px}
.page-contact .contact-grid{gap:40px 56px;padding-bottom:65px}
.page-contact .contact-route h3{font-size:27px;line-height:1.25}
.page-contact .contact-route p{font-size:15px;line-height:1.8;max-width:49ch}
.page-services .section h2{font-size:32px;line-height:1.25}
.page-services .section h3{font-size:25px}
.page-services .package h3{font-size:26px}
.page-services .price{font-size:32px;line-height:1.3;margin-bottom:20px}
.page-services .package p,.page-services .package li{font-size:14px;line-height:1.8}
.page-services .package .small{font-size:12px}
.page-services .package .button{font-size:10px;letter-spacing:1px}
.page-services .package.featured .button{color:white}
.page-brief .form-panel h2{font-size:29px;line-height:1.25;margin-bottom:12px}
.page-brief .form-panel h3{font-size:23px!important;line-height:1.3}
.page-brief .form-panel p{font-size:14px;line-height:1.8}
.page-brief .field label,.page-brief .field legend{font-size:13px;line-height:1.6;font-weight:500}
.page-brief .field input,.page-brief .field textarea,.page-brief .field select{font-size:16px;line-height:1.5}
.page-brief .checklist label{font-size:13px;line-height:1.65}
.page-brief .steps button{font-size:12px;line-height:1.65}
.page-brief .save-tools,.page-brief .save-tools p,.page-brief .save-tools label{font-size:12px;line-height:1.7}
.page-brief .save-tools .button{font-size:10px;letter-spacing:.7px}
.page-brief .brief-shell aside .save-tools{display:grid;gap:.5rem}
.page-brief .brief-shell aside .save-tools .button{margin:0;width:100%;text-align:center}
.page-brief .brief-shell aside .save-tools > a{justify-self:start;margin-top:.25rem}
.page-brief .field select:has(option[value=""]:checked),
.page-brief .field select option[value=""]{color:#746a62}
.page-brief .field select option:not([value=""]){color:var(--ink)}
.brief-handoff-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}
.brief-email-instructions strong{overflow-wrap:anywhere}
.v3-inner .prose h2{font-size:29px;margin-top:38px;margin-bottom:15px}
.v3-inner .prose p{font-size:16px;line-height:1.9}
.v3-inner .prose .small{font-size:12px}
.note-categories{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 auto 58px;max-width:1100px}
.note-categories a{display:block;padding:10px 15px;border:1px solid var(--line);text-decoration:none;font:12px/1.5 var(--sans);color:var(--muted);letter-spacing:.3px}
.note-categories a:hover{border-color:var(--clay);color:var(--clay)}
.from-the-desk .note-categories{margin-top:35px;margin-bottom:0}
.note-category{scroll-margin-top:130px;margin:0 auto 65px;max-width:1100px}
.note-category .section-header{margin:0 0 25px;align-items:center}
.v3-inner .note-category .section-header h2{font:500 12px/1.6 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0}
.category-count{font:11px/1.6 var(--sans);color:var(--muted);white-space:nowrap}
.note-category .notes-grid{margin-bottom:0}
.v3-inner .desk-card .card-title{font-size:24px;line-height:1.3;margin:0}
.v3-inner .desk-card .card-excerpt{font-size:14px;line-height:1.7}
.note-card-image{width:100%;height:190px;object-fit:cover;margin-bottom:12px}
.article-image{margin:0 0 35px}.article-image img{width:100%;max-height:550px;object-fit:contain}
.article-image figcaption{font:12px/1.7 var(--sans);color:var(--muted);margin-top:12px}
.editorial-note{max-width:800px;margin:0 auto 65px;color:var(--muted)}
/* Continuous right-to-left movement, as in v3.0, controlled by the carousel script. */
.slideshow-track{animation:none!important;transition:none!important;transform:translateX(0);width:100%;height:100%}
.slideshow-track>.slide{width:100%;min-width:100%;height:100%;flex:0 0 100%}
.slideshow-track .slide img{width:100%;height:100%;object-fit:cover}
@media(max-width:768px){
 .v3-inner .page-head h1,.page-contact .page-head h1,.page-services .page-head h1,.page-brief .page-head h1{font-size:32px;line-height:1.2}
 .v3-inner .page-head{padding:38px 0}
 .v3-inner h2,.page-services .section h2{font-size:28px}
 .v3-inner h3,.page-services .section h3,.page-contact .contact-route h3{font-size:24px}
 .page-services .price{font-size:30px}
 .page-brief .form-panel h2{font-size:26px}
 .v3-inner .prose h2{font-size:27px}
 .v3-inner .prose p{font-size:15px}
 .note-categories{gap:8px;margin-bottom:40px;justify-content:flex-start}
 .note-categories a{font-size:11px;padding:9px 12px}
 .note-category{margin-bottom:45px;scroll-margin-top:100px}
 .v3-inner .note-category .section-header h2{font-size:11px;letter-spacing:1px}
 .page-contact .contact-grid{gap:32px}
}

.services-page { max-width: 67rem; }
.services-page .section { padding-block: clamp(2rem, 5vw, 4rem); }
.service-starter {
 display: grid;
 grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
 gap: clamp(2rem, 6vw, 5rem);
 align-items: start;
}
.service-starter h2, .service-packages h2, .service-other h2 { margin-top: 0; }
.service-price {
 color: #101010;
 font-family: "DM Sans", Arial, sans-serif;
 font-size: clamp(1.9rem, 3vw, 2.5rem);
 font-weight: 700;
 font-variant-numeric: tabular-nums;
 margin-block: 0 1rem;
}
.service-example { margin: .3rem 0 0; }
.service-example img { display: block; width: 100%; height: auto; }
.service-example figcaption { margin-top: .65rem; font-size: .85rem; line-height: 1.6; }
.services-page .page-head, .services-page .section h2 { text-align: center; }
.services-page .section h3 { text-align: left; margin-block: 1.65rem .65rem; }
.services-page .section h2 { margin-bottom: 1.4rem; }
.service-starter { row-gap: 1.4rem; }
.service-starter > h2 { grid-column: 1 / -1; margin-bottom: 0; }
.service-starter p, .service-packages p, .service-other p { line-height: 1.75; }
.service-starter p + p, .service-packages p + p, .service-other p + p { margin-top: 1.25em; }
.service-other > :not(h2), .service-packages > :not(h2) {
 max-width: 65ch;
 margin-inline: auto;
}
.service-other > .text-link { display: block; }
.services-page .section ul { padding-inline-start: 1.25rem; margin-block: .5rem 1.35rem; }
.service-starter p { margin-bottom: 1.15rem; }
.service-details { margin-top: 1.25rem; font-size: .9rem; }
.service-details summary { cursor: pointer; width: fit-content; }
.service-details p { margin-top: .5rem; }
@media (max-width: 740px) {
 .service-starter { grid-template-columns: minmax(0, 1fr); }
}

.service-inline-amount { color: #101010; font-family: "DM Sans", Arial, sans-serif; font-weight: 700; }
.service-packages { text-align: center; }
.service-packages .service-package-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 1rem;
 max-width: none;
 margin-block: 2rem 2.5rem;
}
.service-package-card {
 position: relative;
 padding: 2.65rem 1.15rem 1.5rem;
 border: 1px solid var(--line);
 border-radius: .25rem;
}
.service-package-preferred { border-color: var(--clay, #824c36); background: #eee4d9; }
.service-package-card .service-package-badge {
 position: absolute;
 top: .7rem;
 inset-inline: .4rem;
 margin: 0;
 color: #694231;
 font-size: .8rem;
 font-weight: 700;
}
.services-page .service-packages h3 { text-align: center; }
.service-package-card h3 { margin-top: 0; }
.service-package-card .service-price { margin: .3rem 0 .35rem; }
.service-package-card .small { margin-top: 0; }
.service-package-card p:last-child { margin-bottom: 0; }
.service-packages ul { list-style: none; padding-inline-start: 0; }
.service-packages li + li { margin-top: .4rem; }
.service-packages .actions { justify-content: center; }
.service-packages .service-details summary { margin-inline: auto; }
@media (max-width: 740px) {
 .service-packages .service-package-grid { grid-template-columns: minmax(0, 1fr); max-width: 30rem; }
}

.services-page .service-inclusions {
 display: grid;
 gap: .55rem;
 text-align: left;
 padding-inline-start: 0;
}
.service-inclusions li {
 display: grid;
 grid-template-columns: 1.15rem minmax(0, 1fr);
 gap: .55rem;
}
.service-packages .service-inclusions li + li { margin-top: 0; }
.service-inclusions li::before { content: "✓" / ""; color: var(--clay, #824c36); }

.service-starter { grid-template-columns: minmax(0, 1fr); }
.service-starter > div { width: 100%; max-width: 65ch; margin-inline: auto; }
.service-starter .service-example { width: min(100%, 38rem); margin: 0 auto .75rem; text-align: center; }
.service-starter .service-price { text-align: center; }
.service-packages > .service-inclusions-block {
 max-width: 54ch;
 margin: 0 auto 1.5rem;
 padding: 1.4rem clamp(1rem, 4vw, 2rem);
 border-block-end: 1px solid var(--line);
 text-align: left;
}
.services-page .service-inclusions-block h3 { margin: 0 0 .65rem; text-align: left; }
.service-inclusions-block p { margin: 0 0 1rem; }
.services-page .service-inclusions { margin: 0; padding-inline-start: .65rem; }
.service-package-card { display: flex; flex-direction: column; align-items: center; }
.service-package-card > .text-link { margin-top: auto; padding-top: .75rem; }
