:root{--ink:#243028;--paper:#f6f0e5;--cream:#eee2d0;--coral:#df6f51;--peach:#f0a37e;--blue:#304d72;--yellow:#edb84c;--sage:#758575;--line:rgba(36,48,40,.2);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:100;top:-5rem;left:1rem;padding:.7rem 1rem;background:#fff}.skip-link:focus{top:1rem}.site-header{position:absolute;z-index:10;top:0;left:50%;display:flex;width:min(92%,var(--max));height:92px;transform:translateX(-50%);align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}.brand{display:grid;grid-template-columns:auto auto;column-gap:.6rem;align-items:center;text-decoration:none}.brand-spark{grid-row:1/3;color:var(--yellow);font-size:1.45rem}.brand-name{font:600 1.5rem/1 "Fraunces",serif;letter-spacing:-.03em}.brand-note{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.site-header nav a:hover{color:var(--yellow)}.shop-link{padding:.65rem 1rem;color:var(--ink)!important;background:var(--yellow);border-radius:3rem}.menu-button{display:none}.hero{position:relative;min-height:810px;overflow:hidden;color:#fff;background:#332a22}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(27,35,29,.86) 0%,rgba(27,35,29,.56) 38%,rgba(27,35,29,.08) 70%),linear-gradient(0deg,rgba(20,20,15,.28),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(92%,var(--max));margin:auto;padding-top:230px}.eyebrow{margin:0 0 1.2rem;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero h1,.section h2,.collection h2,.shop-callout h2,.contact h2{margin:0;font:500 clamp(3.7rem,7vw,7rem)/.93 "Fraunces",serif;letter-spacing:-.055em}.hero h1 em,.collection h2 em,.contact h2 em{font-weight:500;color:var(--yellow)}.hero-content>p:not(.eyebrow){max-width:580px;margin:1.8rem 0 0;color:rgba(255,255,255,.82);font-size:1.08rem}.hero-actions{display:flex;margin-top:2.3rem;align-items:center;gap:2rem}.button{display:inline-flex;padding:.85rem 1.15rem;align-items:center;gap:1.3rem;border:1px solid currentColor;border-radius:3rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.button-light{color:var(--ink);background:var(--paper);border-color:var(--paper)}.button-dark{color:#fff;background:var(--ink);border-color:var(--ink)}.text-link{font-size:.78rem;font-weight:700;text-decoration:none;text-transform:uppercase}.text-link span{margin-left:.5rem}.hero-side-note{position:absolute;z-index:2;right:2.5%;bottom:4rem;margin:0;writing-mode:vertical-rl;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase}.ticker{overflow:hidden;padding:1rem 0;color:var(--ink);background:var(--yellow);font:600 .76rem "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.ticker div{display:flex;min-width:max-content;justify-content:space-around;gap:2rem}.ticker i{font-style:normal}.section{padding:8rem max(4%,calc((100vw - var(--max))/2))}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:8rem}.eyebrow.dark{color:var(--coral)}.intro h2,.process h2,.maker h2{font-size:clamp(3rem,5.2vw,5.5rem)}.intro-copy{padding-top:3rem}.intro-copy .lead{margin-top:0;font:500 1.4rem/1.45 "Fraunces",serif}.intro-copy>p:not(.lead){color:#5d665f}.arrow-link{display:inline-block;margin-top:1.3rem;padding-bottom:.25rem;border-bottom:1px solid var(--ink);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.arrow-link span{margin-left:1rem}.collections{display:grid;grid-template-columns:1fr 1fr}.collection{position:relative;display:flex;min-height:760px;padding:4rem 7%;overflow:hidden;align-items:flex-end}.collection-number{position:absolute;top:2.5rem;right:3rem;font:500 5rem/1 "Fraunces",serif;opacity:.18}.collection-copy{position:relative;z-index:2;max-width:520px}.collection h2{font-size:clamp(3.2rem,5vw,5rem)}.collection-copy>p:not(.eyebrow){max-width:470px;margin:1.5rem 0;color:rgba(36,48,40,.72)}.soap{background:var(--peach)}.soap h2 em{color:#fff}.art{color:#fff;background:var(--blue)}.art .collection-copy>p:not(.eyebrow){color:rgba(255,255,255,.75)}.light-text{color:var(--yellow)}.soap-stack{position:absolute;top:5.5rem;left:13%;width:60%;height:280px}.soap-stack span{position:absolute;display:block;width:240px;height:108px;background:#f1d2ac;border-radius:12px;box-shadow:0 22px 35px rgba(62,39,20,.18);transform:rotate(-9deg)}.soap-stack span:before{position:absolute;inset:25px;content:"";border:1px solid rgba(100,70,45,.25);border-radius:50%}.soap-stack span:nth-child(2){top:55px;left:120px;background:#d7ab7b;transform:rotate(8deg)}.soap-stack span:nth-child(3){top:135px;left:28px;background:#f0e1ba;transform:rotate(-2deg)}.mini-gallery{position:absolute;top:5rem;right:7%;width:76%;height:310px}.mini-gallery span{position:absolute;display:block;width:46%;height:230px;background:linear-gradient(145deg,#e6a54b 0 28%,#d66f55 28% 55%,#eee1c3 55% 68%,#748678 68%);border:9px solid #eadfcf;box-shadow:0 30px 60px rgba(0,0,0,.25);transform:rotate(-5deg)}.mini-gallery span:nth-child(2){top:18px;right:8%;background:radial-gradient(circle at 65% 25%,#efbf52 0 12%,transparent 13%),linear-gradient(40deg,#e9d5bd 0 30%,#3a6284 30% 62%,#d86555 62%);transform:rotate(6deg)}.mini-gallery span:nth-child(3){top:75px;left:28%;width:39%;height:210px;background:linear-gradient(155deg,#718579 0 35%,#e8c66e 35% 55%,#e8ded0 55% 75%,#d56a55 75%);transform:rotate(1deg)}.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:8rem}.process-list{border-top:1px solid var(--line)}.process-list article{display:grid;grid-template-columns:55px 1fr 1.2fr;gap:1rem;padding:2rem 0;border-bottom:1px solid var(--line);align-items:start}.process-list article>span{color:var(--coral);font-size:.7rem;font-weight:700}.process-list h3{margin:0;font:500 1.35rem "Fraunces",serif}.process-list p{margin:0;color:#697169}.maker{display:grid;grid-template-columns:1fr 1fr;padding-top:0}.maker-card{padding:5rem;background:var(--cream)}.handwritten{margin:0 0 1rem;color:var(--coral);font:500 1.2rem "Fraunces",serif;font-style:italic}.maker-card>p:not(.handwritten){max-width:480px;color:#626b64}.maker-art{position:relative;display:grid;min-height:600px;overflow:hidden;place-items:center;background:radial-gradient(circle at 25% 23%,var(--yellow) 0 13%,transparent 14%),radial-gradient(circle at 78% 65%,var(--coral) 0 22%,transparent 23%),linear-gradient(135deg,#779081 0 34%,#e9d9bf 34% 68%,#304d72 68%)}.maker-art:before{position:absolute;width:48%;height:65%;content:"";background:var(--paper);border-radius:48% 52% 38% 62%;transform:rotate(25deg)}.maker-art span{position:relative;color:var(--ink);font:500 4rem "Fraunces",serif;font-style:italic;transform:rotate(-9deg)}.shop-callout{display:flex;padding:7rem max(4%,calc((100vw - var(--max))/2));align-items:center;justify-content:space-between;color:#fff;background:var(--coral)}.shop-callout h2{font-size:clamp(3.2rem,5vw,5.5rem)}.round-link{display:grid;width:180px;height:180px;place-content:center;text-align:center;color:var(--ink);background:var(--yellow);border-radius:50%;text-decoration:none;transition:transform .3s}.round-link:hover{transform:rotate(5deg) scale(1.04)}.round-link span{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.round-link i{font-size:1.6rem;font-style:normal}.contact{text-align:center}.contact h2{font-size:clamp(3.2rem,5vw,5.5rem)}.contact h2 em{color:var(--coral)}.contact>p:not(.eyebrow){max-width:600px;margin:1.5rem auto;color:#687168}.contact-links{display:flex;margin:3rem auto 0;justify-content:center;gap:2.5rem}.contact-links a{padding-bottom:.3rem;border-bottom:1px solid var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.contact-links span{margin-left:.7rem}footer{display:flex;padding:2rem max(4%,calc((100vw - var(--max))/2));align-items:center;justify-content:space-between;color:#fff;background:var(--ink);font-size:.72rem}.footer-brand .brand-name{font-size:1.2rem}.footer-brand .brand-note{font-size:.5rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header nav{gap:1rem}.intro,.process{grid-template-columns:1fr;gap:3rem}.collections{grid-template-columns:1fr}.collection{min-height:700px}.maker{grid-template-columns:1fr}.shop-callout{gap:3rem}.hero{min-height:760px}.hero-image{object-position:57% center}}
@media(max-width:700px){.site-header{height:76px}.site-header nav{position:absolute;top:76px;right:0;left:0;display:none;padding:1.5rem;flex-direction:column;align-items:flex-start;color:var(--ink);background:var(--paper)}.site-header nav.open{display:flex}.menu-button{display:grid;width:44px;height:44px;padding:11px;place-content:center;gap:6px;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.5);border-radius:50%}.menu-button>span:not(.sr-only){display:block;width:19px;height:1px;background:#fff}.hero{min-height:720px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(27,35,29,.88),rgba(27,35,29,.34))}.hero-content{padding-top:180px}.hero h1{font-size:3.65rem}.hero-side-note{display:none}.section{padding-top:5.5rem;padding-bottom:5.5rem}.intro{gap:1rem}.intro-copy{padding-top:0}.collection{min-height:660px}.soap-stack{left:3%;transform:scale(.8)}.mini-gallery{right:1%;width:95%}.process-list article{grid-template-columns:40px 1fr}.process-list p{grid-column:2}.maker-card{padding:3rem 1.5rem}.maker-art{min-height:430px}.shop-callout{align-items:flex-start;flex-direction:column}.round-link{width:140px;height:140px}.contact-links{align-items:center;flex-direction:column;gap:1.2rem}footer{align-items:flex-start;flex-direction:column;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Interior pages */
.interior .site-header{position:relative;color:var(--ink);border-color:var(--line)}.interior .menu-button{border-color:var(--ink)}.interior .menu-button>span:not(.sr-only){background:var(--ink)}.page-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:590px;padding:9rem max(4%,calc((100vw - var(--max))/2)) 6rem;gap:6rem;align-items:end;background:var(--cream)}.page-hero h1{margin:0;font:500 clamp(4rem,7vw,7rem)/.92 "Fraunces",serif;letter-spacing:-.06em}.page-hero h1 em{color:var(--coral);font-weight:500}.page-hero-copy{max-width:470px;padding-bottom:.5rem}.page-hero-copy p{color:#626b64;font-size:1.08rem}.page-kicker{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--coral)}.feature-split{display:grid;grid-template-columns:1fr 1fr}.feature-panel{min-height:560px;padding:5rem 7%;display:flex;flex-direction:column;justify-content:flex-end}.feature-panel h2{margin:0;font:500 clamp(2.8rem,4.5vw,4.8rem)/1 "Fraunces",serif;letter-spacing:-.045em}.feature-panel p{max-width:520px}.feature-panel.color-coral{background:var(--peach)}.feature-panel.color-blue{background:var(--blue);color:#fff}.feature-panel.color-yellow{background:var(--yellow)}.feature-panel.color-sage{background:var(--sage);color:#fff}.prose-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:8rem}.prose-section h2{font-size:clamp(2.8rem,4.5vw,4.8rem)}.prose-content{max-width:670px}.prose-content p:first-child{font:500 1.45rem/1.45 "Fraunces",serif}.page-cta{text-align:center;padding:7rem max(4%,calc((100vw - var(--max))/2));background:var(--coral);color:#fff}.page-cta h2{margin:0 auto 2rem;max-width:850px;font:500 clamp(3rem,5vw,5rem)/1 "Fraunces",serif}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}.contact-card{padding:2rem;border-top:1px solid var(--ink);text-decoration:none}.contact-card span,.contact-card strong{display:block}.contact-card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--coral)}.contact-card strong{margin-top:.4rem;font:500 1.4rem "Fraunces",serif}@media(max-width:700px){.page-hero,.prose-section,.feature-split{grid-template-columns:1fr}.page-hero{padding-top:5rem;gap:2rem}.feature-panel{min-height:440px}.contact-grid{grid-template-columns:1fr}.interior .site-header nav{top:76px}}

/* Real work galleries */
.site-header nav{gap:1.25rem}.site-header nav a{font-size:.7rem}.photo-feature{display:grid;grid-template-columns:1.15fr .85fr;min-height:620px;color:#fff;background:var(--blue)}.photo-feature>img{width:100%;height:100%;min-height:620px;object-fit:cover}.photo-feature-copy{display:flex;padding:5rem 10%;flex-direction:column;justify-content:center}.photo-feature h2,.gallery-heading h2,.product-showcase h2{margin:0;font:500 clamp(3rem,5vw,5rem)/.98 "Fraunces",serif;letter-spacing:-.05em}.photo-feature h2 em{color:var(--yellow);font-weight:500}.photo-feature-copy>p:not(.eyebrow){color:rgba(255,255,255,.75)}.photo-feature-copy .button{align-self:flex-start;margin-top:1.5rem}.work-gallery{background:#eae0d1}.gallery-heading{display:grid;grid-template-columns:.55fr 1.45fr;gap:4rem;margin-bottom:4rem;align-items:end}.gallery-heading>p:last-child{color:#667068}.masonry-grid{columns:3 280px;column-gap:1.25rem}.masonry-grid img{width:100%;margin:0 0 1.25rem;break-inside:avoid;background:#ddd;box-shadow:0 12px 28px rgba(36,48,40,.12)}.photo-grid img{border-radius:3px}.photo-page-hero{background:linear-gradient(135deg,#e2e6df,#d9cbb8)}.product-showcase{background:#efe3d2}.product-list{display:flex;margin-bottom:4rem;flex-wrap:wrap;gap:.65rem}.product-list span{padding:.5rem .85rem;border:1px solid var(--ink);border-radius:2rem;font-size:.74rem}.soap-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:170px;gap:1rem}.soap-gallery img{width:100%;height:100%;object-fit:cover}.soap-gallery img:nth-child(1){grid-column:span 7;grid-row:span 2}.soap-gallery img:nth-child(2){grid-column:span 5;grid-row:span 2}.soap-gallery img:nth-child(3),.soap-gallery img:nth-child(4),.soap-gallery img:nth-child(5){grid-column:span 4;grid-row:span 2}.soap-gallery img:nth-child(6){grid-column:span 12;grid-row:span 2}.about-photo{padding:0;overflow:hidden}.about-photo img{width:100%;height:100%;min-height:560px;object-fit:cover}
@media(max-width:900px){.photo-feature{grid-template-columns:1fr}.gallery-heading{grid-template-columns:1fr;gap:1rem}.site-header nav{gap:.75rem}.site-header nav a{font-size:.64rem}}
@media(max-width:700px){.photo-feature>img{min-height:420px}.photo-feature-copy{padding:4rem 6%}.soap-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:310px}.soap-gallery img:nth-child(n){grid-column:auto;grid-row:auto}.masonry-grid{columns:2 140px;column-gap:.7rem}.masonry-grid img{margin-bottom:.7rem}}

/* Homepage previews use Carol's actual work. */
.soap-stack span{background-image:url('../images/soap/480145714_1004264178184268_6395247578884710558_n.jpg');background-size:cover;background-position:center}.soap-stack span:nth-child(2){background-image:url('../images/soap/480105526_1004264494850903_3170674247800515993_n.jpg')}.soap-stack span:nth-child(3){background-image:url('../images/soap/fruit-loops-and-milk.jpg')}.mini-gallery span{background-image:url('../images/art/630993734_1270833888193961_7486676360790331591_n.jpg');background-size:cover;background-position:center}.mini-gallery span:nth-child(2){background-image:url('../images/art/653055749_1300084828602200_1396400990808009589_n.jpg')}.mini-gallery span:nth-child(3){background-image:url('../images/art/706559626_1352660090011340_4499520221274593698_n.jpg')}

.brand-logo{display:block;width:250px;height:auto}.footer-brand .brand-logo{width:210px}@media(max-width:700px){.brand-logo{width:205px}.footer-brand .brand-logo{width:190px}}

/* Compact interior templates */
.compact-page-hero{padding:5rem max(4%,calc((100vw - var(--max))/2));background:var(--cream)}.compact-page-hero h1,.about-hero h1{max-width:1000px;margin:0;font:500 clamp(3.5rem,6vw,6.2rem)/.95 "Fraunces",serif;letter-spacing:-.055em}.compact-page-hero>p:last-child{max-width:780px;margin:1.25rem 0 0;color:#5f6961;font-size:1.08rem}.art-title{background:#e3d9c9}.photo-title{color:#fff;background:var(--blue)}.photo-title .page-kicker{color:var(--yellow)}.photo-title>p:last-child{color:rgba(255,255,255,.76)}.contact-title{background:var(--yellow)}.compact-showcase,.compact-gallery{padding-top:4.5rem}.compact-showcase .product-list{margin-bottom:2.5rem}.about-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--cream)}.about-hero>div{display:flex;padding:6rem max(7%,calc((100vw - var(--max))/2));flex-direction:column;justify-content:center}.about-hero>div>p:last-child{max-width:500px;color:#5f6961;font-size:1.15rem}.about-hero>img{width:100%;height:100%;min-height:650px;object-fit:cover}.contact-form-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:7rem}.contact-form-section h2{font-size:clamp(2.7rem,4.5vw,4.6rem)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.contact-form label{display:grid;gap:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.9rem 1rem;color:var(--ink);background:#fff;border:1px solid rgba(36,48,40,.35);border-radius:2px;font:400 1rem "DM Sans",sans-serif;text-transform:none}.contact-form textarea{resize:vertical}.contact-form .full{grid-column:1/-1}.contact-form button{width:max-content;cursor:pointer}.honeypot{position:absolute!important;left:-10000px!important}.form-notice{padding:1rem 1.2rem;margin:0 0 1.25rem;border-left:4px solid}.form-notice.success{background:#e1ecdf;border-color:#5e7d59}.form-notice.error{background:#f4ded8;border-color:var(--coral)}.editor-content{padding-top:0}.editor-content>*{max-width:760px;margin-right:auto;margin-left:auto}
@media(max-width:700px){.compact-page-hero{padding-top:4rem;padding-bottom:4rem}.about-hero,.contact-form-section{grid-template-columns:1fr}.about-hero>div{padding:4rem 6%}.about-hero>img{min-height:440px}.contact-form-section{gap:2rem}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}}
