:root{--paper:#f7f4ed;--ink:#1d1e1b;--muted:#6d6b64;--line:#d8d3c8;--soft:#e9e3d8;--blue:#7f93a1;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace;--hand:'Caveat',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:76px;padding:0 38px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(29,30,27,.1);position:relative;z-index:5;background:rgba(247,244,237,.95)}.wordmark{font:600 20px var(--serif);letter-spacing:-.04em}.site-header nav{display:flex;gap:32px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.site-header nav a:hover,.header-cta:hover{text-decoration:underline;text-underline-offset:5px}.header-cta{justify-self:end;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.header-cta span{margin-left:8px}.hero{min-height:calc(100vh - 76px);padding:42px 5.5vw 56px;display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center}.hero-copy{max-width:760px}.eyebrow,.section-tag{font:500 10px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#88745a}.eyebrow{margin-bottom:42px}.hero h1{font:500 clamp(68px,8.8vw,138px)/.89 var(--serif);letter-spacing:-.075em;margin:0;max-width:820px}.hero-copy>p{font-size:18px;line-height:1.45;color:var(--muted);max-width:570px;margin:34px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{padding:15px 22px;border-radius:999px;font-size:12px;transition:.2s}.button.dark{background:var(--ink);color:#fff}.button.light{border:1px solid #2b2c29}.button:hover{transform:translateY(-2px)}.hero-photo{position:relative;justify-self:end;width:min(100%,660px)}.hero-photo img{width:100%;height:min(76vh,800px);object-fit:cover;object-position:center;border-radius:34% 34% 28% 28%;display:block}.photo-note{position:absolute;right:-16px;bottom:24px;background:var(--paper);padding:14px 17px;font:20px var(--hand);transform:rotate(-4deg);box-shadow:0 7px 20px rgba(0,0,0,.08)}
.section{padding:135px 7vw}.intro{display:grid;grid-template-columns:.55fr 1.45fr;gap:7vw;align-items:center;min-height:600px}.intro-main{max-width:850px}.intro h2,.stamp-copy h2,.work h2,.about h2,.services h2,.contact h2{font:500 clamp(48px,6.4vw,94px)/.97 var(--serif);letter-spacing:-.06em;margin:16px 0 28px}.intro h2 em,.services h2 em,.contact h2 em{font-style:italic}.intro p{font-size:21px;line-height:1.45;color:#4d4c47;max-width:760px;margin:0}.stamp-section{background:#e8e1d6;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;min-height:650px}.stamp-graphic{display:flex;justify-content:center}.stamp-card{width:min(430px,80vw);aspect-ratio:1.2;background:#f9f5eb;border:1px solid #34332e;box-shadow:14px 16px 0 rgba(38,36,31,.08);padding:28px;transform:rotate(-4deg);position:relative}.stamp-card:before{content:'';position:absolute;inset:10px;border:1px dashed #8f897e;pointer-events:none}.stamp-top,.stamp-bottom{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.1em;position:relative;z-index:1}.stamp-camera{height:68%;display:flex;align-items:center;justify-content:center;position:relative}.stamp-camera img{width:48%;max-width:190px;mix-blend-mode:multiply;opacity:.78}.stamp-bottom{align-items:flex-end}.stamp-copy{max-width:670px}.stamp-copy p{font-size:20px;color:#514f48;max-width:600px}.hand-note{font:27px var(--hand);display:block;margin-top:30px;transform:rotate(-2deg)}
.work{background:#fbf9f5}.work-head{display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:end;margin-bottom:48px}.work-head p{margin:0 0 6px;color:var(--muted);font-size:15px;max-width:380px}.work h2{margin-bottom:0}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:34px}.filters button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 16px;font-size:11px;color:var(--muted);cursor:pointer}.filters button.active,.filters button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 22px}.gallery-item{margin:0;cursor:zoom-in;position:relative}.gallery-item img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .35s ease}.gallery-item:hover img{transform:scale(.985)}.gallery-item figcaption{padding:11px 2px 0;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#77736b} .ugc-section{display:grid;grid-template-columns:.45fr 1.55fr;gap:8vw;align-items:center;background:#e8e1d6}.ugc-mark{width:170px;height:170px;border:1px solid #383731;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font:500 31px/.85 var(--serif);letter-spacing:-.05em;transform:rotate(-7deg)}.ugc-mark span{font-family:var(--sans);font-size:24px}.ugc-copy{max-width:900px}.ugc-copy p{font-size:19px;line-height:1.5;color:#4f4c45;max-width:780px}.ugc-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.ugc-points span{border:1px solid #bdb6a9;border-radius:999px;padding:9px 13px;font:9px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#656159}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:center}.about-photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;border-radius:180px 180px 20px 20px}.about-copy{max-width:700px}.about-copy>p:not(.philosophy){font-size:18px;line-height:1.55;color:#4d4c47}.philosophy{font:italic 500 28px/1.25 var(--serif);max-width:650px;margin:34px 0}.social-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:35px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.social-links a{border-bottom:1px solid #222;padding-bottom:5px}.services{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:#20211f;color:#f4f0e8}.services .section-tag{color:#b6a88f}.services h2{margin-top:15px}.service-list{border-top:1px solid #484842}.service-list article{display:grid;grid-template-columns:45px 1fr 25px;gap:15px;padding:28px 0;border-bottom:1px solid #484842}.service-number,.service-arrow{font:10px var(--mono);color:#aaa79f}.service-list h3{font:500 27px var(--serif);margin:0 0 7px}.service-list p{margin:0;color:#b9b7b0;max-width:520px;font-size:14px}.service-arrow{text-align:right}.contact{background:#e4ddd1;padding:125px 7vw;display:grid;grid-template-columns:1fr 260px;gap:8vw;align-items:end;overflow:hidden}.contact h2{font-size:clamp(60px,8vw,118px);margin:14px 0 22px}.contact p{font-size:17px;color:#5c574f}.contact-email{display:inline-flex;gap:16px;align-items:center;font:500 clamp(20px,2.3vw,30px) var(--serif);border-bottom:1px solid #222;padding:10px 0;margin-top:18px}.contact-doodle{width:220px;height:220px;border:1px solid #2e2c27;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg);justify-self:end}.contact-doodle span{font:27px var(--hand);line-height:.8}.contact-doodle strong{font:500 55px/.95 var(--serif);letter-spacing:-.08em}.contact-doodle small{font:9px var(--mono);letter-spacing:.1em;margin-top:12px}footer{display:flex;justify-content:space-between;padding:22px 38px;font:9px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#77736c}.lightbox{position:fixed;z-index:50;inset:0;background:rgba(17,17,16,.96);display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;background:none;border:0;color:#fff;cursor:pointer}.lightbox .close{top:18px;right:28px;font-size:38px}.lightbox .prev,.lightbox .next{top:50%;transform:translateY(-50%);font-size:60px;font-family:var(--serif)}.lightbox .prev{left:22px}.lightbox .next{right:22px}.lightbox-caption{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ddd}
@media(max-width:800px){.site-header{height:64px;padding:0 18px;grid-template-columns:1fr auto}.site-header nav,.header-cta{display:none}.hero{min-height:auto;padding:45px 18px 70px;display:flex;flex-direction:column;gap:45px;align-items:stretch}.eyebrow{margin-bottom:30px}.hero h1{font-size:clamp(57px,15vw,95px)}.hero-copy>p{font-size:16px;margin:25px 0}.hero-photo{width:100%}.hero-photo img{height:70vh;max-height:620px;border-radius:28% 28% 22% 22%}.photo-note{right:5px;bottom:15px}.section{padding:85px 18px}.intro,.stamp-section,.about,.services,.ugc-section{grid-template-columns:1fr;gap:55px}.intro{min-height:0}.intro h2,.stamp-copy h2,.work h2,.about h2,.services h2{font-size:clamp(45px,13vw,76px)}.stamp-card{width:min(390px,92vw)}.work-head{grid-template-columns:1fr;gap:20px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery-item img{aspect-ratio:4/5}.gallery-item figcaption{display:block;line-height:1.5}.gallery-item figcaption span{display:block}.ugc-mark{width:145px;height:145px}.about-photo img{border-radius:120px 120px 16px 16px}.contact{padding:90px 18px;grid-template-columns:1fr;gap:50px}.contact-doodle{justify-self:start;width:180px;height:180px}.contact-doodle strong{font-size:46px}footer{padding:18px;display:block;line-height:2}}
