:root{--ink: #090909;--muted: #2b2b2b;--paper: #f5f5f5;--surface: #d8d8d8;--line: #e3e3e3;--max-width: 1072px;--wide-width: 1168px;--body: Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--body);scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea{font:inherit}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:20;background:var(--ink);color:var(--paper);padding:.75rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:relative;z-index:10;display:grid;grid-template-columns:minmax(140px,1fr) auto auto auto;align-items:center;gap:1.55rem;min-height:100px;padding:0 clamp(1.55rem,3.7vw,3rem);border-bottom:1px solid var(--ink);background:var(--paper)}.brand{font-size:1.5rem;line-height:1;text-decoration:none}.desktop-nav,.footer-links{display:flex;align-items:center}.desktop-nav{gap:1.55rem}.desktop-nav a,.mobile-menu a{font-size:1rem;text-decoration:none}.desktop-nav a.active,.mobile-menu a.active{text-decoration:underline}.instagram-link{display:inline-grid;width:28px;height:28px;place-items:center;color:var(--ink)}.instagram-link svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.book-link,.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;border:1px solid var(--ink);border-radius:999px;padding:0 1.55rem;color:var(--ink);background:transparent;text-decoration:none;cursor:pointer}.book-link{min-width:120px;font-size:1rem}.button.dark{min-height:48px;border-radius:0;background:var(--ink);color:var(--paper)}.button.wide{width:100%}.mobile-menu,.mobile-menu-brand,.mobile-instagram-link,.mobile-book-link{display:none}main{min-height:70vh}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--body);font-weight:400;letter-spacing:0}p{line-height:1.2}.home-cover{width:100%;height:clamp(360px,34vw,430px)}.home-cover img{object-position:center 28%}.home-story,.home-gallery,.work-intro,.gallery-section,.experience-cover,.experience-intro,.service-section,.simple-page,.form-section-inner,.site-footer,.product-page{width:min(var(--max-width),calc(100% - 5.5rem));margin-inline:auto}.home-story{padding:clamp(4rem,8vw,7rem) 0 clamp(5.5rem,10vw,8.5rem)}.home-story h1{max-width:850px;margin-bottom:2.5rem;font-size:clamp(3.1rem,7vw,5.9rem);line-height:.96}.statement-lines{max-width:620px}.statement-lines p{margin-bottom:1.55rem;font-size:clamp(1.35rem,2vw,1.55rem)}.home-story .statement-lines p{font-size:clamp(1.65rem,2.35vw,1.9rem);line-height:1.15}.home-story .statement-lines{max-width:880px}.home-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem;width:min(960px,calc(100% - 6.5rem));padding-bottom:clamp(6rem,9vw,8.5rem)}.home-gallery .image-frame{aspect-ratio:2 / 3}.home-gallery .media-square{aspect-ratio:1 / 1}.home-gallery .media-diagram{grid-column:1 / -1;justify-self:center;width:min(var(--max-width),calc(100vw - 3.5rem));aspect-ratio:2 / 1;margin-top:clamp(6rem,8vw,7rem);background:var(--paper)}.home-gallery .media-diagram img{object-fit:contain}.work-intro{display:block;padding:clamp(4rem,9vw,7rem) 0 clamp(3rem,7vw,6rem)}.work-intro>div{max-width:540px}.work-intro h1{margin-bottom:clamp(3rem,7vw,5rem);font-size:clamp(3.4rem,5.4vw,4rem);line-height:1}.intro-lines p{margin-bottom:2.05rem;font-size:clamp(1.35rem,2.05vw,1.55rem);line-height:1.15}.intro-image{width:100%;margin-top:clamp(4rem,6.5vw,5.5rem);aspect-ratio:4 / 3}.intro-image img{object-position:center bottom}.image-frame{position:relative;overflow:hidden;margin:0;background:#f4f4f4}.image-frame.intro-image{margin:clamp(4rem,6.5vw,5.5rem) 0 0}.gallery-section{padding:clamp(3.75rem,7vw,6.5rem) 0}.gallery-section h2{max-width:780px;margin-bottom:clamp(6rem,14vw,10rem);font-size:clamp(3rem,5vw,4rem);line-height:1.02}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem;align-items:start}.gallery-section .image-grid{width:100vw;max-width:none;margin-inline:50%;transform:translate(-50%)}.image-grid .image-frame{aspect-ratio:1 / 1}.image-grid .media-wide{aspect-ratio:3 / 2}.image-grid .media-panorama{aspect-ratio:12 / 5}.image-grid .media-portrait{aspect-ratio:2 / 3}.image-grid .media-tall{grid-row:span 2;aspect-ratio:2 / 3}.masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.masonry-column{display:grid;gap:.375rem;align-content:start}.masonry-column .image-frame{width:100%}.masonry-grid>.masonry-full{grid-column:1 / -1;width:100%}.masonry-mobile-stack{display:none}.gallery-section-masonry h2{margin-bottom:clamp(7.25rem,15vw,11.5rem)}.gallery-section-stacked .image-grid,.gallery-section-travel .image-grid{width:min(var(--max-width),calc(100vw - 5.5rem));margin-inline:auto;transform:none}.gallery-section-stacked .image-grid{grid-template-columns:1fr;gap:clamp(1.25rem,3vw,1.65rem)}.gallery-section-stacked .media-wide{aspect-ratio:3 / 2}.gallery-section-travel .image-grid{column-gap:clamp(1.25rem,2.5vw,1.5rem);row-gap:clamp(3rem,5vw,5rem)}.gallery-section-travel .media-full{grid-column:1 / -1}.image-grid .media-diagram,.image-grid .media-contain{grid-column:1 / -1;aspect-ratio:16 / 7}.image-grid .media-diagram img,.image-grid .media-contain img{object-fit:contain}.experience-cover{width:min(var(--wide-width),calc(100% - 5.5rem));height:auto;aspect-ratio:2.85 / 1;margin-top:2.35rem}.experience-cover img{object-position:center 68%}.experience-intro{display:grid;grid-template-columns:minmax(0,.42fr) minmax(320px,.58fr);gap:clamp(3rem,8vw,7rem);padding:clamp(3.8rem,7vw,5rem) 0 clamp(3.5rem,6vw,5rem)}.experience-intro h1{max-width:430px;margin-bottom:clamp(1.8rem,3vw,2.4rem);font-size:clamp(3.1rem,5.1vw,4rem);line-height:1.03}.experience-intro .statement-lines{max-width:850px}.service-section{padding:0 0 clamp(3.25rem,5.8vw,4.75rem)}.service-section-title{margin-bottom:clamp(2.25rem,4vw,3rem);font-size:clamp(2.6rem,4.5vw,3.25rem);line-height:1}.service-card{display:grid;grid-template-columns:clamp(170px,17vw,200px) minmax(0,1fr);gap:clamp(1.7rem,3.6vw,2.5rem);align-items:start;max-width:880px;color:inherit;text-decoration:none}.service-image{display:block;aspect-ratio:4 / 3;overflow:hidden;border-radius:6px}.service-copy{display:grid;grid-template-columns:1fr;row-gap:.7rem;align-items:start;padding-top:.2rem}.service-copy h2{max-width:none;margin-bottom:0;font-size:clamp(1.7rem,2.7vw,2.08rem);line-height:1.1}.service-copy h2 a{text-decoration:none}.service-details{grid-column:1;display:grid;gap:.8rem;max-width:520px}.service-details p{margin:0;color:var(--ink);font-size:clamp(.98rem,1.35vw,1.08rem);line-height:1.28}.service-details strong{font-weight:400}.service-details em{font-style:normal}.service-includes{display:grid;gap:.25rem;margin:-.35rem 0 0;padding-left:1.2rem;color:var(--ink);line-height:1.35}.service-learn{width:fit-content;color:var(--ink)}.service-pricing{display:grid;gap:.9rem;margin-top:0}.service-price-stack,.service-pricing .price-stack{margin:0}.service-price-line{margin:0;font-size:1.05rem;line-height:1.25}.service-price-line s{color:var(--muted);margin-left:.35rem}.price-stack{display:grid;gap:.35rem}.price-label,.sale-label,.original-label{color:var(--muted);font-size:.95rem}.sale,.price-stack strong{font-size:1.05rem;font-weight:400}.original,.price-stack s{color:var(--muted);text-decoration:line-through}.badge{width:fit-content;justify-self:start;font-size:.95rem;color:#cfcfcf}.simple-page{padding:clamp(3.75rem,7vw,5.5rem) 0 clamp(1.25rem,3vw,2.25rem)}.simple-page h1{margin-bottom:1.5rem;font-size:clamp(3.2rem,5.8vw,4.3rem);line-height:1}.simple-page p{max-width:640px;font-size:clamp(1.35rem,2vw,1.55rem)}.contact-page .simple-page p{max-width:760px}.appointments-title h2{margin-bottom:1.5rem;font-size:clamp(2rem,3vw,2.6rem);line-height:1}.form-section{width:100%;margin-inline:0}.form-section-plain{padding:0 0 clamp(3rem,6vw,5.5rem);background:var(--paper)}.contact-page .form-section-plain{padding-top:clamp(2.5rem,4.75vw,4rem)}.form-section-titled{padding:clamp(4.75rem,7vw,5.75rem) 0 clamp(3.5rem,6vw,5rem);background:var(--surface)}.form-section h2{margin-bottom:clamp(3.5rem,7vw,5.5rem);font-size:clamp(3rem,5.4vw,4rem);line-height:1}@media(min-width:901px){.work-contact-form .form-section-inner{width:min(var(--max-width),calc(100% - 8rem))}.work-contact-form .form-section h2{max-width:720px}}.form-section-plain h2{margin-bottom:clamp(2rem,4vw,3rem)}.contact-form{display:grid;gap:1.7rem;max-width:100%}.name-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,1.5rem)}label{display:grid;gap:.45rem;color:var(--ink)}label span,.field-group-label{font-size:.95rem}.contact-form label em{margin-left:.35rem;color:var(--muted);font-style:normal}.field-group-label{margin:0}input,textarea{width:100%;border:1px solid #bfbfbf;border-radius:0;background:#fff;color:var(--ink);padding:.9rem 1rem}textarea{min-height:150px;resize:vertical}.contact-form input:not([type=checkbox]),.contact-form textarea{border:0;border-bottom:1px solid #8f8f8f;background:transparent;padding:.9rem 0 1.15rem}.contact-form textarea{min-height:220px}.contact-form .button.dark{justify-self:start;min-width:136px;min-height:78px;border-radius:999px;background:transparent;color:var(--ink);font-size:1.05rem;letter-spacing:0}.contact-page .contact-form .button.dark{min-width:118px}.check-row{display:flex;align-items:center;gap:.7rem}.check-row input{width:1rem;height:1rem}input:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.product-page{padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(2.25rem,4vw,3.5rem)}.breadcrumb{display:flex;gap:.55rem;align-items:center;margin-bottom:clamp(2rem,4vw,3.5rem);color:var(--muted);font-size:.95rem}.product-layout{display:grid;grid-template-columns:minmax(320px,.98fr) minmax(320px,.82fr);gap:clamp(2rem,6vw,5.5rem);align-items:start}.product-frame{aspect-ratio:2 / 3}.product-frame figcaption{position:absolute;right:.65rem;bottom:.55rem;padding:.18rem .4rem;background:#ffffffd1;color:var(--ink);font-size:.78rem}.product-copy h1{margin-bottom:1.75rem;font-size:clamp(2.4rem,4.5vw,3.4rem);line-height:1.05}.price-stack{margin-bottom:1.5rem}.quantity-row{display:grid;grid-template-columns:46px minmax(70px,88px) 46px;margin:1.7rem 0 1rem}.quantity-row button,.quantity-row input{height:46px;border:1px solid var(--ink);background:#fff;text-align:center}.quantity-row button:disabled{color:#9b9b9b;border-color:#cfcfcf}.visual-only-note{margin:.85rem 0 2rem;color:var(--muted);font-size:.9rem}.product-dots{margin:1.35rem 0 0;color:var(--ink);font-size:1rem;line-height:1;text-align:center}.product-copy p{color:var(--muted);font-size:1rem}.product-copy strong{color:var(--ink)}.includes-list{margin-top:-.35rem;padding-left:1.2rem;color:var(--muted);line-height:1.6}.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(2rem,6vw,6rem);padding:clamp(5rem,8vw,6.25rem) 0 clamp(2rem,4vw,3rem);border-top:0}.footer-brand{grid-column:1}.site-footer h2{margin-bottom:.75rem;font-size:clamp(1.8rem,3vw,2.8rem)}.site-footer p{margin-bottom:0;color:var(--muted)}.footer-links{display:grid;justify-items:end;gap:1.15rem}.footer-email-heading{margin:0;font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.1}.footer-email{text-decoration:underline}.footer-social{justify-self:end}.footer-instagram{display:inline-grid;width:34px;height:34px;place-items:center}.footer-instagram svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@media(max-width:1100px){.work-intro,.experience-intro{grid-template-columns:1fr}.intro-image,.image-frame.intro-image{width:100%;margin:clamp(3.5rem,6vw,4.5rem) 0 0;aspect-ratio:4 / 3}.experience-intro{gap:0}.experience-cover{aspect-ratio:5.1 / 1}.experience-intro h1{max-width:none;margin-bottom:clamp(1.8rem,4vw,2.6rem)}}@media(max-width:1100px){.site-header{grid-template-columns:1fr auto;min-height:132px;padding:0 clamp(3rem,6vw,3.5rem);border-bottom:1px solid var(--ink)}.brand{font-size:1rem}.desktop-nav,.instagram-link,.book-link{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{display:grid;width:44px;height:44px;align-content:center;justify-items:center;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;width:35px;height:1px;background:var(--ink)}.mobile-menu summary span+span{margin-top:9px}.mobile-menu[open]{position:fixed;inset:0;z-index:100;background:var(--paper)}.mobile-menu[open] summary{position:fixed;top:3.35rem;right:1.25rem;z-index:102}.mobile-menu[open] summary span{grid-column:1;grid-row:1;margin:0;width:38px;transform:rotate(45deg)}.mobile-menu[open] summary span+span{transform:rotate(-45deg)}.mobile-menu[open] .mobile-menu-brand{position:fixed;top:4.25rem;left:3.7rem;z-index:102;display:inline-block;font-size:1rem;text-decoration:none}.mobile-menu[open] nav{position:fixed;inset:0;display:grid;align-content:center;justify-items:center;gap:clamp(2.6rem,7vh,3.8rem);width:auto;padding:8rem 2rem 2rem;border:0;background:var(--paper);box-shadow:none}.mobile-menu[open] .mobile-nav-link{font-size:clamp(3.35rem,8.5vw,4.35rem);line-height:.96;text-decoration:none}.mobile-menu[open] .mobile-nav-link.active{text-decoration:none}.mobile-menu[open] .mobile-instagram-link{display:inline-grid;place-items:center;width:38px;height:38px}.mobile-menu[open] .mobile-instagram-link svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.mobile-menu[open] .mobile-book-link{display:inline-flex;align-items:center;justify-content:center;min-width:min(280px,calc(100vw - 4rem));min-height:82px;border:1px solid var(--ink);border-radius:999px;font-size:1.5rem;text-decoration:none}}@media(max-width:900px){.home-story,.home-gallery,.work-intro,.gallery-section,.experience-cover,.experience-intro,.service-section,.simple-page,.form-section-inner,.site-footer,.product-page{width:min(100% - clamp(4rem,10vw,6rem),var(--max-width))}.home-cover{height:360px}.work-intro,.experience-intro,.product-layout{grid-template-columns:1fr}.work-intro{padding-top:4.5rem}.work-intro h1,.experience-intro h1,.simple-page h1{font-size:clamp(2.3rem,10vw,3.5rem)}.work-intro h1{margin-bottom:clamp(2rem,6vw,3rem);font-size:clamp(2.2rem,8.5vw,3rem);line-height:1.02}.intro-lines p,.statement-lines p,.simple-page p{font-size:clamp(1.25rem,5.5vw,1.55rem)}.work-intro .intro-lines p{margin-bottom:1.45rem;font-size:clamp(1.15rem,4.8vw,1.35rem);line-height:1.18}.intro-image{margin-top:clamp(3.5rem,6vw,4.5rem);aspect-ratio:4 / 3}.image-frame.intro-image{margin:clamp(3.5rem,6vw,4.5rem) 0 0}.simple-page{padding:3.25rem 0 1rem}.simple-page h1{margin-bottom:1.2rem}.form-section{padding-bottom:3.5rem}.experience-cover{height:auto;aspect-ratio:5.1 / 1;margin-top:2.25rem}.service-card{grid-template-columns:clamp(150px,22vw,205px) minmax(0,1fr);gap:1.5rem;max-width:none}.service-copy{grid-template-columns:1fr;gap:.6rem}.service-pricing{grid-column:1;grid-row:auto}}@media(max-width:620px){.home-cover{height:300px}.site-header{min-height:88px;padding:0 1.55rem}.home-story{padding-top:3.6rem}.home-story h1{font-size:clamp(2.6rem,11vw,3.8rem)}.work-intro{padding-top:3.6rem;gap:2.35rem}.work-intro h1{margin-bottom:1.65rem;font-size:clamp(2.05rem,8.6vw,2.65rem)}.work-intro .intro-lines p{margin-bottom:1.25rem;font-size:clamp(1.08rem,4.6vw,1.24rem)}.home-gallery,.image-grid,.masonry-grid{grid-template-columns:1fr}.gallery-section .image-grid{width:100%;margin-inline:0;transform:none}.masonry-grid{display:grid}.masonry-column{display:none}.masonry-grid>.masonry-full{display:none}.masonry-mobile-stack{display:grid;gap:.375rem;grid-column:1}.home-gallery .image-frame,.image-grid .image-frame{grid-column:1;aspect-ratio:2 / 3}.home-gallery .media-square,.image-grid .media-square{aspect-ratio:1 / 1}.image-grid .media-diagram,.image-grid .media-contain{aspect-ratio:16 / 7.2}.home-gallery .media-diagram{width:min(540px,calc(100vw - 2rem));aspect-ratio:2 / 1}.image-grid .media-wide,.image-grid .media-panorama{aspect-ratio:3 / 2}.image-grid .media-portrait{aspect-ratio:2 / 3}.image-grid .media-tall{grid-row:auto;aspect-ratio:2 / 3}.gallery-section h2{font-size:clamp(2.35rem,10vw,3.2rem)}.name-row{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;min-height:auto}.footer-links{justify-self:start;justify-items:start}.footer-email-heading{font-size:clamp(1.15rem,5vw,1.55rem)}.service-card{grid-template-columns:1fr;align-items:start}.service-image{max-width:220px}.service-copy{grid-template-columns:1fr}.service-copy h2{font-size:1.35rem}.simple-page{padding:2.6rem 0 .8rem}.simple-page h1{margin-bottom:1rem}.simple-page p{font-size:clamp(1.12rem,4.8vw,1.3rem)}.form-section{padding-bottom:2.75rem}.contact-form{gap:1.25rem}.contact-form textarea{min-height:190px}.product-frame{aspect-ratio:2 / 3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
