:root{--cream:#f7f3e9;--ink:#292d25;--orange:#b93b1e;--line:#d7d2c4;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid #cf7a16;outline-offset:5px}.skip{position:absolute;left:20px;top:-80px;z-index:9;background:white;padding:10px}.skip:focus{top:10px}.header{max-width:1500px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:2px;line-height:1.2}.brand-seal{display:block;flex-shrink:0;width:96px;height:96px}.brand-seal img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}.brand-sub{display:block;font-size:9px;font-weight:400;letter-spacing:1.8px;margin-top:7px}nav{display:flex;gap:35px;font-size:13px}nav a{text-decoration:none}nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{color:var(--orange)}.hero{max-width:1500px;margin:auto;padding:68px 5% 65px;display:grid;grid-template-columns:1fr 1.15fr;gap:5%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;margin:0 0 24px;line-height:1.6}.dot{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:50%;margin-right:8px}.hero h1{font:normal clamp(54px,5.9vw,91px)/1.02 var(--serif);letter-spacing:-3px;margin:0 0 28px}.hero h1 em{color:var(--orange);font-weight:400}.hero-description{max-width:360px;font-size:15px;color:#5d6255;margin-bottom:29px}.button{display:inline-flex;gap:35px;justify-content:space-between;align-items:center;padding:15px 22px;font-size:12px;text-decoration:none}.orange{color:var(--cream);background:var(--orange)}.button:hover{filter:brightness(1.1)}.handwritten{font:italic 18px var(--serif);margin:30px 0 0;color:#6d735f}.hero-art{margin:0;position:relative;transform:rotate(1.4deg);padding-top:4px}.hero-art img{width:100%;aspect-ratio:1.2;object-fit:contain;background:#292929}.hero-art figcaption{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1px;margin-top:14px}.hero-art figcaption span:last-child{font:italic 15px var(--serif);letter-spacing:0;color:var(--orange)}.ribbon{display:flex;justify-content:space-evenly;align-items:center;gap:15px;padding:19px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.6px}.ribbon i{font-style:normal;font-size:24px;color:var(--orange);line-height:1}.section{padding:86px 5%;max-width:1500px;margin:auto}.section-top{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:43px}h2{font:normal 49px/1.1 var(--serif);letter-spacing:-1.5px;margin:0}h2 em{font-weight:400;color:var(--orange)}.section-intro{max-width:360px;font-size:14px;color:#626658;margin:0 0 5px}.gallery-tools{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:26px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{padding:8px 15px;border:1px solid transparent;background:transparent;font-size:11px;color:var(--ink);cursor:pointer;border-radius:30px}.filter.active{background:var(--ink);color:var(--cream)}.filter:hover:not(.active){border-color:var(--line)}#work-count{font-size:10px;color:#707465;margin:0}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.work{min-width:0}.work button{display:block;width:100%;padding:0;background:transparent;border:0;text-align:left;cursor:zoom-in;color:inherit}.work-image{overflow:hidden;background:#2c2b2b;position:relative}.work-image img{width:100%;aspect-ratio:4/4.7;object-fit:contain;transition:transform .35s}.work button:hover img{transform:scale(1.035)}.zoom-icon{position:absolute;bottom:13px;right:13px;border:1px solid #ffffff7a;color:white;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:17px}.work-caption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;align-items:baseline}.work-caption h3{font:normal 18px var(--serif);margin:0}.work-caption span{font-size:9px;color:#737663}.gallery-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:30px}.gallery-bottom p{font:normal 22px/1.5 var(--serif);margin:0}.gallery-bottom p span{font:12px var(--sans);color:#626658}.text-link{font-size:12px;font-weight:600;text-underline-offset:8px}.text-link span{margin-left:20px;color:var(--orange)}.story{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.story-image{position:relative}.story-image img{width:100%;max-height:680px;object-fit:contain;background:#292929}.image-note{position:absolute;bottom:16px;left:20px;background:var(--cream);padding:8px 13px;font:italic 14px var(--serif)}.story-copy h2{font-size:clamp(42px,4.7vw,70px);margin-bottom:28px}.story-copy p:not(.eyebrow){font-size:14px;color:#606556;margin:0 0 20px;max-width:460px}.story-copy .text-link{display:inline-block;margin-top:12px}.process{border-top:1px solid var(--line)}.process h2{font-size:36px;margin-bottom:38px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.step{font-size:10px;letter-spacing:2px;color:var(--orange)}.process h3{font:normal 23px var(--serif);margin:20px 0 15px}.process p:not(.eyebrow){font-size:13px;color:#626658;max-width:330px}.contact{background:#23251f;color:var(--cream);display:grid;grid-template-columns:1.2fr 1fr;gap:15%;align-items:center}.contact h2{font-size:66px}.contact h2 em{color:#ef873d}.contact .eyebrow{color:#ef873d}.contact p:not(.eyebrow){font-size:14px;max-width:400px}.contact-buttons{display:flex;gap:25px;align-items:center;margin-top:30px}.cream{background:var(--cream);color:var(--ink)}.phone{font-size:13px;text-decoration:none}.location{display:block;font-size:9px;letter-spacing:2px;margin-top:30px}.class-note{border:1px solid #f7f3e96a;padding:34px 36px;transform:rotate(-2deg)}.class-sticker{width:128px;height:128px;object-fit:contain;border-radius:50%;margin-bottom:22px}.contact .class-note .class-invitation{font:italic 23px/1.3 var(--serif);margin:0 0 18px;color:#ef873d}.class-note h3{font:normal 32px/1.15 var(--serif);margin:20px 0}.class-note a{font-size:12px;text-underline-offset:6px}.class-note a span{margin-left:15px}footer{max-width:1500px;margin:auto;padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px}footer p{color:#53594b;font:italic clamp(18px,1.7vw,25px)/1.4 var(--serif);max-width:480px;margin:0}.footer-brand{font:italic 22px var(--serif);text-decoration:none}dialog{border:0;padding:50px 28px 24px;background:var(--cream);color:var(--ink);width:min(900px,94vw);max-height:94dvh;box-shadow:0 20px 80px #0005}dialog::backdrop{background:#10110ee0}.close-modal{position:absolute;right:20px;top:12px;border:0;background:transparent;cursor:pointer;font-size:13px;padding:7px}.modal-photo{height:min(66dvh,700px)}.modal-photo img{width:100%;height:100%;object-fit:contain}.modal-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.modal-caption h2{font-size:24px;letter-spacing:-.4px}.modal-caption a{font-size:12px;white-space:nowrap}body.modal-open{overflow:hidden}[hidden]{display:none!important}@media(min-width:1500px){.contact{max-width:1350px;margin-bottom:20px}}@media(max-width:900px){.hero{padding-top:45px;gap:25px}.hero h1{font-size:62px}.hero-art{transform:none}.section{padding-top:65px;padding-bottom:65px}.gallery{gap:28px 18px}.section-intro{max-width:280px}.story{gap:6%}.contact{gap:7%}.contact h2{font-size:53px}.class-note{padding:25px}.contact-buttons{flex-wrap:wrap}}@media(max-width:620px){.header{padding:20px 6%}.brand{font-size:14px;letter-spacing:1.5px}.brand-seal{width:66px;height:66px}.brand-sub{font-size:7px;letter-spacing:1px}nav{gap:16px;font-size:10px}nav a:nth-child(2){display:none}.hero{padding:38px 6% 35px;grid-template-columns:1fr;gap:33px}.hero h1{font-size:68px;letter-spacing:-2px}.hero .eyebrow{font-size:8px;margin-bottom:22px}.hero-description{font-size:14px;max-width:330px}.handwritten{margin-top:20px;font-size:16px}.hero-art img{aspect-ratio:1.35}.hero-art figcaption{font-size:8px}.ribbon{font-size:8px;letter-spacing:.8px;padding:16px 6%;gap:10px;flex-wrap:wrap}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.ribbon i{font-size:18px}.section{padding:55px 6%}.section-top{display:block;margin-bottom:28px}.section-top h2{font-size:44px}.section-intro{max-width:100%;margin-top:22px;font-size:13px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:18px}.gallery-tools{display:block}.filter{font-size:10px;padding:8px 13px}#work-count{margin-top:14px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.work-caption{display:block;padding-top:10px}.work-caption h3{font-size:17px}.work-caption span{font-size:8px}.zoom-icon{width:24px;height:24px;right:8px;bottom:8px}.gallery-bottom{display:block}.gallery-bottom p{font-size:21px}.gallery-bottom .text-link{display:inline-block;margin-top:20px}.story{grid-template-columns:1fr;gap:30px}.story-image img{max-height:420px}.story-copy h2{font-size:44px}.story-copy p:not(.eyebrow){font-size:13px}.process h2{font-size:32px}.process-grid{grid-template-columns:1fr;gap:25px}.process-grid article{border-top:1px solid var(--line);padding-top:20px}.process h3{margin:12px 0}.process p:not(.eyebrow){max-width:100%}.contact{grid-template-columns:1fr;gap:42px}.contact h2{font-size:57px}.class-note{transform:none;max-width:100%;padding:25px}.class-note h3{font-size:30px}.contact-buttons{gap:20px}footer{padding:30px 6%;flex-direction:column;align-items:start;gap:12px}footer p{margin:0}.modal-caption{display:block}.modal-caption h2{font-size:23px;margin-bottom:12px}dialog{padding:50px 16px 22px}.modal-photo{height:62dvh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-image img{transition:none}}

.footer-signoff{text-align:center}@media(max-width:620px){.footer-signoff{text-align:left}}

/* Social profile links */
.social-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.social-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 18px;border:1px solid currentColor;border-radius:999px;font:600 14px Arial,sans-serif;text-decoration:none;color:inherit}.contact .social-link{color:#f7f3e9}.social-link:hover{background:#b93b1e;color:#fff;border-color:#b93b1e}.social-link:focus-visible{outline:3px solid #ef873d;outline-offset:4px}footer{flex-wrap:wrap}footer .social-links{margin:8px 0}
