@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg:#fff;--ink:#111;--text:#3d3d3d;--muted:#6f6f6f;--line:#e8e8e8;--ph-bg:#f1f1f1;--sans:"Instrument Sans Variable", "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--pad:clamp(12px, 2vw, 28px);--gap:clamp(8px, 1vw, 14px);--bar:68px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html:has(dialog[open]){overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;line-height:1.65}h1,h2,p,ul,dl,dd,figure{margin:0;padding:0}ul{list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}em{font-style:inherit}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline-offset:4px;outline:1px solid}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--ink);color:var(--bg);letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;font-size:12px;text-decoration:none;position:absolute;top:8px;left:8px;translate:0 -200%}.skip:focus{translate:0}.topbar{z-index:10;height:var(--bar);padding:0 var(--pad);background:var(--bg);justify-content:space-between;align-items:center;gap:24px;display:flex;position:sticky;top:0}.brand{letter-spacing:.28em;text-transform:uppercase;white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.brand span{color:var(--muted);letter-spacing:.16em;margin-left:16px;font-weight:400}.site-nav{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:clamp(16px,2.6vw,40px);font-size:12px;display:flex}.site-nav a{text-underline-offset:7px;padding:6px 0;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{text-decoration:underline 1px}.lang{color:var(--muted);align-items:center;gap:8px;display:flex}.lang b{color:var(--ink);font-weight:500}.lang a{color:var(--muted)}.lang a:hover{color:var(--ink)}.ph a{background:var(--ph-bg);cursor:zoom-in;display:block;overflow:hidden}.ph img{width:100%}@media (hover:hover){.ph img{transition:scale 1.2s cubic-bezier(.2,.6,.2,1)}.ph a:hover img{scale:1.02}}.stream{padding:0 var(--pad) clamp(44px, 6vw, 104px);row-gap:clamp(44px,6vw,104px);display:grid}.page-bridal .stream{padding-top:0}.loose{row-gap:var(--gap);display:grid}.row{gap:var(--gap);display:grid}.row--pair,.row--solo{grid-template-columns:1fr 1fr}.row--trio{grid-template-columns:repeat(3,1fr)}.row--solo.is-flip .ph{grid-column:2}.row .ph--p img{aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;height:100%}.row--full img{aspect-ratio:16/9;object-fit:cover;object-position:50% 35%}.camp{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:var(--gap);display:grid}.camp-thumbs{display:contents}.camp .ph,.camp .ph a{height:100%}.camp-lead{aspect-ratio:4/5;grid-area:span 2/span 2}.camp--l .camp-lead{aspect-ratio:3/2}.camp.is-flip .camp-lead{grid-column:3/span 2}.camp-lead a{position:relative}.camp-lead img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;position:absolute;inset:0}.camp-thumbs .ph img{object-fit:cover;object-position:50% 30%;height:100%}.camp--p .camp-thumbs .ph img{aspect-ratio:4/5}.camp--l .camp-thumbs .ph img{aspect-ratio:3/2}.camp-cap{grid-column:span var(--cap-span);flex-direction:column;order:1;justify-content:flex-end;min-width:0;padding:clamp(10px,1.2vw,20px) 2px;display:flex}.camp-no{color:var(--muted);letter-spacing:.16em;font-size:12px}.camp-cap h2{letter-spacing:-.025em;margin-top:6px;font-size:clamp(19px,1.8vw,28px);font-weight:500;line-height:1.08}.camp-cap p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:8px;font-size:12px}@media (hover:hover){.camp .ph{transition:opacity .45s 60ms}.camp:has(.ph:hover) .ph:not(:hover){opacity:.38}}@media (prefers-reduced-motion:no-preference){.js [data-reveal] a{clip-path:inset(0 0 100%);transition:clip-path 1.1s cubic-bezier(.2, .7, .1, 1) var(--d,0s)}.js [data-reveal] a img{transition:transform 1.7s cubic-bezier(.2, .7, .1, 1) var(--d,0s), scale 1.2s cubic-bezier(.2, .6, .2, 1);transform:scale(1.12)}.js .camp-cap[data-reveal]{opacity:0;transition:opacity .9s ease var(--d,0s), translate .9s cubic-bezier(.2, .7, .1, 1) var(--d,0s);translate:0 12px}.js [data-reveal].is-in a{clip-path:inset(0)}.js [data-reveal].is-in a img{transform:none}.js .camp-cap[data-reveal].is-in{opacity:1;translate:0}}.intro{gap:var(--gap);padding:clamp(40px, 7vw, 120px) var(--pad) clamp(36px, 5vw, 80px);grid-template-columns:1fr 1fr;align-items:end;display:grid}.intro h1,.contact-body h1,.prose h1,.notice h1{letter-spacing:-.035em;font-size:clamp(38px,5.4vw,84px);font-weight:500;line-height:.98}.intro-body{max-width:48ch}.intro p{color:var(--text);font-size:16px}.cta{letter-spacing:.16em;text-transform:uppercase;text-underline-offset:7px;margin-top:24px;font-size:12px;font-weight:500;text-decoration:underline 1px;display:inline-block}.cta:after{content:" →"}.contact{gap:var(--gap);padding:0 var(--pad) var(--pad);grid-template-columns:1fr 1fr;align-items:start;display:grid}.contact--no-photo{grid-template-columns:1fr}.contact-photo{top:var(--bar);position:sticky}.contact-photo img{width:100%;height:calc(100dvh - var(--bar) - var(--pad));object-fit:cover;min-height:480px}.contact-body{padding:clamp(20px,4vw,72px) clamp(8px,5vw,96px) 72px}.bio{max-width:48ch;color:var(--text);margin-top:32px;font-size:16px}.clients{margin-top:32px}.clients dt,.field label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:12px}.clients dd{margin-top:6px;font-size:15px}.form{gap:26px;max-width:560px;margin-top:56px;display:grid}.field label{margin-bottom:2px;display:block}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--ink);appearance:none;background:0 0;border-radius:0;outline:none;width:100%;padding:9px 0 11px;font-size:17px;display:block}.field select{cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23111'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E") right 2px center no-repeat}.field textarea{resize:vertical;min-height:110px}.field :focus{box-shadow:0 1px 0 var(--ink)}.field--date{display:none}.form:has(option[data-key=slub]:checked) .field--date{display:block}.trap{position:absolute;left:-9999px}.consent,.hint{color:var(--muted);font-size:12.5px}.hint{margin-top:6px}.consent a{text-underline-offset:3px}.btn{border:1px solid var(--ink);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;padding:18px 24px;font-size:12px;font-weight:500;transition:background .25s,color .25s}.btn:hover{background:var(--ink);color:var(--bg)}.btn:disabled{opacity:.5;cursor:progress}.form-status{color:var(--text);font-size:15px}.form-status[data-state=error]{color:#9b1c1c}.fallback{margin-top:56px;font-size:16px}.direct{letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;gap:6px 28px;margin-top:48px;font-size:12px;display:flex}.direct a{text-decoration:none}.direct a:hover{text-underline-offset:6px;text-decoration:underline}.prose{max-width:72ch;padding:clamp(40px, 6vw, 96px) var(--pad) clamp(56px, 8vw, 120px)}.prose h1{font-size:clamp(34px,4.4vw,64px)}.prose h2{letter-spacing:-.01em;margin-top:40px;font-size:18px;font-weight:500}.prose p,.prose ul{color:var(--text);margin-top:14px;font-size:16px}.prose ul{padding-left:1.2em;list-style:outside}.prose li+li{margin-top:6px}.notice{min-height:calc(100dvh - var(--bar) - 180px);padding:48px var(--pad);align-content:center;display:grid}.notice p{color:var(--text);margin-top:20px;font-size:16px}.site-footer{padding:22px var(--pad) 40px;border-top:1px solid var(--line);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 32px;font-size:12px;display:flex}.site-footer ul{flex-wrap:wrap;gap:6px 28px;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--ink)}.lb{background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);border:0;margin:0;padding:0;position:fixed;inset:0}.lb:focus{outline:none}.lb[open]{justify-content:center;align-items:center;display:flex}.lb::backdrop{background:var(--bg)}.lb-img{user-select:none;-webkit-user-drag:none;touch-action:none;width:auto;max-width:min(100vw - 32px,1800px);height:auto;max-height:calc(100dvh - 128px)}.lb button{letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:18px;font-size:12px;position:absolute}.lb-close{top:6px;right:10px}.lb-prev,.lb-next{top:50%;translate:0 -50%;letter-spacing:0!important;font-size:18px!important}.lb-prev{left:8px}.lb-next{right:8px}.lb-count{text-align:center;letter-spacing:.22em;opacity:.6;font-size:12px;position:absolute;inset:auto 0 24px}::view-transition-group(lb-photo){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.7,.1,1)}::view-transition-old(lb-photo),::view-transition-new(lb-photo){object-fit:cover;width:100%;height:100%}::view-transition-old(root),::view-transition-new(root){animation-duration:.4s}@media (width<=720px){.topbar{flex-wrap:wrap;gap:6px 16px;height:auto;padding-block:16px 10px}.brand span{display:none}.site-nav{flex:1 0 100%;justify-content:space-between}.row--trio{grid-template-columns:1fr 1fr}.row--trio .ph:first-child{grid-column:1/-1}.row--full img{aspect-ratio:3/2}.camp{grid-template-columns:1fr 1fr}.camp-lead,.camp.is-flip .camp-lead{order:-2;grid-area:auto/1/auto/-1}.camp-cap{order:var(--cap-phone-order);grid-column:span var(--cap-phone-span)}.intro{grid-template-columns:1fr;gap:24px}.contact{grid-template-columns:1fr}.contact-photo{position:static}.contact-photo img{aspect-ratio:4/5;height:auto;min-height:0}.lb-prev,.lb-next{top:auto;bottom:6px;translate:none}}
