@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap');
:root{--ink:#19372d;--deep:#123b30;--leaf:#2e6548;--moss:#91a96c;--cream:#f7f3e7;--gold:#e7bd59;--line:rgba(25,55,45,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.site-header{align-items:center;display:flex;justify-content:space-between;margin:auto;max-width:1280px;padding:28px 6vw}.brand{align-items:center;display:flex;font-family:Fraunces,serif;font-size:1.25rem;font-weight:600;gap:10px}.brand small{font-family:'DM Sans',sans-serif;font-size:.55rem;letter-spacing:.16em;margin-left:4px;text-transform:uppercase}.brand-mark{align-items:center;background:var(--gold);border-radius:50%;display:inline-flex;font-size:.8rem;height:30px;justify-content:center;width:30px}nav{align-items:center;display:flex;font-size:.78rem;font-weight:700;gap:32px;letter-spacing:.03em}.nav-button{border:1px solid var(--ink);border-radius:100px;padding:12px 17px}.nav-button span,.text-link span,.contact-link span{margin-left:10px}.hero{align-items:center;display:grid;grid-template-columns:1fr 1fr;margin:auto;max-width:1280px;min-height:650px;padding:55px 6vw 90px}.eyebrow{align-items:center;display:flex;font-size:.68rem;font-weight:700;gap:10px;letter-spacing:.15em;margin:0 0 25px;text-transform:uppercase}.eyebrow span{background:var(--gold);border-radius:50%;height:8px;width:8px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Fraunces,serif;font-weight:500;letter-spacing:0;line-height:.98}h1{font-size:clamp(4rem,7.5vw,7.4rem);margin-bottom:30px}h2{font-size:clamp(3rem,5.4vw,5.5rem)}em{color:var(--leaf);font-style:italic}.hero-intro{font-size:1rem;line-height:1.7;max-width:390px}.text-link,.contact-link{border-bottom:1px solid var(--ink);display:inline-block;font-size:.78rem;font-weight:700;margin-top:22px;padding-bottom:9px}.hero-art{background:var(--deep);border-radius:48% 48% 8px 8px;height:550px;margin-left:auto;overflow:hidden;position:relative;width:min(100%,500px)}.sun-glow{background:#e8c964;border-radius:50%;filter:blur(20px);height:280px;left:50%;opacity:.8;position:absolute;top:100px;transform:translateX(-50%);width:280px}.lantern{left:50%;position:absolute;top:170px;transform:translateX(-50%);width:150px}.lantern-handle{border:7px solid #b7813f;border-bottom:0;border-radius:100px 100px 0 0;height:48px;margin:auto;width:74px}.lantern-top,.lantern-base{background:#a87138;height:14px;margin:auto;position:relative;width:170px;z-index:2}.lantern-top{border-radius:9px 9px 2px 2px;margin-bottom:-2px}.lantern-base{border-radius:2px 2px 10px 10px}.lantern-body{background:#d0a14b;border:8px solid #a87138;height:155px;overflow:hidden;position:relative}.lantern-body:before,.lantern-body:after{border:5px solid #a87138;content:'';height:155px;position:absolute;top:-8px;width:42px}.lantern-body:before{border-bottom:0;border-top:0;left:18px;transform:skew(-7deg)}.lantern-body:after{border-bottom:0;border-top:0;right:18px;transform:skew(7deg)}.lantern-body span{background:#fff5b5;border-radius:50%;box-shadow:0 0 40px 18px #fff0a0;display:block;height:90px;margin:23px auto;width:55px}.fern{bottom:-15px;height:260px;position:absolute;width:170px}.fern-left{left:0;transform:rotate(-22deg)}.fern-right{right:0;transform:scaleX(-1) rotate(-22deg)}.fern:before{background:#447354;content:'';height:290px;left:80px;position:absolute;transform:rotate(-15deg);width:7px}.fern i{background:#628662;border-radius:100% 0;height:65px;position:absolute;transform:rotate(-35deg);width:28px}.fern i:nth-child(1){left:38px;top:150px}.fern i:nth-child(2){left:53px;top:105px;transform:rotate(3deg)}.fern i:nth-child(3){left:67px;top:58px;transform:rotate(-25deg)}.fern i:nth-child(4){left:92px;top:112px;transform:rotate(45deg)}.fern i:nth-child(5){left:104px;top:165px;transform:rotate(55deg)}.art-note{bottom:31px;color:#d7e0c5;font-family:Fraunces,serif;font-size:1.1rem;font-style:italic;left:28px;line-height:1.2;position:absolute}.section-grid{border-top:1px solid var(--line);display:grid;gap:8%;grid-template-columns:22% 1fr;margin:auto;max-width:1280px;padding:110px 6vw 135px}.section-label{display:flex;font-size:.68rem;font-weight:700;gap:12px;letter-spacing:.1em;text-transform:uppercase}.section-label span:first-child{color:var(--leaf)}.label-line{background:var(--gold);height:1px;margin-top:7px;width:32px}.section-content{display:grid;grid-template-columns:1fr 1fr;gap:8%}.section-content h2{margin:0}.about-text{font-size:.94rem;line-height:1.72;max-width:510px}.about-text p{margin-bottom:20px}.signature{color:var(--leaf);font-family:Fraunces,serif;font-size:1.25rem;font-style:italic;margin-top:32px}.making{background:var(--moss);padding:105px 6vw 120px}.making-heading,.making-list{margin:auto;max-width:1160px}.making h2{margin-bottom:75px}.making-list{border-top:1px solid rgba(25,55,45,.35);display:grid;grid-template-columns:repeat(3,1fr)}.making-list article{border-right:1px solid rgba(25,55,45,.35);min-height:235px;padding:25px 30px 20px 0;position:relative}.making-list article+article{padding-left:30px}.making-list article:last-child{border:0}.item-number{font-size:.67rem;font-weight:700}.making h3{font-family:Fraunces,serif;font-size:1.7rem;font-weight:500;margin:50px 0 10px}.making-list p{font-size:.82rem}.item-icon{bottom:18px;font-size:2rem;position:absolute;right:25px}.contact{background:var(--deep);color:var(--cream);padding:120px 6vw 135px;text-align:center}.contact .eyebrow{justify-content:center}.contact h2{color:var(--cream);margin:auto auto 35px}.contact h2 em{color:var(--gold)}.contact-link{border-color:var(--gold);color:var(--gold);font-size:.9rem}footer{background:#0d2b23;color:#a9baa5;display:flex;font-size:.65rem;justify-content:space-between;letter-spacing:.08em;padding:22px 6vw;text-transform:uppercase}
@media(max-width:700px){.site-header{padding:22px 6vw}nav{gap:16px}nav a:not(.nav-button){display:none}.nav-button{padding:10px 13px}.hero{display:block;min-height:auto;padding-top:60px}.hero h1{font-size:4.5rem}.hero-art{height:430px;margin:65px auto 0}.lantern{top:115px;transform:translateX(-50%) scale(.8)}.section-grid{display:block;padding:75px 6vw}.section-label{margin-bottom:45px}.section-content{display:block}.section-content h2{font-size:3.5rem;margin-bottom:45px}.making{padding:75px 6vw}.making h2{font-size:3.5rem;margin-bottom:50px}.making-list{display:block}.making-list article,.making-list article+article{border-bottom:1px solid rgba(25,55,45,.35);border-right:0;min-height:175px;padding:22px 0}.making h3{margin-top:25px}.contact{padding:85px 6vw}.contact h2{font-size:3.4rem}footer{display:block;line-height:2}footer span{display:block}}
.brand img{border-radius:50%;height:42px;object-fit:cover;width:42px}.hero-art{background:var(--deep);border-radius:8px;height:auto;margin-left:auto;overflow:hidden;position:relative;width:min(100%,560px)}.hero-art img{display:block;height:auto;width:100%}
@media(max-width:700px){.brand img{height:36px;width:36px}.hero-art{height:auto}.hero-art img{min-height:0;object-fit:contain}}
.crochet-gallery{background:#e9dfc7;display:grid;gap:8%;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);padding:120px 6vw 130px}.gallery-intro{align-self:center;max-width:390px}.gallery-intro h2{margin-bottom:28px}.gallery-intro>p:last-child{font-size:.95rem;line-height:1.7;max-width:340px}.carousel{min-width:0}.carousel-stage{align-items:center;display:grid;gap:18px;grid-template-columns:42px minmax(0,1fr) 42px}.carousel-figure{margin:0;min-width:0}.carousel-figure img{aspect-ratio:1/1;background:#d8ccb0;display:block;object-fit:cover;width:100%}.carousel-figure figcaption{align-items:center;border-bottom:1px solid var(--line);display:flex;font-family:Fraunces,serif;font-size:1.2rem;justify-content:space-between;padding:18px 0}.carousel-figure figcaption span:last-child{font-family:'DM Sans',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.1em}.carousel-arrow{align-items:center;background:transparent;border:1px solid var(--ink);border-radius:50%;color:var(--ink);cursor:pointer;display:flex;font-size:1.3rem;height:42px;justify-content:center;padding:0;transition:background .2s,color .2s;width:42px}.carousel-arrow:hover,.carousel-arrow:focus-visible{background:var(--ink);color:var(--cream)}.carousel-controls{margin-top:22px}.carousel-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 8px;scrollbar-color:var(--leaf) transparent}.thumbnail{background:#d8ccb0;border:2px solid transparent;cursor:pointer;flex:0 0 70px;height:70px;padding:0;transition:border-color .2s,transform .2s;width:70px}.thumbnail:hover{transform:translateY(-2px)}.thumbnail.is-active{border-color:var(--ink)}.thumbnail img{display:block;height:100%;object-fit:cover;width:100%}.carousel-status{color:var(--leaf);font-size:.68rem;letter-spacing:.08em;margin:12px 0 0;text-transform:uppercase}.carousel-arrow:focus-visible,.thumbnail:focus-visible,.nav-button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:700px){.crochet-gallery{display:block;padding:82px 6vw 90px}.gallery-intro{margin-bottom:55px}.gallery-intro h2{font-size:3.5rem}.carousel-stage{gap:10px;grid-template-columns:34px minmax(0,1fr) 34px}.carousel-arrow{font-size:1.1rem;height:34px;width:34px}.carousel-figure figcaption{font-size:1.05rem}.thumbnail{flex-basis:58px;height:58px;width:58px}.carousel-status{line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.carousel-arrow,.thumbnail{transition:none}}
.carousel-figure img{object-fit:contain}.inline-link{border-bottom:1px solid var(--leaf);color:var(--leaf);font-weight:700}
