/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--background:#fff;--alternate:#faf9f7;--text:#1f1e1c;--muted:#6b6863;--line:#d8d5d0;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", Arial, sans-serif;--mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:66px}body{background:var(--background);color:var(--text);font-family:var(--sans);margin:0;font-size:15px;line-height:1.55}button,a{color:inherit;font:inherit}a{text-decoration:none}button{border:0}a:focus-visible,button:focus-visible{outline:2px solid var(--text);outline-offset:4px}.site-header{z-index:30;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:60px;padding:0 3vw;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--line) 76%, transparent)}}.site-header{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--background) 94%, transparent)}}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.wordmark{font-family:var(--serif);font-size:1.25rem;font-weight:600}nav,.footer-links{gap:clamp(17px,2.2vw,34px);display:flex}nav a,.footer-links a{letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;font-weight:600}nav a:hover,.footer-links a:hover,.email-address:hover{text-underline-offset:5px;text-decoration:underline}.hero{padding:clamp(14px,1.8vw,24px) 3vw clamp(42px,4.5vw,64px)}.hero-images{grid-template-columns:.96fr 1.08fr .96fr;gap:clamp(16px,1.3vw,20px);width:min(100%,1320px);height:clamp(520px,62vh,620px);max-height:78vh;margin:0 auto;display:grid}.placeholder{border:1px solid var(--line);color:var(--muted);background:linear-gradient(135deg,#0000 0 47%,#201f1d06 47% 53%,#0000 53%),radial-gradient(circle at 35% 25%,#fff 0,#0000 44%),#f1f0ed;place-items:center;display:grid;position:relative;overflow:hidden}.placeholder:after{content:"";pointer-events:none;border:1px solid #201f1d11;position:absolute;inset:11px}.placeholder.has-image{background:#e9e6e1}.placeholder.has-image img{object-fit:cover;width:100%;height:100%;display:block}.hero-family img{object-position:center 56%}.hero-center img{object-position:center 42%}.hero-beach img{object-position:center 50%}.placeholder.has-image.contact-portrait img{object-fit:contain;object-position:center}.placeholder>span:first-child{z-index:1;letter-spacing:.13em;text-align:center;text-transform:uppercase;padding:7px 9px;font-size:.62rem;position:relative}.hero-side,.hero-center,.hero-center>.placeholder{height:100%;min-height:0}.hero-center{position:relative}.hero-copy{z-index:2;color:#fffdf8;pointer-events:none;padding:14% 7% 7%;position:absolute;inset:auto 0 0}.hero-typed{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:0;max-width:max-content;font-family:var(--mono);white-space:nowrap;background:#1f1e1c94;align-items:center;padding:5px 8px 6px;font-size:clamp(1.25rem,1.5vw,1.5rem);line-height:1.2;animation:1s steps(11,end) .3s forwards hero-typing;display:inline-flex;overflow:hidden}.cursor,.about-cursor{background:currentColor;width:2px;height:1em;margin-left:3px}.cursor{animation:.5s step-end .3s 4 blink}.hero-copy h1{font-family:var(--serif);letter-spacing:-.055em;opacity:0;text-shadow:0 2px 18px #14131259;margin:8px 0 0;font-size:clamp(3.625rem,5vw,4.5rem);font-weight:400;line-height:.88;animation:.55s 1.35s forwards hero-name;transform:translateY(10px)}.hero-action{text-align:center;flex-direction:column;align-items:center;padding-top:clamp(24px,2.8vw,38px);display:flex}.hero-action p{font-family:var(--serif);letter-spacing:-.035em;margin:0 0 20px;font-size:clamp(2.25rem,2.8vw,2.625rem);line-height:1}.arrow-link{align-items:center;gap:8px;display:inline-flex}.arrow{transition:transform .18s;display:inline-block}.arrow-link:hover .arrow{transform:translate(3px,-3px)}.button-link{background:var(--text);min-height:50px;color:var(--background);letter-spacing:.045em;border-radius:7px;justify-content:center;padding:13px 20px;font-size:.77rem;font-weight:600}.section{padding:clamp(44px,4.9vw,70px) 6vw}.eyebrow{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px;font-size:.64rem;font-weight:600}h2{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,5vw,5.5rem);font-weight:400;line-height:.9}.about{background:var(--alternate)}.about-heading{max-width:980px}.about-lead{opacity:0;display:inline-block;transform:translateY(12px)}.about-heading.is-visible .about-lead{animation:.55s forwards about-lead}.about-typed{white-space:nowrap;align-items:center;width:0;display:inline-flex;overflow:hidden}.about-heading.is-visible .about-typed{animation:1.55s steps(12,end) .42s forwards about-typing}.about-cursor{animation:.62s step-end .42s 5 blink}.about-grid{grid-template-columns:minmax(300px,340px) 1fr;align-items:center;gap:clamp(46px,6vw,88px);max-width:1120px;margin:0 auto;display:grid}.intro-video{aspect-ratio:9/16;border:1px solid var(--line);cursor:pointer;background:#efede9;border-radius:20px;width:min(100%,330px);display:block;position:relative;overflow:hidden}.intro-video video{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.play{z-index:2;background:var(--background);min-width:47px;min-height:47px;color:var(--text);letter-spacing:.08em;text-transform:uppercase;border-radius:50%;place-items:center;padding:7px 10px;font-size:.56rem;font-weight:600;display:grid;position:absolute;bottom:13px;right:13px}.about-list{margin:clamp(24px,3vw,36px) 0 0;padding:0;list-style:none}.about-list li{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr;align-items:baseline;gap:12px;padding:15px 0;display:grid}.about-list li>span,.service-list article>span{color:var(--muted);font-family:var(--mono);font-size:.62rem}.about-list p{color:var(--text);margin:0;font-size:clamp(.98rem,1.2vw,1.12rem)}.text-links{letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:22px;margin-top:27px;font-size:.68rem;font-weight:600;display:flex}.work{padding-left:3vw;padding-right:3vw}.work>.eyebrow,.work>h2{width:min(1080px,100% - 6vw);margin-left:auto;margin-right:auto}.work-group{margin-top:clamp(46px,5vw,68px)}.work-heading{border-bottom:1px solid var(--line);grid-template-columns:.7fr 1.3fr;align-items:end;gap:24px;width:min(1080px,100% - 6vw);margin:0 auto 18px;padding-bottom:15px;display:grid}.work-heading h3,.service-list h3{font-family:var(--serif);letter-spacing:-.04em;margin:0;font-size:clamp(2.2rem,3.2vw,3.7rem);font-weight:400;line-height:.95}.work-heading p{max-width:600px;color:var(--muted);margin:0;font-size:.84rem}.video-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.3vw,20px);width:min(1080px,100% - 6vw);margin:0 auto;display:grid}.video-frame{aspect-ratio:9/16;border-radius:20px;width:100%;position:relative;overflow:hidden}.video-frame.has-cover{border:1px solid var(--line);background:#efede9}.video-frame video,.video-frame>img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.video-play-trigger{z-index:3;cursor:pointer;background:0 0;width:100%;height:100%;padding:0;position:absolute;inset:0}.video-play-trigger:hover .play,.intro-video:hover .play{transform:scale(1.04)}.video-frame .play{transition:transform .18s}.video-card h4{font-family:var(--serif);margin:12px 2px 1px;font-size:clamp(1.08rem,1.35vw,1.38rem);font-weight:500;line-height:1.05}.video-card p{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 2px;font-size:.63rem}.photography-section{background:var(--alternate);padding:clamp(40px,4vw,56px) 6vw;overflow:hidden}.photography-header{grid-template-columns:1.15fr .85fr;align-items:end;gap:5vw;display:grid}.photography-header>p{max-width:420px;color:var(--muted);margin:0 0 3px;font-size:.86rem}.photography-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:820px;margin:clamp(22px,2.5vw,32px) auto 0;display:grid}.photography-card{aspect-ratio:3/4;background:#faf9f7;border:1px solid #d8d5d0;border-radius:14px;width:100%;min-width:0;min-height:0;padding:0;overflow:hidden}.photography-card img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.photography-note{color:var(--muted);margin:12px 0 0;font-size:.7rem}.services-contact{background:var(--background);grid-template-columns:1.22fr 1fr;align-items:center;gap:clamp(46px,6vw,88px);display:grid;position:relative}.anchor-target{position:absolute;top:-60px}.service-list{border-top:1px solid var(--line);margin:clamp(35px,4vw,50px) 0 25px}.service-list article{border-bottom:1px solid var(--line);grid-template-columns:43px 1fr;gap:12px;padding:15px 0;display:grid}.service-list h3{margin-bottom:2px;font-size:clamp(1.55rem,2.1vw,2.35rem)}.service-list p,.also{color:var(--muted);margin:0;font-size:.78rem}.also{margin:0 0 22px}.services-copy>.button-link{--delay:.56s}.contact-portrait{aspect-ratio:910/1631;background:#efede9;width:100%;max-height:none}.email-address{--delay:.64s;width:max-content;margin-top:19px;font-size:.74rem;display:block}footer{border-top:1px solid var(--line);background:var(--background);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:16px 3vw;display:grid}footer p{color:var(--muted);justify-self:end;margin:0;font-size:.64rem}.reveal{opacity:0;transition:opacity .56s ease var(--delay,0s), transform .56s ease var(--delay,0s);transform:translateY(14px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes hero-typing{to{width:11.8ch}}@keyframes blink{50%{opacity:0}}@keyframes hero-name{to{opacity:1;transform:translateY(0)}}@keyframes about-lead{to{opacity:1;transform:translateY(0)}}@keyframes about-typing{to{width:12.8ch}}@media (width<=980px){.hero-images{height:min(64vh,620px);min-height:410px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px}.about-grid{grid-template-columns:minmax(210px,.44fr) 1fr;gap:5vw}.services-contact{grid-template-columns:1.1fr .75fr;gap:5vw}}@media (width<=700px){html{scroll-padding-top:58px}.site-header{min-height:56px;padding:0 16px}.wordmark{font-size:1.08rem}nav{gap:13px}nav a{font-size:.58rem}nav a:nth-child(2){display:none}.hero{padding:10px 14px 68px}.hero-images{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:8px;height:auto;min-height:0;max-height:none}.hero-center{aspect-ratio:4/5;grid-area:1/1/auto/3}.hero-family,.hero-beach{aspect-ratio:4/3}.hero-family{grid-area:2/1}.hero-beach{grid-area:2/2}.hero-copy{padding:18% 7% 7%}.hero-typed{font-size:.9rem}.hero-copy h1{font-size:clamp(3.2rem,16vw,4.8rem)}.hero-action{padding-top:30px}.hero-action p{max-width:360px;margin-bottom:18px;font-size:clamp(1.9rem,8.5vw,2.3rem)}.button-link{width:auto;min-height:52px}.section{padding:65px 18px}h2{font-size:clamp(3rem,14vw,4.35rem)}.about-heading{line-height:.96}.about-lead,.about-typed{width:max-content;display:flex}.about-typed{width:0}.about-grid{grid-template-columns:1fr;gap:37px;margin-top:38px}.intro-video{width:min(75%,280px);max-height:62vh}.about-list li{grid-template-columns:38px 1fr;padding:14px 0}.text-links{gap:17px;margin-top:24px}.work{padding-left:0;padding-right:0}.work>.eyebrow,.work>h2{margin-left:18px;margin-right:18px}.work-group{margin-top:64px}.work-heading{grid-template-columns:1fr;gap:8px;margin:0 18px 18px}.work-heading h3{font-size:2.45rem}.work-heading p{font-size:.78rem}.video-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:11px;padding:0 18px 12px;scroll-padding-left:18px;display:flex;overflow-x:auto}.video-grid::-webkit-scrollbar{display:none}.video-grid>div{scroll-snap-align:start;flex:0 0 78%}.video-frame{border-radius:19px}.video-card h4{margin-top:10px;font-size:1.2rem}.video-card p{font-size:.6rem}.photography-header{grid-template-columns:1fr;gap:18px}.photography-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:22px}.photography-section{padding:44px 16px}.services-contact{grid-template-columns:1fr;gap:42px}.service-list{margin-top:31px}.service-list article{padding:14px 0}.contact-portrait{grid-row:2;max-height:none}.email-address{margin-top:17px}footer{grid-template-columns:1fr;gap:13px;padding:20px 18px}.footer-links{flex-wrap:wrap}footer p{justify-self:start}}@media (width<=767px){html,body,main,section,header,footer{width:100%;max-width:100%}html,body,main{overflow-x:hidden}*{min-width:0}html{scroll-padding-top:74px}.site-header{min-height:74px;padding:0 15px}.wordmark{flex:none;font-size:1.05rem}nav{gap:clamp(10px,3vw,16px)}nav a{letter-spacing:.055em;font-size:.56rem}nav a:nth-child(2){display:none}.hero{padding:10px 15px 47px}.hero-images{grid-template-rows:1fr;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;height:clamp(240px,72vw,300px);min-height:0;max-height:300px;margin:0;display:grid;overflow:hidden}.hero-family,.hero-center,.hero-beach{aspect-ratio:auto;grid-area:1;width:100%;height:100%;min-height:0}.hero-center>.placeholder,.hero-side{width:100%;height:100%}.placeholder img,.placeholder video{object-fit:cover;object-position:center;width:100%;height:100%}.hero-copy{padding:0 7px 11px;inset:auto 0 0}.hero-typed{padding:3px 5px 4px;font-size:clamp(.81rem,3.6vw,.94rem)}.hero-copy h1{max-width:100%;margin-top:5px;font-size:clamp(2.125rem,9.4vw,2.625rem);line-height:.86}.hero-action{padding-top:22px}.hero-action p{max-width:350px;margin-bottom:15px;font-size:clamp(1.75rem,8vw,2.125rem)}.button-link{width:auto;min-height:46px;padding:12px 19px}.section{padding:52px 15px}.about{padding-top:48px;padding-bottom:48px}.about-grid{grid-template-columns:minmax(0,.39fr) minmax(0,.61fr);align-items:center;gap:14px;width:100%;max-width:100%;margin:0;display:grid}.intro-video{aspect-ratio:9/16;border-radius:17px;width:100%;max-width:none;max-height:none}.about-copy{min-width:0}.about-copy .eyebrow{margin-bottom:6px;font-size:.56rem}.about-heading{max-width:100%;font-size:clamp(2.125rem,9.5vw,2.625rem);line-height:.9}.about-lead{width:max-content;display:block}.about-typed{width:0;max-width:100%;display:inline-flex}.about-list{margin-top:13px}.about-list li{grid-template-columns:24px minmax(0,1fr);gap:6px;padding:6px 0}.about-list li>span{font-size:.68rem}.about-list p{overflow-wrap:anywhere;font-size:clamp(.81rem,3.45vw,.94rem);line-height:1.25}.text-links{gap:7px 11px;margin-top:13px;font-size:.56rem;line-height:1.2}.intro-video .play,.video-frame .play{border:1px solid #1f1e1c14;border-radius:50%;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;font-size:0;display:grid;bottom:9px;right:9px}.intro-video .play:before,.video-frame .play:before{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid var(--text);content:"";width:0;height:0;margin-left:2px}.work{padding:52px 0}.work>.eyebrow,.work>h2{width:auto;margin-left:15px;margin-right:15px}.work>h2{font-size:clamp(3rem,13vw,4rem)}.work-group{margin-top:54px}.work-heading{grid-template-columns:1fr;gap:8px;width:auto;margin:0 15px 22px;padding-bottom:13px;display:grid}.work-heading h3{font-size:2.35rem}.work-heading p{font-size:.78rem;line-height:1.4}.video-grid{scroll-snap-type:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px;width:100%;max-width:100%;margin:0;padding:0 15px;display:grid;overflow:visible}.video-grid>div{min-width:0}.video-frame{border-radius:16px;width:100%}.video-card{min-width:0}.video-card h4{overflow-wrap:anywhere;max-width:100%;margin:9px 1px 2px;font-size:clamp(.94rem,4.2vw,1.125rem);line-height:1.05}.video-card p{overflow-wrap:anywhere;max-width:100%;margin:0 1px;font-size:clamp(.625rem,2.7vw,.75rem);line-height:1.25}.services-contact{grid-template-columns:1fr;overflow:hidden}.contact-portrait{width:100%}footer{overflow:hidden}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.about-lead{opacity:1;transform:none}.hero-typed,.about-typed{width:max-content}}
