@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#243c3b;--muted:#5c6866;--paper:#fcfaf6;--cream:#f1ede4;--teal:#1b514e;--teal-dark:#153c39;--gold:#a77331;--line:#d8ddd7;--white:#fff;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}body.modal-open{overflow:hidden}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,h3,.serif{font-family:var(--serif);line-height:1.04}h1{font-size:clamp(3.2rem,5.9vw,6rem);letter-spacing:-.035em}h2{font-size:clamp(2.6rem,4.2vw,4.25rem);letter-spacing:-.025em}h3{font-size:2rem}p+p{margin-top:1rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd842d;outline-offset:5px}::selection{background:#d7e8dc}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}.announcement{padding:8px 24px;text-align:center;background:var(--teal);color:#fff;font-size:13px;letter-spacing:.065em}.header{position:sticky;top:0;z-index:30;background:rgba(252,250,246,.98);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:97px;gap:32px}.brand{text-decoration:none;line-height:1.12;display:block;flex-shrink:0}.brand-name{font:32px var(--serif);letter-spacing:-1px}.brand-name span{color:var(--gold);font-style:italic;padding:0 2px}.brand-small{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.3em;margin-top:5px}.nav{display:flex;align-items:center;gap:27px}.nav>a,.nav summary{font-size:14px;font-weight:550;text-decoration:none;padding-block:10px;white-space:nowrap}.nav>a:hover,.nav summary:hover,.nav [aria-current=page]{color:var(--gold)}.nav .button{color:white;font-size:14px;padding:12px 20px}.nav details{position:relative}.nav summary{cursor:pointer;list-style:none}.nav summary::-webkit-details-marker{display:none}.nav summary::after{content:'⌄';margin-left:7px}.nav-drop{position:absolute;top:45px;left:-24px;min-width:240px;padding:13px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 25px #183c3914}.nav-drop a{display:block;text-decoration:none;font-size:14px;padding:7px 11px}.nav-drop a:hover{background:var(--cream)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;background:var(--teal);color:#fff;padding:15px 25px;border:1px solid var(--teal);font-weight:550;font-size:15px;line-height:1.4;min-height:50px;transition:background .2s,transform .2s}.button:hover{background:var(--teal-dark);transform:translateY(-1px)}.button.light{background:var(--paper);border-color:var(--paper);color:var(--teal)}.button.outline{background:transparent;color:var(--teal);border-color:var(--teal)}.button.outline:hover{background:#e5ebe5}.text-link{font-size:15px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}.text-link span{margin-left:18px}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.19em;text-transform:uppercase;color:var(--teal);margin-bottom:22px}.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:75px;align-items:center;padding-block:70px 88px}.hero-copy{padding-bottom:20px}.hero h1 em{color:var(--teal);font-weight:400}.hero-copy>p:not(.eyebrow){font-size:18px;color:var(--muted);max-width:460px;margin-top:25px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:32px}.hero-note{font-size:13px;letter-spacing:.025em;display:flex;align-items:center;gap:12px;margin-top:35px;color:var(--muted)}.hero-note::before{content:'';width:28px;height:1px;background:var(--gold)}.hero-art{position:relative;margin:0 0 0 12px;padding:0 0 42px 0}.hero-image{width:100%;height:565px;object-fit:cover;object-position:center;border-radius:160px 0 0 0}.detail-image{position:absolute;bottom:0;left:-42px;width:190px;height:210px;object-fit:cover;border:8px solid var(--paper)}.hero-caption{position:absolute;bottom:1px;right:0;font-size:12px;color:var(--muted);text-align:right;max-width:210px}.craft-strip{background:var(--cream);border-top:1px solid #e2dfd6;border-bottom:1px solid #e2dfd6}.craft-strip .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:22px;font-size:13px;font-weight:550;letter-spacing:.03em}.craft-strip span+span::before{content:'✧';margin-right:35px;color:var(--gold)}.section{padding-block:94px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-head h2{max-width:600px}.section-head .eyebrow{margin-bottom:14px}.section-intro{max-width:490px;color:var(--muted);margin-top:20px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:33px 28px 34px 0}.service-card+.service-card{padding-left:28px;border-left:1px solid var(--line)}.service-num{font-size:12px;color:var(--gold);letter-spacing:.1em;display:block;margin-bottom:28px}.service-card h3{font-size:30px;margin-bottom:16px;line-height:1.08}.service-card p{font-size:14px;color:var(--muted);line-height:1.75}.service-card .price{display:block;font-size:14px;font-weight:600;margin-top:22px;color:var(--teal)}.section-quiet{background:var(--cream)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{margin:0}.feature img{height:360px;width:100%;object-fit:cover}.feature figcaption{padding-top:17px;display:flex;justify-content:space-between;gap:12px;font-size:14px}.feature figcaption span{font-size:12px;color:var(--muted)}.story-preview{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.story-preview img{width:100%;height:490px;object-fit:cover;object-position:50% 35%}.story-preview h2{margin-bottom:25px}.story-preview p:not(.eyebrow){color:var(--muted)}.story-preview .text-link{display:inline-block;margin-top:25px}.cta-band{background:var(--teal);color:white;padding:63px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band h2{font-size:clamp(2.5rem,4vw,4rem)}.cta-band p{color:#d7e3da;margin-top:13px}.footer{padding:61px 0 25px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:55px}.footer p{font-size:14px;color:var(--muted);margin-top:18px}.footer h3{font:600 13px var(--sans);text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px}.footer a:not(.brand){display:block;font-size:14px;text-decoration:none;margin-top:6px}.footer a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:47px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.page-heading{padding-block:65px 42px}.page-heading h1{font-size:clamp(3.4rem,5vw,5rem)}.page-heading p:not(.eyebrow){color:var(--muted);max-width:650px;margin-top:20px;font-size:17px}.page-heading .eyebrow{margin-bottom:15px}.catalog-section{padding-bottom:90px}.filters{display:flex;align-items:end;justify-content:space-between;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:24px;margin-bottom:32px}.filter-field{max-width:420px;flex:1}.filter-field label{font-weight:600;font-size:14px;display:block;margin-bottom:8px}select,input,textarea{width:100%;min-height:48px;border:1px solid #a7b6ac;background:white;color:var(--ink);padding:10px 13px;border-radius:0}.result-count{font-size:14px;color:var(--muted);padding-bottom:10px}.design-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.design-card{background:white;border:1px solid var(--line);padding:0;text-align:left;color:var(--ink);transition:box-shadow .2s,border-color .2s}.design-card:hover{border-color:var(--teal);box-shadow:0 7px 20px #1b514e0c}.design-card img{width:100%;height:216px;object-fit:contain;padding:15px}.design-card .card-copy{display:block;padding:17px 18px;border-top:1px solid #eee}.card-copy strong{display:block;font-size:15px;line-height:1.5;font-weight:550}.card-copy small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.gallery-grid{columns:3;column-gap:24px}.gallery-card{display:block;width:100%;break-inside:avoid;margin:0 0 24px;background:#fff;padding:0;text-align:left;border:1px solid var(--line);color:var(--ink)}.gallery-card:hover{border-color:var(--teal)}.gallery-card img{width:100%;max-height:500px;object-fit:cover}.gallery-card .card-copy{display:block;padding:16px 19px}.filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filter-chips button{padding:10px 17px;border:1px solid var(--line);background:transparent;font-size:14px;color:var(--ink)}.filter-chips button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}.gallery-description{max-width:760px;color:var(--muted);margin-bottom:24px}.dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:1000px;width:calc(100% - 48px);max-height:92dvh;box-shadow:0 25px 90px #0006}.dialog::backdrop{background:#122623cb}.dialog-content{display:grid;grid-template-columns:1.45fr 1fr;min-height:450px}.dialog-image-wrap{background:#fff;display:flex;align-items:center;justify-content:center;padding:20px}.dialog img{width:100%;max-height:80dvh;object-fit:contain}.dialog-info{padding:65px 35px 40px;display:flex;flex-direction:column;justify-content:center}.dialog-info h2{font-size:37px;margin-bottom:18px}.dialog-info p{color:var(--muted);font-size:15px}.dialog-info .button{margin-top:30px}.dialog-close{position:absolute;top:12px;right:12px;width:40px;height:40px;background:var(--paper);border:1px solid var(--line);font-size:26px;color:var(--ink);z-index:1}.dialog-controls{display:flex;gap:10px;margin-top:22px}.dialog-controls button{border:1px solid var(--line);background:var(--paper);padding:7px 13px;color:var(--ink)}.empty{padding:50px;text-align:center;border:1px solid var(--line);grid-column:1/-1}.prose{font-size:17px;color:var(--muted)}.prose h2{color:var(--ink);margin-block:38px 20px}.about-top{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;padding-bottom:70px}.about-top>img{width:100%;height:610px;object-fit:cover;object-position:40% center}.about-top h1{font-size:clamp(3.5rem,5vw,5rem);margin-bottom:26px}.family-row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.family-row img{width:100%;max-height:520px;object-fit:cover}.service-rows{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:.25fr 1fr 1.4fr;gap:25px;padding-block:33px;border-bottom:1px solid var(--line)}.service-row .service-num{margin:4px 0}.service-row h2{font-size:36px}.service-row p{color:var(--muted);font-size:16px}.service-row strong{display:block;margin-top:15px;font-size:15px;font-weight:600;color:var(--teal)}.small-note{font-size:13px;color:var(--muted);margin-top:22px}.intake-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;padding-bottom:90px}.intake-card{padding:42px;background:var(--teal);color:white}.intake-card .eyebrow{color:#d6c794}.intake-card h2{font-size:45px}.intake-card p{color:#dce8df;margin-top:20px}.intake-card .button{margin-top:28px}.intake-card .small-note{font-size:13px}.contact-info{padding-top:15px}.contact-info h2{font-size:38px;margin-bottom:25px}.contact-line{padding-block:20px;border-bottom:1px solid var(--line)}.contact-line span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.contact-line a{font-size:20px;text-decoration:none;overflow-wrap:anywhere}.contact-line p{font-size:16px}.inquiry{max-width:850px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.form-field.full{grid-column:1/-1}.form-field textarea{min-height:130px;resize:vertical}.inquiry .button{margin-top:22px}.inquiry h2{font-size:44px;margin-bottom:20px}.inquiry>p{margin-bottom:25px;color:var(--muted)}[hidden]{display:none!important}
.design-card,.gallery-card{text-decoration:none}.service-row .text-link{display:inline-block;margin-top:16px}.contact-line .direct-email{font-size:15px}.gallery-grid .card-copy small{font-size:12px}
@media(min-width:1450px){.hero{padding-top:85px}.hero-image{height:610px}}
@media(max-width:1120px){.wrap{width:calc(100% - 56px)}.nav{gap:18px}.brand-name{font-size:28px}.hero{gap:40px}.hero-image{height:510px}.hero h1{font-size:5.7vw}.craft-strip span+span::before{margin-right:15px}.story-preview{gap:45px}.design-grid{grid-template-columns:repeat(3,1fr)}.service-card{padding-right:18px}.service-card+.service-card{padding-left:18px}}
@media(max-width:900px){.nav-wrap{min-height:84px;position:relative}.menu-toggle{display:block}.nav{display:none;position:absolute;left:-28px;right:-28px;top:84px;background:var(--paper);padding:20px 28px 28px;border-bottom:1px solid var(--line);align-items:stretch;gap:5px;max-height:calc(100dvh - 100px);overflow:auto}.nav.open{display:flex;flex-direction:column}.nav>a,.nav summary{font-size:16px;padding-block:10px}.nav-drop{position:static;box-shadow:none;border:0;padding:4px 0 5px 14px}.nav .button{margin-top:10px}.hero{gap:40px;padding-block:50px 65px}.hero-image{height:440px}.hero h1{font-size:3.9rem}.hero-copy>p:not(.eyebrow){font-size:16px}.detail-image{width:140px;height:170px;left:-20px}.hero-caption{max-width:145px}.hero-actions{gap:18px}.craft-strip .wrap{flex-wrap:wrap;justify-content:center}.craft-strip span+span::before{content:none}.craft-strip span{width:calc(50% - 10px);text-align:center}.services-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(3){border-left:0;padding-left:0}.service-card:nth-child(n+3){border-top:1px solid var(--line)}.feature img{height:270px}.feature figcaption{display:block}.feature figcaption span{display:block;margin-top:5px}.story-preview{gap:35px}.story-preview img{height:440px}.footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:28px}.about-top{gap:40px}.about-top>img{height:500px}.intake-layout{gap:35px}.intake-card{padding:30px}.service-row{grid-template-columns:.15fr 1fr 1.2fr}.gallery-grid{columns:2}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.announcement{font-size:11px;padding:8px 12px;letter-spacing:.03em}.brand-name{font-size:28px}.brand-small{font-size:10px}.nav{left:-18px;right:-18px;padding-inline:18px}.hero{display:flex;flex-direction:column;gap:36px;padding-top:40px}.hero-copy{padding-bottom:0;width:100%}.hero h1{font-size:clamp(3.4rem,11vw,4.2rem);max-width:500px}.hero-copy>p:not(.eyebrow){font-size:17px;max-width:450px}.eyebrow{font-size:11px;margin-bottom:18px}.hero-actions{margin-top:25px}.hero-note{margin-top:25px}.hero-art{margin-left:15px;width:calc(100% - 15px);padding-bottom:40px}.hero-image{height:410px;border-radius:120px 0 0 0}.detail-image{height:170px;width:140px;left:-15px}.hero-caption{max-width:190px}.craft-strip .wrap{font-size:12px;padding-block:17px;gap:10px}.section{padding-block:60px}.section-head{display:block;margin-bottom:30px}.section-head>.text-link{display:inline-block;margin-top:22px}.services-grid{gap:0}.service-card,.service-card+.service-card{padding:25px 13px}.service-card:nth-child(odd){padding-left:0}.service-card h3{font-size:26px}.service-card p{font-size:14px}.service-card .price{font-size:13px}.service-num{margin-bottom:20px}.feature-grid{grid-template-columns:1fr;gap:30px}.feature img{height:390px}.feature figcaption{display:flex}.feature figcaption span{margin:0}.story-preview,.family-row,.about-top,.intake-layout{grid-template-columns:1fr;gap:35px}.story-preview img{height:420px}.story-preview h2{font-size:45px}.cta-band{padding-block:46px}.cta-band .wrap{display:block}.cta-band .button{margin-top:25px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 25px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}.page-heading{padding-block:42px 30px}.page-heading h1{font-size:3.65rem}.page-heading p:not(.eyebrow){font-size:16px}.filters{display:block}.result-count{margin-top:15px;padding:0}.design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.design-card img{height:175px;padding:7px}.design-card .card-copy{padding:12px}.card-copy strong{font-size:14px}.card-copy small{font-size:12px}.gallery-grid{column-gap:14px}.gallery-card{margin-bottom:14px}.gallery-card .card-copy{padding:12px}.gallery-card img{max-height:340px}.filter-chips{gap:8px}.filter-chips button{font-size:13px;padding:9px 11px}.dialog{width:calc(100% - 24px);max-height:94dvh}.dialog-content{display:block;min-height:0}.dialog-image-wrap{padding:12px}.dialog img{max-height:55dvh}.dialog-info{padding:24px}.dialog-info h2{font-size:32px;margin-bottom:10px}.dialog-info .button{margin-top:20px}.dialog-close{top:8px;right:8px}.about-top{padding-bottom:55px}.about-top>img{height:430px}.about-top h1{font-size:3.7rem}.service-row{grid-template-columns:30px 1fr;gap:12px;padding-block:28px}.service-row>div{grid-column:2}.service-row h2{font-size:32px}.intake-layout{padding-bottom:55px}.intake-card{padding:30px 25px}.intake-card h2{font-size:39px}.form-grid{grid-template-columns:1fr}.footer a:not(.brand){overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Client portal and subscriber signup */
.quilt-signup{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-block:65px;border-top:1px solid var(--line)}.quilt-signup h2{font-size:48px;margin-bottom:18px}.quilt-signup form{display:grid;gap:13px}.quilt-signup label{display:grid;font-size:13px;gap:5px}.quilt-signup input:not([type=checkbox]){border:1px solid var(--line);background:white;border-radius:3px;padding:10px;width:100%}.quilt-signup .quilt-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px}.quilt-signup .quilt-consent input{margin-top:5px}.quilt-signup small,.quilt-signup [role=status]{font-size:12px;color:var(--muted)}.quilt-signup .quilt-honey{position:absolute;left:-10000px}.client-portal-link{font-size:12px;margin-left:15px}@media(max-width:650px){.quilt-signup{grid-template-columns:1fr;gap:25px;padding-block:40px}.quilt-signup h2{font-size:38px}}

