@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&family=La+Belle+Aurore&display=swap');
:root{--cream:#f8f3e9;--wine:#65283d;--ink:#4a2633;--blush:#ead0cf;--serif:'Cormorant Garamond',Georgia,serif;--hand:'La Belle Aurore','Segoe Print',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;overflow-x:clip}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:8;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b46a82;outline-offset:5px}figure,p{margin:0}img{width:100%;height:100%;object-fit:cover;display:block}header{height:112px;margin:0 5.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #65283d26;position:relative;z-index:3}.brand{font:500 37px/.9 var(--serif);display:inline-flex;flex-direction:column;text-align:center;gap:10px}.brand span{font:10px/1.3 'DM Sans',sans-serif;letter-spacing:5px;padding-left:5px}nav{display:flex;align-items:center;gap:38px;font-size:14px}.nav-order{border-bottom:1px solid var(--wine);padding:12px 0}.nav-order span{margin-left:25px;font-size:22px}.hero{position:relative;min-height:740px;display:grid;grid-template-columns:46% 54%;padding:55px 5.4% 80px}.hero-copy{position:relative;z-index:2;padding-top:48px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:600;line-height:1.7}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-3px;line-height:.96;margin:25px 0}h1{font-size:clamp(65px,6.8vw,110px)}em{font-weight:400}h2{font-size:clamp(48px,5.1vw,80px)}.intro{line-height:1.8;margin:28px 0;color:#765764}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--wine);background:var(--wine);color:var(--cream);padding:20px 26px;font-size:14px}.button span{font-size:24px;line-height:1}.button:hover{background:#7e3650;transform:translateY(-2px)}.hand{font-family:var(--hand);font-size:28px;line-height:1.3;display:block}.hero-note{margin:32px 0 0 30px;transform:rotate(-7deg);width:270px}.hero-arrow{position:absolute;width:125px;bottom:0;left:255px;fill:none;stroke:var(--wine);stroke-width:1.5}.hero-art{position:relative;min-height:595px}.fabric-shape{position:absolute;inset:30px -6vw -50px -25px;background:var(--blush);border-radius:49% 44% 8% 50%;transform:rotate(-9deg);background-image:repeating-linear-gradient(90deg,transparent 0 3px,#fff2 3px 4px)}.stitch-circle{position:absolute;width:105%;height:94%;border:1px dashed #aa687775;border-radius:50%;transform:rotate(18deg);top:0;left:-30px}.hero-blanket{position:absolute;width:77%;height:555px;right:3%;top:-5px;transform:rotate(6deg);box-shadow:0 18px 45px #532e3830;clip-path:polygon(2% 0,100% 2%,98% 100%,0 97%)}.hero-blanket img{object-position:center 47%}.media{display:block;position:relative;overflow:hidden}.watermark{position:absolute;right:6%;bottom:9%;color:#fff;opacity:.52;font:500 clamp(12px,1.2vw,18px)/1.2 'DM Sans',sans-serif;text-shadow:0 1px 4px #0009;pointer-events:none;letter-spacing:.6px;z-index:2}.polaroid{background:#fffcf6;padding:12px 12px 18px;box-shadow:0 10px 22px #4929311b}.polaroid:before{content:'';position:absolute;z-index:3;top:-13px;left:32%;width:38%;height:28px;background:#dcc8a9a6;transform:rotate(-5deg);clip-path:polygon(2% 3%,97% 0,100% 94%,0 100%)}.hero-detail{position:absolute;left:-4%;bottom:-15px;width:230px;transform:rotate(-11deg)}.hero-detail .media{height:225px}.polaroid figcaption{font:25px/1.2 var(--hand);padding-top:17px}.round-note{position:absolute;right:-2%;top:4px;border-radius:50%;background:var(--wine);color:var(--cream);width:119px;height:119px;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:9px;letter-spacing:2px;transform:rotate(12deg);border:1px dashed #e9cbd4;outline:7px solid var(--wine)}.round-note b{font:32px/1.2 var(--serif)}.edition{position:absolute;right:-27px;bottom:50px;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px}.scroll-note{position:absolute;bottom:20px;left:5.4%;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}.scroll-note span{margin-left:20px}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:30px;background:var(--wine);color:var(--cream);padding:23px 30px;transform:rotate(-1.4deg);font:italic 27px var(--serif);position:relative;z-index:3}.ribbon i{font-size:20px}.story{padding:110px 4% 85px}.story-heading{text-align:center;position:relative}.story-heading .hand{margin-top:35px;transform:rotate(-6deg)}.story-collage{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:1320px;margin:55px auto 0;padding:20px 10px 80px}.thread-path{position:absolute;width:100%;height:100%;inset:0;fill:none;stroke:#b57988;stroke-dasharray:7 7;stroke-width:1.5}.story-collage figure{position:relative;height:fit-content}.story-collage .media{height:280px}.story-collage figcaption{font-size:25px}.story-collage figcaption b{font:12px 'DM Sans',sans-serif;margin-right:8px;color:#9b5268}.story-collage p{font-size:12px;line-height:1.6;margin-top:7px;color:#785e68}.story-one{transform:rotate(-8deg);margin-top:25px}.story-two{transform:rotate(6deg);margin-top:130px}.story-three{transform:rotate(-5deg);margin-top:25px}.story-four{transform:rotate(8deg);margin-top:110px}.keepsake{background:#edd8d4;padding:95px 7% 70px;position:relative;clip-path:polygon(0 12px,8% 5px,19% 15px,32% 0,44% 10px,55% 4px,70% 15px,86% 2px,100% 12px,100% 100%,0 100%)}.gallery-heading{padding-left:3%}.memory-wall{position:relative;max-width:1200px;height:920px;margin:55px auto 0}.memory{position:absolute}.memory button{padding:0;border:0;background:transparent;width:100%;height:100%;cursor:zoom-in}.memory .watermark{font-size:14px}.main-memory{left:0;top:10px;width:47%;height:700px;transform:rotate(-4deg);padding:15px 15px 55px;background:var(--cream);box-shadow:0 12px 35px #65283d20}.main-memory figcaption{font:26px var(--hand);padding-top:14px;text-align:center}.detail-a{width:27%;height:300px;left:52%;top:-30px;transform:rotate(8deg)}.detail-a figcaption{margin:20px 0;font-size:26px}.detail-b{width:32%;height:350px;right:-1%;top:420px;transform:rotate(6deg);border:10px solid var(--cream);border-bottom-width:45px;box-shadow:0 10px 25px #65283d22}.detail-b figcaption{font-size:25px;padding-top:14px}.detail-c{width:22%;height:230px;left:42%;top:370px;transform:rotate(-12deg);border:10px solid var(--cream);box-shadow:0 8px 25px #65283d25}.wall-note{position:absolute;left:10%;top:785px;transform:rotate(-5deg);font-size:29px}.more-gallery{border-top:1px solid #65283d44;border-bottom:1px solid #65283d44;margin-top:25px}.more-gallery summary{cursor:pointer;font-size:14px;padding:25px 0;list-style:none;display:flex;justify-content:space-between}.more-gallery summary span{font-size:25px}.more-gallery[open] summary span{transform:rotate(45deg)}.album{columns:4;column-gap:20px;padding-bottom:25px}.album button{width:100%;margin-bottom:20px;border:0;padding:0;background:transparent;cursor:zoom-in;break-inside:avoid}.album img{height:auto}.film{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:100px 12%;align-items:center}.film-copy p:not(.eyebrow){line-height:1.8;color:#e0c4cd}.film-copy .hand{margin:35px 0;font-size:29px;transform:rotate(-5deg)}.film-copy label{display:block;font-size:12px;margin-top:45px;margin-bottom:12px}.film-copy select{width:100%;background:transparent;color:var(--cream);border:0;border-bottom:1px solid #d4a5b4;padding:12px 0;border-radius:0}.film-copy option{color:var(--wine);background:var(--cream)}.film-frame{transform:rotate(4deg);padding:12px 12px 24px;border:1px solid #bd8597;box-shadow:12px 16px 0 #4d1d2e}.film-frame .media{height:480px}.film-frame video{height:100%;width:100%;object-fit:cover;background:#331520}.film-frame .watermark{bottom:18%}.film-caption{display:block;font-size:9px;letter-spacing:2px;text-align:center;margin-top:20px}.order{padding:115px 9%;display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:start}.order h2{font-size:clamp(65px,6.5vw,100px)}.order-copy p:not(.eyebrow){line-height:1.8;margin:25px 0}.order-copy .hand{margin-top:45px;transform:rotate(-6deg)}form{padding-top:20px}.form-heading{font:36px var(--serif);margin-bottom:32px}form label{display:block;font-size:12px;margin:22px 0 8px}form input,form select,form textarea{width:100%;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #a78590;border-radius:0;padding:12px 0;line-height:1.6;resize:vertical}form .button{width:100%;margin-top:27px}.form-note{font-size:12px;line-height:1.6;color:#7f626b;margin-top:15px}#copy-message{background:var(--wine);color:white;border:0;padding:12px 18px;margin-top:14px}#copy-status{font-size:14px;margin-top:10px}footer{margin:0 5.4%;border-top:1px solid #65283d30;padding:35px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font:italic 24px var(--serif)}footer>span,footer>a:last-child{font-size:11px}.skip{position:absolute;left:20px;top:-100px;padding:14px;background:white;z-index:20}.skip:focus{top:10px}dialog{border:0;background:var(--cream);padding:14px;max-width:90vw;max-height:94vh;overflow:visible}dialog::backdrop{background:#26121fe8}dialog .media{height:82vh;max-width:82vw}dialog img{object-fit:contain;width:auto;max-width:82vw}dialog .watermark{bottom:10%;right:10%}.close{position:absolute;z-index:3;right:0;top:0;border:0;background:var(--wine);color:white;width:45px;height:45px;font-size:30px}.reveal{transition:opacity .8s ease,translate .8s ease}.motion .reveal:not(.visible){opacity:0;translate:0 26px}@media(min-width:1600px){.hero{max-width:1550px;margin:auto}.hero-art{min-height:640px}.hero-blanket{height:615px}}@media(max-width:1000px){header{height:95px}.hero{padding-top:35px;min-height:700px;grid-template-columns:46% 54%}.hero-copy{padding-top:40px}.hero h1{font-size:73px}.hero-art{min-height:540px}.hero-blanket{height:490px;width:89%;right:0}.hero-detail{width:175px;left:-8%;bottom:0}.hero-detail .media{height:170px}.hero-note{font-size:24px;margin-left:0}.hero-arrow{display:none}.round-note{width:90px;height:90px;font-size:7px;right:-3%;top:0}.edition{display:none}.story-collage{gap:15px}.story-collage .media{height:220px}.story-collage figcaption{font-size:20px}.story-two,.story-four{margin-top:100px}.memory-wall{height:800px}.main-memory{height:560px}.detail-a{height:240px}.detail-b{top:330px;height:290px}.detail-c{top:310px;height:200px}.wall-note{top:665px}.film{padding:85px 7%;gap:7%}.order{padding:85px 7%;gap:8%}footer{flex-wrap:wrap}.ribbon{font-size:23px;gap:15px}}@media(max-width:650px){header{height:91px;margin:0 6%}.brand{font-size:30px}.brand span{font-size:8px;letter-spacing:4px}nav{gap:0}nav a:not(.nav-order){display:none}.nav-order{font-size:12px}.nav-order span{margin-left:10px}.hero{display:flex;flex-direction:column;padding:30px 7% 65px;min-height:0}.hero-copy{padding-top:0}.eyebrow{font-size:9px;letter-spacing:1.7px}.hero h1{font-size:66px;letter-spacing:-2px;margin:20px 0}.intro{font-size:14px;margin:18px 0}.button{padding:17px 21px;font-size:13px}.hero-note{position:absolute;right:-6px;bottom:-74px;font-size:20px;width:160px;margin:0;transform:rotate(9deg)}.hero-art{min-height:490px;margin-top:75px}.fabric-shape{inset:10px -15% 0 -10%;border-radius:45% 45% 12% 40%}.hero-blanket{width:79%;height:410px;right:1%;top:0}.hero-detail{width:155px;left:-2%;bottom:0}.hero-detail .media{height:155px}.polaroid{padding:8px 8px 15px}.hero-detail figcaption{font-size:18px}.round-note{top:22px;right:-2%;width:80px;height:80px}.scroll-note{left:7%;bottom:15px;font-size:9px}.ribbon{padding:20px 14px;gap:13px;font-size:21px;justify-content:center}.ribbon span:nth-of-type(n+3),.ribbon i:nth-of-type(n+2){display:none}.story{padding:65px 7% 30px}.story h2,.gallery-heading h2{font-size:47px;letter-spacing:-1.7px}.story-heading .hand{font-size:25px;margin-top:25px}.story-collage{grid-template-columns:1fr 1fr;gap:35px 20px;padding:10px 0 35px;margin-top:40px}.story-collage .media{height:205px}.story-collage figcaption{font-size:22px}.story-collage figcaption b{display:block;margin-bottom:7px}.story-collage p{font-size:11px}.story-one,.story-three{margin-top:0;transform:rotate(-5deg)}.story-two,.story-four{margin-top:65px;transform:rotate(5deg)}.thread-path{display:none}.keepsake{padding:65px 7% 35px}.gallery-heading{padding-left:0}.memory-wall{height:940px;margin-top:45px}.main-memory{width:77%;height:465px;left:0}.main-memory figcaption{font-size:20px}.detail-a{width:42%;height:205px;left:auto;right:-1%;top:365px;z-index:2;border:7px solid var(--cream)}.detail-a figcaption{font-size:22px;margin:15px 0}.detail-c{width:42%;height:205px;left:1%;top:510px;transform:rotate(-8deg)}.detail-b{width:52%;height:245px;right:0;top:665px;transform:rotate(5deg)}.detail-b figcaption{font-size:21px}.wall-note{left:0;top:780px;font-size:21px;width:43%}.album{columns:2;column-gap:12px}.film{display:flex;flex-direction:column;gap:45px;padding:60px 9%}.film-copy{width:100%}.film h2{font-size:59px;letter-spacing:-2px}.film-copy label{margin-top:25px}.film-frame{width:88%;margin-bottom:15px}.film-frame .media{height:420px}.film-caption{font-size:8px;letter-spacing:1px}.order{padding:65px 8%;display:block}.order h2{font-size:74px}.order-copy .hand{margin-top:25px}form{padding-top:65px}.form-heading{font-size:34px}footer{margin:0 7%;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}footer .brand{align-items:flex-start}footer p{font-size:22px}footer>span,footer>a:last-child{font-size:10px;line-height:1.6}dialog .media{height:auto}dialog img{max-height:80vh;width:100%}.watermark{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion .reveal:not(.visible){opacity:1;translate:none}}

.services{padding:100px 9%;display:grid;grid-template-columns:1fr 1.1fr;gap:9%;background:#edd8d4;border-bottom:1px dashed #a87585}.services-intro .hand{margin-top:35px;transform:rotate(-6deg)}.service-line{display:grid;grid-template-columns:34px 1fr;gap:18px;padding:28px 0;border-top:1px solid #65283d44}.service-number{font-size:12px;padding-top:12px;letter-spacing:2px}.service-line h3{font:400 39px/1.1 var(--serif);margin:0 0 14px}.service-line p{font-size:15px;line-height:1.8;max-width:430px;color:#6d4c58}.service-line a{display:inline-flex;gap:25px;align-items:center;font-size:14px;padding:14px 0 7px;margin-top:9px;border-bottom:1px solid var(--wine)}.service-line a:hover{color:#963f5c}.service-line a span{font-size:22px}
@media(max-width:1000px){nav{gap:20px}.services{padding:75px 7%;gap:5%}.service-line h3{font-size:33px}}
@media(max-width:650px){nav{gap:16px}nav a.services-nav{display:inline-block;font-size:12px}.services{display:block;padding:65px 8%}.services-intro{margin-bottom:45px}.services-intro h2{font-size:56px}.service-line{gap:10px}.service-line h3{font-size:35px}}

.services-intro{position:sticky;top:45px;align-self:start}.hero .intro{font-size:16px}.hero-note{margin-top:23px}.hero-arrow{display:none}@media(max-width:650px){.services-intro{position:static}.hero .intro{font-size:14px}.hero-note{margin-top:0}.hero-art{margin-top:85px}.order h2{font-size:66px}}

/* The two halves share one photograph, with the centre seam as the hinge. */
.blanket-intro[hidden]{display:none!important}.blanket-intro{position:fixed;inset:0;z-index:100;background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden;animation:intro-away .65s ease 3.35s forwards}.intro-title{position:absolute;top:8%;left:5%;right:5%;text-align:center;animation:intro-title-away .5s ease 2.9s forwards}.intro-title p{margin-top:20px;font:italic 23px var(--serif)}.unfold-stage{width:min(65vw,680px);height:min(64vh,650px);perspective:1600px;position:relative;margin-top:65px}.unfold-blanket{position:absolute;inset:0;transform-style:preserve-3d;animation:blanket-settle 3.5s ease-in-out both}.blanket-half{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d;backface-visibility:hidden;box-shadow:0 20px 45px #4a26332b;background:#dbc2c4;overflow:hidden}.blanket-left{left:0;transform-origin:right center;animation:unfold-left 2.5s cubic-bezier(.2,.65,.25,1) both}.blanket-right{right:0;transform-origin:left center;animation:unfold-right 2.5s cubic-bezier(.2,.65,.25,1) both}.blanket-face{position:absolute;inset:0;background-image:url('assets/images/IMG_2082.jpg');background-size:200% 100%;background-repeat:no-repeat}.blanket-left .blanket-face{background-position:left center}.blanket-right .blanket-face{background-position:right center}.blanket-half:after{content:'';position:absolute;inset:0;pointer-events:none;animation:fold-shadow 2.5s ease both}.blanket-left:after{background:linear-gradient(90deg,transparent,#33152280)}.blanket-right:after{background:linear-gradient(90deg,#33152280,transparent)}.intro-watermark{position:absolute;bottom:12%;left:12%;color:#fff;opacity:.55;font-size:clamp(10px,1.2vw,16px);text-shadow:0 1px 4px #0009}.skip-intro{position:absolute;right:6%;bottom:5%;background:var(--cream);color:var(--wine);border:1px solid #65283d66;padding:13px 20px;font-size:14px}.intro-active{overflow:hidden}.intro-active main,.intro-active header,.intro-active footer{pointer-events:none}@keyframes unfold-left{0%,12%{transform:rotateY(82deg)}70%,100%{transform:rotateY(0)}}@keyframes unfold-right{0%,20%{transform:rotateY(-82deg)}82%,100%{transform:rotateY(0)}}@keyframes fold-shadow{0%,15%{opacity:1}85%,100%{opacity:0}}@keyframes blanket-settle{0%{transform:translateY(35px) rotate(-5deg) scale(.86)}65%{transform:translateY(0) rotate(-3deg) scale(1)}85%{opacity:1;transform:translateY(0) rotate(-3deg) scale(1)}100%{opacity:0;transform:translateY(12vh) rotate(0) scale(1.12)}}@keyframes intro-away{to{opacity:0;visibility:hidden}}@keyframes intro-title-away{to{opacity:0;transform:translateY(-10px)}}@media(max-width:650px){.unfold-stage{width:83vw;height:56vh;max-height:570px;margin-top:50px}.intro-title{top:10%}.intro-title p{font-size:21px}.skip-intro{bottom:6%}}@media(prefers-reduced-motion:reduce){.blanket-intro{display:none!important}}

.rendered-intro{animation:none;background:#f8f3e9}.rendered-intro canvas{display:block;width:100%;height:100%;object-fit:contain}.rendered-intro .skip-intro{z-index:2}

.rendered-intro video{width:100%;height:100%;object-fit:contain;display:block}.hoops{padding:95px 7%;background:var(--cream)}.hoops-heading{max-width:700px;margin-bottom:65px}.hoops-heading>p:not(.eyebrow){line-height:1.8;max-width:470px;margin-bottom:25px}.hoop-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 35px;align-items:center}.hoop-gallery figure{position:relative;transform:rotate(-3deg)}.hoop-gallery figure:nth-child(even){transform:rotate(3deg)}.hoop-gallery button{width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.hoop-gallery img{height:400px;object-fit:contain;background:#f4eee7}.hoop-gallery .watermark{font-size:14px}@media(max-width:1000px){nav{gap:14px;font-size:12px}.hoop-gallery img{height:290px}}@media(max-width:650px){.hoops{padding:65px 8%}.hoops h2{font-size:52px}.hoop-gallery{grid-template-columns:1fr 1fr;gap:30px 16px}.hoop-gallery img{height:230px}}@media(max-width:380px){.hoop-gallery{grid-template-columns:1fr}.hoop-gallery img{height:330px}}

/* Every service stays directly available in the header, including on mobile. */
header{height:auto;min-height:112px;gap:30px;padding:24px 0}header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:13px 23px;max-width:960px}header nav a{display:inline-block!important;font-size:13px;line-height:1.5;padding:5px 0;border-bottom:1px solid transparent}header nav a:hover{border-bottom-color:var(--wine)}.service-line[id]{scroll-margin-top:35px}@media(max-width:1000px){header{align-items:flex-start}header nav{max-width:650px;gap:9px 17px}}@media(max-width:650px){header{display:block;padding:23px 0 16px}header .brand{margin-bottom:23px}header nav{justify-content:flex-start;gap:8px 17px;max-width:100%}header nav a{font-size:12px!important;padding:4px 0}}

header .threaded-brand{display:block;flex:0 0 235px;width:235px;line-height:0}header .threaded-brand svg{display:block;width:100%;height:auto;overflow:visible}@media(max-width:650px){header .threaded-brand{width:215px;margin-bottom:18px}}
