:root{--ink:#211a16;--deep:#171310;--paper:#f0e7d9;--taupe:#c0aa95;--muted:#c1b4a7;--line:#4b3c32;--brown:#38271e;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--taupe);outline-offset:7px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}section{scroll-margin-top:2rem}.skip-link{position:fixed;top:1rem;left:1rem;padding:.7rem 1rem;background:var(--paper);color:var(--ink);z-index:30;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.header{max-width:1600px;margin:auto;min-height:104px;padding:1.5rem 4.3%;display:flex;align-items:center;gap:2rem;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:2rem/1.2 var(--serif);white-space:nowrap;letter-spacing:-.06rem}.wordmark-dot{color:var(--taupe)}.header nav{display:flex;gap:2.4rem;font-size:.875rem}.header nav a,.text-link{border-bottom:1px solid transparent;transition:border-color .2s}.header nav a:hover,.text-link:hover{border-bottom-color:currentColor}.header-cta{border:1px solid #837160;padding:.65rem 1.2rem;font-size:.875rem;transition:background .2s,color .2s}.header-cta:hover{background:var(--paper);color:var(--ink)}
.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;min-height:750px;padding:4rem 4.3% 3rem;gap:4.4rem;align-items:center}.hero-copy{padding:0 0 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;line-height:1.8;font-weight:400;color:var(--muted)}.hero .eyebrow{display:flex;align-items:center;gap:.75rem}.small-rule{height:1px;width:24px;background:var(--taupe);flex-shrink:0}.hero h1{font-size:clamp(4rem,7.7vw,7.8rem);line-height:.99;letter-spacing:-.055em;margin:2.5rem 0 1.8rem}.hero h1 em{color:var(--taupe)}.hero-description{color:var(--muted);font-size:1rem;line-height:1.8}.hero-actions{margin-top:2.1rem;display:flex;align-items:center;gap:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.4rem;line-height:1.35;font-size:.875rem;border:1px solid transparent;text-align:center;transition:background .2s,color .2s,border-color .2s}.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button-light:hover{background:var(--taupe);border-color:var(--taupe)}.text-link{font-size:.875rem;padding:.15rem 0;border-bottom-color:#746253;display:inline-block;line-height:1.7}.hero-note{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-top:3.1rem}.hero-note span{margin:0 .6rem;color:#84705d}.hero-art{position:relative;padding-right:1.8rem;width:100%;max-width:520px;justify-self:end}.hero-image{position:relative;background:var(--deep);padding:12px 12px 0;border:1px solid #796250;transform:rotate(1deg)}.hero-image img{width:100%;height:auto;max-height:555px;object-fit:contain;background:var(--deep)}.hero-image figcaption{display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding:.85rem .2rem;color:var(--muted);font-size:.75rem}.hero-image figcaption span:first-child{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--paper)}.hero-side-label{position:absolute;right:-1rem;top:46%;writing-mode:vertical-rl;text-transform:uppercase;font-size:.75rem;letter-spacing:.19em;color:var(--muted)}.subject-strip{display:flex;gap:3rem;justify-content:center;align-items:center;background:var(--brown);padding:1.4rem 2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.25rem}.subject-strip span:nth-child(even){font-size:.8rem;color:var(--taupe)}
.section{padding:7rem 6%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end;margin-bottom:3rem}h2{font-size:clamp(2.75rem,4.5vw,4.8rem);line-height:1.12;letter-spacing:-.04em}h2 em{color:var(--taupe)}.section-heading h2,.about h2,.questions h2{margin-top:1.2rem}.section-intro{max-width:315px;font-size:1rem;color:var(--muted);padding-bottom:.2rem}.section-intro .muted{margin-top:1.3rem;font-size:.875rem}.gallery{display:grid;grid-template-columns:1.3fr .7fr;column-gap:2.5rem;row-gap:2.5rem;align-items:start}.gallery-portrait{grid-column:2;grid-row:1 / span 2}.gallery-wide,.gallery-detail{grid-column:1}.photo-button{display:block;position:relative;width:100%;padding:0;border:0;background:var(--deep);cursor:zoom-in;overflow:hidden;color:var(--paper)}.photo-button img{width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.6,.3,1)}.photo-button:hover img{transform:scale(1.025)}.photo-open{position:absolute;bottom:.8rem;right:.8rem;background:var(--deep);padding:.5rem .8rem;font-size:.75rem;display:flex;gap:1.4rem;align-items:center;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.photo-open span{font-size:1.3rem;line-height:1}.photo-button:hover .photo-open,.photo-button:focus-visible .photo-open{opacity:1;transform:translateY(0)}.gallery-item figcaption{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0 0;font-size:.75rem;color:var(--muted)}.gallery-item figcaption span:first-child{font-family:var(--serif);font-size:1rem;color:var(--paper)}.instagram-line{margin-top:3rem}.instagram-line span{margin-left:1rem;color:var(--muted)}
.approach{max-width:none;background:var(--deep);text-align:center;padding-top:5rem;padding-bottom:5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.approach h2{font-size:clamp(2.5rem,4.4vw,4.4rem);margin:1.8rem auto;max-width:1050px}.approach p:not(.eyebrow){color:var(--muted)}.signature{display:block;font:italic 3rem/1 var(--serif);margin-top:2.5rem;color:var(--taupe)}
.packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.package{border:1px solid #665242;padding:2rem;display:flex;flex-direction:column;background:transparent}.package-featured{background:var(--brown);border-color:#ab8c6f}.package-number{color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.package h3{font-size:2.2rem;line-height:1.15;margin-top:1.3rem;letter-spacing:-.035em}.price{font-family:var(--serif);font-size:3.5rem;line-height:1;margin:1.5rem 0;letter-spacing:-.04em}.price span{font-family:var(--sans);font-size:.875rem;color:var(--muted);letter-spacing:0;margin-left:.7rem}.package-description{color:var(--muted);font-size:.9375rem;margin-bottom:1.5rem;max-width:290px}.package ul{list-style:none;margin:auto 0 1.8rem;padding:0;border-top:1px solid var(--line)}.package li{font-size:.875rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.package .button{width:100%;font-size:.875rem}.button-outline{border-color:#ac9782}.button-outline:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.session-footnote{font-size:.875rem;margin-top:1.8rem;color:var(--muted)}.session-footnote a{color:var(--paper);text-decoration:underline;text-underline-offset:4px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about h2{font-size:clamp(4rem,8vw,8.5rem);line-height:1}.about-location{font-size:.875rem;color:var(--muted);margin-top:2rem}.about-copy{max-width:600px;align-self:center}.about-copy p{color:var(--muted);margin-bottom:1.7rem}.about-copy .about-lead{font:1.8rem/1.5 var(--serif);color:var(--paper)}.about-copy .text-link{margin-top:.5rem}.questions{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-top:6rem;padding-bottom:6rem}.questions h2{font-size:clamp(2.5rem,3.8vw,3.8rem)}.faq-list{align-self:center}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;gap:1.5rem;justify-content:space-between;align-items:center;padding:1.4rem 0;font-size:1rem;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--taupe);font-size:1.5rem;font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:.9375rem;color:var(--muted);padding:0 2rem 1.5rem 0}
.contact{background:var(--paper);color:var(--ink);max-width:none;text-align:center;padding:5.5rem 6%}.contact .eyebrow{color:#715745}.contact h2{font-size:clamp(3.5rem,7vw,7rem);margin:1.5rem 0;line-height:1}.contact h2 em{color:#765740}.contact>p:not(.eyebrow){color:#655347}.button-dark{background:var(--ink);color:var(--paper);margin-top:2rem;border-color:var(--ink)}.button-dark:hover{background:#493426;border-color:#493426}.contact-handle{display:table;margin:1rem auto 0;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}.contact a:focus-visible{outline-color:var(--ink)}.footer{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.5rem 4.3%}.footer p{color:var(--muted);font-size:.75rem}.footer p:first-of-type{font-family:var(--serif);font-size:1rem;font-style:italic}
.lightbox{padding:1.3rem 2rem;border:1px solid var(--line);color:var(--paper);background:var(--deep);width:96vw;max-width:1500px;max-height:96dvh;overflow:auto}.lightbox::backdrop{background:rgba(10,8,6,.94)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:2rem}.viewer-toolbar p{font-size:.875rem;color:var(--muted)}.viewer-close{background:transparent;color:var(--paper);border:0;cursor:pointer;min-height:44px;padding:.2rem .5rem;display:flex;align-items:center;gap:.8rem;font-size:.875rem}.viewer-close span{font-size:1.8rem;line-height:1}.viewer-image-area{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:1rem;margin:1rem 0}.viewer-image-area img{object-fit:contain;max-height:74dvh;max-width:100%;margin:auto;width:auto;height:auto}.viewer-prev,.viewer-next{border:1px solid #655345;background:transparent;color:var(--paper);cursor:pointer;width:48px;height:48px;font:2rem/1 var(--serif)}.viewer-prev:hover,.viewer-next:hover{background:var(--brown)}#viewer-caption{text-align:center;font-size:1rem;font-family:var(--serif);margin-top:1rem}body.viewer-open{overflow:hidden}
@media(min-width:1650px){.hero{min-height:810px}.hero-image img{max-height:630px}}
@media(max-width:1050px){.header{gap:1.5rem}.header nav{gap:1.3rem}.hero{gap:2.5rem;min-height:auto;padding-top:3rem;padding-bottom:3rem}.hero h1{font-size:clamp(3.5rem,7.6vw,6rem)}.hero-art{padding-right:1.4rem}.hero-actions{flex-wrap:wrap;gap:1rem 1.5rem}.hero-image img{max-height:490px}.hero-note{margin-top:2rem;font-size:.75rem;letter-spacing:.1em}.section{padding:5rem 5%}.package{padding:1.4rem}.package h3{font-size:1.9rem}.package-description{font-size:.875rem}.gallery{gap:1.7rem}.about{gap:3rem}.questions{gap:3rem}.footer{gap:1rem}}
@media(max-width:760px){.header{min-height:86px;flex-wrap:wrap;gap:1.2rem 1rem;padding:1.2rem 5%}.wordmark{font-size:1.7rem}.header-cta{font-size:.875rem;padding:.6rem .8rem}.header nav{order:3;flex-basis:100%;justify-content:flex-start;gap:1.6rem;font-size:.875rem;padding-top:.4rem}.hero{display:block;padding:2.8rem 6% 2.4rem}.hero h1{font-size:clamp(3.8rem,14vw,6.1rem);margin:1.8rem 0 1.5rem}.eyebrow{font-size:.75rem;letter-spacing:.12em}.hero-description{font-size:1rem}.hero-actions{margin-top:1.8rem}.hero-note{font-size:.75rem;letter-spacing:.09em;margin:2rem 0 0}.hero-art{max-width:420px;margin:2.5rem auto .3rem;padding-right:1.4rem}.hero-image{transform:rotate(.7deg)}.hero-image img{max-height:480px}.hero-side-label{font-size:.75rem;right:-.25rem}.subject-strip{gap:1.1rem;padding:1.2rem .8rem;font-size:.9375rem}.subject-strip span:nth-child(even){font-size:.6rem}.section{padding:4rem 6%}.section-heading{display:block;margin-bottom:2rem}.section-intro{max-width:100%;margin-top:1.7rem}.section-intro .muted{margin-top:.8rem}h2{font-size:clamp(2.5rem,9.5vw,4rem)}.gallery{display:block}.gallery-item+.gallery-item{margin-top:2rem}.gallery-portrait{width:77%;margin-left:auto;margin-right:auto}.gallery-item figcaption{font-size:.75rem;gap:.5rem}.gallery-item figcaption span:first-child{font-size:.9375rem}.photo-open{opacity:1;transform:none}.instagram-line{font-size:.875rem;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:2.2rem}.instagram-line span{margin:0}.approach h2{font-size:clamp(2.1rem,8vw,3rem);max-width:600px}.approach h2 br{display:none}.approach p:not(.eyebrow){font-size:.9375rem}.packages{grid-template-columns:1fr;gap:1.2rem}.package{padding:1.8rem}.package-description{max-width:none;font-size:1rem}.package h3{font-size:2.3rem}.package .button{font-size:.875rem}.package ul{margin-top:0}.session-footnote{max-width:320px}.about,.questions{display:block}.about h2{font-size:5rem}.about-copy{margin-top:2.5rem}.about-copy .about-lead{font-size:1.6rem}.about-location{margin-top:1.5rem}.faq-list{margin-top:2rem}.faq-list summary{font-size:.9375rem}.contact h2{font-size:clamp(3rem,12vw,5rem)}.contact>p:not(.eyebrow){font-size:.9375rem;max-width:480px;margin:auto}.contact>p br{display:none}.footer{flex-wrap:wrap;padding:2rem 6%;gap:1rem}.footer .wordmark{flex-basis:100%}.footer p{font-size:.75rem}.footer p:first-of-type{font-size:.9375rem}.lightbox{padding:1rem .6rem;width:98vw}.viewer-image-area{grid-template-columns:36px 1fr 36px;gap:.4rem}.viewer-prev,.viewer-next{width:36px;height:44px}.viewer-image-area img{max-height:66dvh}.viewer-toolbar{padding:0 .5rem}}
@media(max-width:370px){.header-cta{font-size:.875rem;padding:.5rem .65rem}.wordmark{font-size:1.55rem}.hero h1{font-size:3.5rem}.hero .eyebrow{font-size:.75rem}.subject-strip{gap:.6rem;font-size:.875rem}.package{padding:1.4rem}.hero-note span{margin:0 .4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.photo-button:hover img{transform:none}}
@media(hover:none){.photo-open{opacity:1;transform:none}}
/* Featured photographs and direct contact options. */
.hero-slides{position:relative;height:555px;background:var(--deep);overflow:hidden}
.hero-image .hero-slide{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;opacity:0;transition:opacity .8s ease}
.hero-image .hero-slide.is-active{opacity:1}
.hero-carousel-controls{display:flex;justify-content:space-between;align-items:center;padding:0 .2rem .6rem;gap:1rem;border-top:1px solid var(--line)}
.hero-dots{display:flex;gap:0;align-items:center}
.hero-dot{display:grid;place-items:center;width:40px;height:44px;background:transparent;border:0;padding:0;cursor:pointer}
.hero-dot::before{content:'';width:7px;height:7px;border-radius:50%;border:1px solid var(--taupe);background:transparent;transition:background .2s}
.hero-dot.is-active::before{background:var(--paper);border-color:var(--paper)}
.hero-playback{min-height:44px;padding:.2rem .5rem;background:none;border:0;color:var(--paper);font-size:.875rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:790px;margin:3rem auto 0;padding-top:2rem;border-top:1px solid #c9b8a4}
.contact-option{display:flex;flex-direction:column;align-items:center;min-width:0;gap:.5rem}
.contact-value{font-family:var(--serif);font-size:1.5rem;line-height:1.5;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#b6a08a;text-underline-offset:5px}
.contact-email{font-size:1.3rem}
.contact-secondary{font-size:.875rem;text-decoration:underline;text-underline-offset:4px;color:#655347}
.faq-list details p a{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1650px){.hero-slides{height:630px}}
@media(max-width:1050px){.hero-slides{height:490px}}
@media(max-width:760px){.hero-slides{height:480px}.hero-dot{width:36px}.contact-options{grid-template-columns:1fr;gap:1.8rem;margin-top:2.5rem}.contact-value{font-size:1.5rem}.contact-email{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.hero-image .hero-slide{transition:none}}
.hero-dots{flex-wrap:wrap;min-width:0}
.hero-playback{flex-shrink:0}
/* The photographer's introduction. */
.about.with-portraits{grid-template-areas:'heading portraits' 'copy portraits';grid-template-columns:1fr 1fr;row-gap:2.5rem;align-items:start}
.with-portraits .about-heading{grid-area:heading}
.with-portraits .about-copy{grid-area:copy;align-self:start;margin-top:0}
.about-portraits{grid-area:portraits;display:grid;gap:1.5rem;width:100%;max-width:530px;justify-self:end;align-self:center}
.about-portrait{padding:10px;background:var(--deep);border:1px solid #796250}
.about-portrait img{width:100%;height:auto}
.about-portrait-secondary{width:48%;justify-self:end}
@media(max-width:760px){.about.with-portraits{display:grid;grid-template-columns:1fr;grid-template-areas:'heading' 'portraits' 'copy';gap:2.5rem}.about-portraits{max-width:480px;justify-self:center;gap:1.2rem}.about-portrait-secondary{width:52%}}
