:root{--cream:#f7f0e6;--burgundy:#612439;--orange:#eb692f;--ink:#482432;--line:#61243933}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:6px}.skip{position:fixed;top:-100px;background:var(--cream);padding:12px;z-index:99}.skip:focus{top:0}header{height:106px;padding:0 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:'DM Serif Display',Georgia,serif;font-size:35px;line-height:1;letter-spacing:-1.2px}.brand span{display:block;font-family:'DM Sans',sans-serif;letter-spacing:3px;font-size:10px;margin-top:9px;text-align:center}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:not(.nav-contact):hover{color:#a84126}.nav-contact{border:1px solid var(--burgundy);border-radius:100px;padding:10px 26px}.nav-contact:hover{background:var(--burgundy);color:var(--cream)}.menu{display:none}.hero{padding:74px 5.5% 22px;display:grid;grid-template-columns:1.25fr 1fr;column-gap:4%;position:relative}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:2px;font-weight:500;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(52px,5.6vw,88px);letter-spacing:-2.8px;margin-bottom:28px}em{font-weight:400;color:var(--orange)}.intro{max-width:480px;font-size:17px;line-height:1.8}.actions{display:flex;align-items:center;gap:26px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;background:var(--burgundy);color:var(--cream);padding:16px 26px;border-radius:50px;font-size:14px;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px);background:#7b2945}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:3px}.hand{font-family:'Caveat',cursive;font-weight:400}.hero-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:480px}.portrait{background:#f0ddca;width:92%;height:425px;border-radius:50% 50% 3px 3px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.portrait img{height:98%;width:100%;object-fit:contain;object-position:center bottom}.note-top{position:absolute;top:-18px;left:0;z-index:2;font-size:28px;line-height:1.05;transform:rotate(-10deg)}.spark{position:absolute;right:0;top:10px;font-size:70px;color:var(--orange);animation:sway 7s ease-in-out infinite}.portrait-caption{width:100%;text-align:center;padding:16px 0 4px;font-size:12px;letter-spacing:1px}.portrait-caption .hand{display:block;font-size:25px;letter-spacing:0}.hero-bottom{grid-column:1/-1;margin-top:54px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.6px}.ribbon{overflow:hidden;background:var(--orange);margin-top:22px;padding:17px 0;color:var(--burgundy)}.ribbon div{width:max-content;font-family:'DM Serif Display',serif;font-size:27px;animation:marquee 45s linear infinite}.ribbon b{font-family:serif;font-size:25px;margin:0 45px}.section{padding:100px 8%}.section-heading h2{font-size:clamp(39px,4.4vw,64px);letter-spacing:-1.5px;margin-bottom:25px}.section-heading>p:last-child{max-width:495px;margin-bottom:50px}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:30px;padding:25px 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.number{font-size:12px;color:#996f79;width:30px}summary h3{font-size:35px;margin:0;flex:1}.plus{width:24px;height:24px;position:relative;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;top:11px;left:4px;width:16px;height:1px;background:var(--burgundy)}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.service-body{padding:0 0 30px 60px;max-width:860px}.service-body p{margin-bottom:18px}.tags{display:flex;flex-wrap:wrap;gap:9px}.tags span{font-size:13px;border:1px solid var(--line);padding:5px 14px;border-radius:50px}.service-note{text-align:right;font-size:29px;margin:17px 0 0;transform:rotate(-3deg);color:#a34227}.about{background:#ecdcc9;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-visual{position:relative;padding:25px 0 50px}.about-frame{background:var(--cream);height:480px;display:flex;justify-content:center;align-items:flex-end;transform:rotate(-4deg);border:12px solid var(--cream);box-shadow:0 8px 22px #4824320c}.about-frame img{height:100%;width:100%;object-fit:contain}.about-note{font-size:32px;line-height:1.05;position:absolute;bottom:3px;left:16px;transform:rotate(-6deg)}.star-small{position:absolute;right:-25px;top:0;font-size:65px;color:var(--orange)}.about-copy h2{font-size:clamp(55px,6vw,83px);letter-spacing:-2px;margin-bottom:28px}.about-copy p{line-height:1.85}.about-copy .eyebrow{font-size:11px}.personal{font-size:13px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.signature{font-size:29px;color:#a34227;display:block;transform:rotate(-3deg)}.statement{text-align:center;background:var(--burgundy);color:var(--cream);padding:85px 6%;position:relative}.statement blockquote{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(32px,4.4vw,62px);line-height:1.2;margin:35px auto;letter-spacing:-.7px}.statement .hand{font-size:1.24em;color:#f6a273}.statement>p:last-child{font-size:15px;opacity:.85}.statement-star{position:absolute;right:11%;top:40%;font-size:50px;color:var(--orange)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.step-number{font-family:'Caveat',cursive;font-size:44px;color:#a34227}.steps h3{font-size:27px;line-height:1.15;margin:14px 0}.steps p{font-size:15px}.contact{background:var(--orange);position:relative;text-align:center;overflow:hidden}.contact .eyebrow{margin-top:20px}.contact h2{font-size:clamp(84px,12vw,165px);letter-spacing:-4px;margin:18px 0 25px;line-height:.88}.contact em{color:var(--cream)}.contact p{margin-bottom:25px}.contact-note{display:inline-block;font-size:29px;transform:rotate(-5deg);margin-bottom:22px}.contact-placeholder{display:inline-block;padding:14px 28px;background:var(--burgundy);color:var(--cream);border-radius:50px;font-size:15px}.contact .contact-small{font-size:12px;margin-top:16px}.contact-star{position:absolute;left:16%;top:40%;font-size:100px;color:var(--cream)}footer{padding:45px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font-size:13px;margin:0}footer .brand{font-size:31px}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes sway{50%{transform:rotate(16deg) scale(1.08)}}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:850px){header{height:90px}nav{gap:16px}.hero{padding-top:55px;column-gap:2%}h1{font-size:57px}.hero-art{min-height:420px}.portrait{height:360px}.actions{gap:18px}.section{padding:75px 6%}.about{gap:7%}.about-frame{height:410px}.statement-star{right:3%;font-size:30px}.steps{gap:25px}footer p{display:none}}@media(max-width:620px){header{height:88px;padding:0 6%;position:relative;z-index:10}.brand{font-size:29px}.brand span{font-size:9px;letter-spacing:2.4px}.menu{display:block;border:1px solid var(--line);background:transparent;border-radius:30px;padding:7px 15px;font-size:13px}nav{display:none;position:absolute;top:87px;left:0;right:0;background:var(--cream);padding:25px 6%;border-bottom:1px solid var(--line);align-items:flex-start}nav.open{display:flex;flex-direction:column;gap:22px}.hero{display:block;padding:40px 6% 18px}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:22px}h1{font-size:clamp(45px,10.8vw,66px);letter-spacing:-1.9px;line-height:1.06}.intro{font-size:16px}.actions{gap:22px}.button{font-size:13px;padding:15px 20px}.text-link{font-size:13px}.hero-art{min-height:420px;margin:55px auto 0;max-width:370px}.portrait{height:365px;width:90%}.note-top{top:-10px;font-size:26px}.spark{font-size:57px;right:0}.hero-bottom{margin-top:27px;font-size:9px;gap:25px}.hero-bottom span:last-child{text-align:right;max-width:120px}.ribbon{margin-top:0;padding:13px 0}.ribbon div{font-size:24px}.section{padding:65px 6%}.section-heading h2{font-size:39px;letter-spacing:-1px}.section-heading>p:last-child{font-size:15px;margin-bottom:35px}summary{gap:15px;padding:23px 0}summary h3{font-size:26px}.number{width:21px}.service-body{padding-left:36px;font-size:15px}.tags{gap:6px}.tags span{font-size:12px;padding:4px 10px}.service-note{font-size:26px}.about{display:flex;flex-direction:column;gap:45px}.about-visual{width:85%;order:2;padding-bottom:45px}.about-frame{height:400px}.about-copy h2{font-size:62px}.about-copy p{font-size:15px}.about-copy .personal{font-size:13px}.signature{font-size:28px}.statement{padding:60px 6%}.statement blockquote{font-size:32px;letter-spacing:-.3px;margin:28px 0}.statement-star{position:static;font-size:32px;display:block;margin-bottom:20px}.statement>p:last-child{font-size:14px}.desktop{display:none}.steps{grid-template-columns:1fr;gap:25px;margin-top:32px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps h3{font-size:29px;margin:4px 0 14px}.step-number{font-size:36px}.steps p{margin-bottom:0}.contact{padding:60px 6%}.contact-note{font-size:25px}.contact h2{font-size:105px}.contact>p{font-size:15px}.contact-star{left:6%;top:43%;font-size:45px}footer{padding:32px 6%;gap:22px}footer .brand{font-size:27px}footer .text-link{font-size:11px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Text remains visible unless the animation is successfully initialized. */
.ribbon div,.spark{animation:none}
.statement blockquote{max-width:1000px;font-size:clamp(31px,4.2vw,59px);line-height:1.3;text-wrap:pretty}
.statement-star{position:static;display:block;margin:10px 0 22px;font-size:38px}
.motion-word{display:inline-block;vertical-align:baseline;opacity:1;filter:none;transform:none}
.heading-motion.is-waiting .motion-word{opacity:.2;filter:blur(3px);transform:translateY(7px)}
.heading-motion.is-revealing .motion-word{animation:line-focus 900ms cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--line-delay,0ms)}
@keyframes line-focus{from{opacity:.2;filter:blur(3px);transform:translateY(7px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.motion-word,.heading-motion.is-waiting .motion-word,.heading-motion.is-revealing .motion-word{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}}

/* Jasmin's supplied wordmark and leaf, prepared as one transparent asset. */
header .brand,footer .brand{display:block;flex-shrink:0;width:270px;line-height:0;background:#efe3d5;border-radius:3px;padding:5px 8px}
.brand img{display:block;width:100%;height:auto}
.contact-email{transition:background .2s,transform .2s}
.contact-email:hover{background:#7b2945;transform:translateY(-2px)}
@media(max-width:850px){header .brand{width:235px}nav{gap:20px}}
@media(max-width:620px){header .brand,footer .brand{width:220px}footer{flex-wrap:wrap}}
@media(max-width:360px){header .brand{width:195px}}
@media(min-width:621px) and (max-width:800px){header{position:relative;z-index:10}.menu{display:block;border:1px solid var(--line);background:transparent;border-radius:30px;padding:7px 15px;font-size:13px}nav{display:none;position:absolute;top:89px;left:0;right:0;background:var(--cream);padding:25px 6%;border-bottom:1px solid var(--line);align-items:flex-start}nav.open{display:flex;flex-direction:column;gap:22px}}
