:root{--ink:#191917;--paper:#f3efe8;--cream:#e8dfd2;--white:#fff;--accent:#bd5f3a;--line:rgba(25,25,23,.18);--pad:clamp(24px,5vw,84px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300;line-height:1.55;overflow-x:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;background:#fff;padding:10px 15px}.skip-link:focus{top:12px}.site-header{position:fixed;z-index:50;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:24px var(--pad);color:#fff;transition:.35s}.site-header.scrolled{background:rgba(243,239,232,.94);color:var(--ink);padding-top:15px;padding-bottom:15px;backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand-mark{font-family:Italiana,serif;font-size:29px;letter-spacing:.18em}.brand-sub{font-size:8px;letter-spacing:.28em;text-transform:uppercase;margin-top:5px}.site-nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.08em}.site-nav a{position:relative}.site-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:.25s}.site-nav a:hover:after{right:0}.nav-cta{border:1px solid currentColor;padding:11px 18px}.menu-toggle{display:none;background:none;border:0;color:inherit}.hero{position:relative;height:100svh;min-height:680px;color:#fff;display:grid;align-items:end}.hero-media,.hero-media img,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 42%}.hero-overlay{background:linear-gradient(90deg,rgba(12,12,10,.62) 0%,rgba(12,12,10,.15) 58%,rgba(12,12,10,.08)),linear-gradient(0deg,rgba(12,12,10,.35),transparent 46%)}.hero-content{position:relative;z-index:2;max-width:840px;padding:0 var(--pad) clamp(78px,12vh,145px)}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:10px;font-weight:500;margin:0 0 23px}.eyebrow.dark{color:#6c665e}.hero h1,.section h2,.gallery h2,.contact h2{font-family:Italiana,serif;font-weight:400;line-height:.94;letter-spacing:-.03em;margin:0}.hero h1{font-size:clamp(64px,9.5vw,150px)}.hero-copy{font-size:clamp(16px,1.45vw,21px);max-width:590px;margin:28px 0 36px;color:rgba(255,255,255,.88)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 28px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600;cursor:pointer;transition:.25s}.button-light{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}.button-light:hover{background:#fff;color:var(--ink)}.scroll-cue{position:absolute;right:var(--pad);bottom:40px;z-index:2;display:flex;align-items:center;gap:13px;font-size:9px;text-transform:uppercase;letter-spacing:.22em;transform:rotate(90deg);transform-origin:right bottom}.scroll-cue i{display:block;width:55px;height:1px;background:currentColor}.section{padding:clamp(90px,13vw,190px) var(--pad)}.intro{display:grid;grid-template-columns:80px minmax(300px,1fr) minmax(350px,.82fr);gap:clamp(25px,6vw,90px);align-items:center}.intro-number{align-self:start;color:#8f897f;font-size:11px}.intro-copy h2,.section-heading h2,.experience h2,.about h2,.testimonial h2{font-size:clamp(50px,6vw,92px)}.intro-copy>p:not(.eyebrow){max-width:590px;font-size:16px;margin:25px 0 0}.intro-image{margin:0;height:680px;overflow:hidden}.intro-image img{height:100%;object-fit:cover}.statement{background:var(--ink);color:var(--paper);overflow:hidden;padding:23px 0;white-space:nowrap}.statement-track{font-family:Italiana,serif;font-size:clamp(35px,5vw,72px);letter-spacing:.02em;animation:marquee 26s linear infinite;width:max-content}@keyframes marquee{to{transform:translateX(-50%)}}.stories{padding-bottom:70px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:80px}.section-heading h2{max-width:950px}.story-card{position:relative;margin-bottom:120px}.story-card img{height:760px;object-fit:cover}.story-wide{width:86%;margin-left:auto}.story-wide img{object-position:center 45%}.story-caption{background:var(--paper);padding:30px 35px 0;max-width:510px;margin:-100px 0 0 -1px;position:relative;z-index:2}.story-caption span{font-size:10px;color:#7a746d}.story-caption h3{font-family:Italiana,serif;font-size:38px;font-weight:400;margin:8px 0 12px}.story-caption p{margin:0;color:#59554f}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.story-grid .story-card img{height:680px}.story-offset{margin-top:160px}.story-family{display:grid;grid-template-columns:.72fr 1.3fr;gap:6vw;align-items:center;margin-top:10px}.story-family .story-caption{margin:0;padding:0;max-width:440px}.story-family img{height:640px}.text-link{display:inline-block;margin-top:25px;border-bottom:1px solid;padding-bottom:3px;text-transform:uppercase;font-size:10px;letter-spacing:.16em}.experience{background:#ddd2c3;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.experience-photo img{height:900px;object-fit:cover}.experience-content{padding-right:4vw}.experience-content .lead{font-size:21px;max-width:520px;margin:32px 0 48px}.experience-list>div{display:grid;grid-template-columns:45px 1fr;border-top:1px solid rgba(25,25,23,.22);padding:22px 0}.experience-list span{font-size:10px}.experience-list h3{margin:0;font-size:15px;font-weight:500}.experience-list p{grid-column:2;margin:8px 0 0;color:#575249}.full-bleed{position:relative;height:86vh;min-height:650px;color:#fff}.full-bleed img{height:100%;object-fit:cover}.full-bleed:after{content:"";position:absolute;inset:0;background:rgba(13,13,12,.25)}.full-bleed blockquote{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:min(1050px,84%);font-family:Italiana,serif;text-align:center;font-size:clamp(38px,5.2vw,78px);line-height:1.08}.gallery{overflow:hidden}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.gallery h2{font-size:clamp(52px,7vw,95px)}.gallery-controls{display:flex;align-items:center;gap:20px}.gallery-controls button{border:1px solid var(--line);background:transparent;width:48px;height:48px;cursor:pointer;font-size:20px}.gallery-controls span{font-size:10px;letter-spacing:.12em}.gallery-viewport{overflow:hidden;cursor:grab}.gallery-viewport:active{cursor:grabbing}.gallery-track{display:flex;gap:22px;transition:transform .6s cubic-bezier(.22,.72,.18,1);will-change:transform}.gallery-item{flex:0 0 min(66vw,880px);height:min(68vw,680px);border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden}.gallery-item img{height:100%;object-fit:cover;transition:transform .7s}.gallery-item:hover img{transform:scale(1.02)}.gallery-item:nth-child(3n+2){flex-basis:min(46vw,620px)}.gallery-hint{text-align:center;margin-top:25px;color:#777067;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.testimonial{background:#fff;text-align:center}.testimonial-wrap{max-width:1050px;margin:0 auto}.testimonial blockquote{font-family:Italiana,serif;font-size:clamp(34px,4.3vw,67px);line-height:1.18;margin:30px 0 45px}.testimonial p{display:flex;flex-direction:column;gap:3px;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.testimonial p span{color:#8d867e}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.about-copy p:not(.eyebrow){max-width:560px;margin:24px 0;color:#514d47}.about-images{position:relative;padding:0 0 120px 12%}.about-main{height:780px;object-fit:cover}.about-small{position:absolute;width:46%;height:310px;object-fit:cover;left:0;bottom:0;border:12px solid var(--paper)}.contact{background:var(--ink);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.contact h2{font-size:clamp(52px,6.5vw,96px)}.contact-intro>p:not(.eyebrow){max-width:540px;color:rgba(255,255,255,.66);font-size:17px}.contact-details{display:flex;flex-direction:column;gap:7px;margin-top:42px;font-size:13px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;align-self:center}.contact-form label{display:flex;flex-direction:column;gap:9px}.contact-form label span{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.56)}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:0;padding:9px 0;outline:none}.contact-form select option{color:#111}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#fff}.contact-form .full{grid-column:1/-1}.hidden{display:none}.site-footer{background:#11110f;color:#fff;padding:80px var(--pad) 28px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-brand{justify-self:start}.site-footer>p{max-width:420px;color:rgba(255,255,255,.55);margin:0}.footer-links{grid-column:1/-1;display:flex;gap:35px;padding:35px 0;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;color:rgba(255,255,255,.42);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;background:rgba(10,10,9,.96);padding:50px;color:#fff}.lightbox::backdrop{background:#000}.lightbox[open]{display:grid;grid-template-columns:70px 1fr 70px;align-items:center}.lightbox img{max-width:90vw;max-height:85vh;width:auto;height:auto;margin:auto}.lightbox-close{position:absolute;right:26px;top:20px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer}.lightbox-nav{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;width:48px;height:48px;cursor:pointer}.lightbox-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.14em}.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s,transform .85s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-nav{position:fixed;inset:0;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;justify-content:center;font-family:Italiana,serif;font-size:34px;transform:translateY(-102%);transition:.4s}.site-nav.open{transform:none}.nav-cta{font-family:"DM Sans",sans-serif;font-size:11px}.menu-toggle{display:flex;z-index:2;width:40px;height:40px;flex-direction:column;justify-content:center;gap:7px}.menu-toggle span{width:26px;height:1px;background:currentColor}.intro{grid-template-columns:1fr}.intro-number{display:none}.intro-image{height:580px}.section-heading{display:block}.story-wide{width:100%}.story-card img,.story-grid .story-card img{height:600px}.story-grid{gap:40px}.story-family{grid-template-columns:1fr}.story-family .story-caption{order:2}.experience{grid-template-columns:1fr}.experience-photo img{height:680px}.experience-content{padding:0}.about{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.gallery-item{flex-basis:80vw}.gallery-item:nth-child(3n+2){flex-basis:62vw}}
@media(max-width:620px){.site-header{padding-top:18px}.brand-mark{font-size:25px}.hero{min-height:640px}.hero-media img{object-position:59% center}.hero-content{padding-bottom:95px}.hero h1{font-size:58px}.hero-copy{font-size:15px}.scroll-cue{display:none}.section{padding-top:90px;padding-bottom:90px}.intro-image{height:500px}.story-card{margin-bottom:80px}.story-card img,.story-grid .story-card img{height:470px}.story-caption{margin:-55px 15px 0 0;padding:22px 20px 0}.story-caption h3{font-size:31px}.story-grid{grid-template-columns:1fr}.story-offset{margin-top:0}.story-family img{height:410px}.experience-photo img{height:500px}.full-bleed{height:72vh;min-height:560px}.gallery-head{align-items:flex-end}.gallery-controls>span{display:none}.gallery-controls{gap:8px}.gallery-item,.gallery-item:nth-child(3n+2){flex-basis:84vw;height:105vw}.testimonial blockquote{font-size:33px}.about-main{height:530px}.about-small{height:190px}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1/-1}.site-footer{grid-template-columns:1fr}.site-footer>p,.footer-links,.footer-bottom{grid-column:1}.footer-links{flex-wrap:wrap}.lightbox{padding:20px}.lightbox[open]{grid-template-columns:35px 1fr 35px}.lightbox-nav{width:34px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.statement-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.gallery-track{transition:none}}


/* TINT brand and interaction refinements */
.header-logo{display:block;width:86px;height:auto;transition:width .3s ease,filter .3s ease}
.site-header:not(.scrolled) .header-logo{filter:drop-shadow(0 1px 8px rgba(0,0,0,.18))}
.site-header.scrolled .header-logo{width:72px}
.footer-logo{display:block;width:min(280px,52vw);height:auto}
.hero-slideshow,.hero-slide,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{object-fit:cover;object-position:center 42%;opacity:0;transform:scale(1.015);transition:opacity 1.3s ease,transform 7s ease}
.hero-slide.active{opacity:1;transform:scale(1.06)}
.hero .button-light{border-color:#e14429}
.hero .button-light:hover{background:#e14429;border-color:#e14429;color:#fff}
.nav-cta{border-color:#f58a1f}
.nav-cta:hover{background:#f58a1f;color:#191917}
.text-link{border-bottom-color:#e14429}
.contact-form .button-light{border-color:#f58a1f}
.contact-form .button-light:hover{background:#f58a1f;border-color:#f58a1f;color:#191917}
.full-bleed blockquote{width:min(1120px,88%);padding:0 20px;box-sizing:border-box}

@media(max-width:900px){
  .site-nav{background:#f3efe8;gap:8px;padding:100px 28px 48px;align-items:stretch;text-align:center}
  .site-nav a{display:flex;align-items:center;justify-content:center;min-height:56px;background:#f3efe8}
  .site-nav a:not(.nav-cta):after{display:none}
  .site-nav .nav-cta{border:1px solid #f58a1f;margin-top:8px}
  .header-logo{width:76px}
  .site-header.scrolled .header-logo{width:66px}
  .full-bleed blockquote{width:92%;font-size:clamp(34px,6.8vw,60px);line-height:1.12}
}
@media(max-width:620px){
  .hero-slide{object-position:58% center}
  .hero-slide:nth-child(2){object-position:49% center}
  .hero-slide:nth-child(3){object-position:54% center}
  .hero-slide:nth-child(4){object-position:50% center}
  .full-bleed{min-height:620px}
  .full-bleed blockquote{width:94%;font-size:clamp(31px,9vw,46px);line-height:1.12;padding:0 8px}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}.hero-slide.active{transform:none}}


/* July 2026 responsive corrections */
.hero{overflow:hidden;background:#11110f;isolation:isolate}
.hero-slideshow{overflow:hidden;background:#11110f;z-index:0}
.hero-slide{inset:0;min-width:100%;min-height:100%;display:block;transform-origin:center center}
.hero-overlay{z-index:1;pointer-events:none}
.hero-content,.scroll-cue{z-index:3}

/* Number accents */
.intro-number,
.story-caption>span,
.experience-list>div>span,
.gallery-controls b,
.lightbox-count{color:#f38320}

/* Quote - keep every line inside the photograph on all viewports */
.quote-image{overflow:hidden}
.quote-image blockquote{
  left:50%;right:auto;top:50%;
  width:min(1180px,calc(100% - 2 * var(--pad)));
  max-width:calc(100% - 48px);
  padding:0;
  font-size:clamp(38px,4.35vw,70px);
  line-height:1.08;
  text-wrap:balance;
}
.quote-image blockquote span{display:block}

/* Email accent */
.contact-details a[href^="mailto:"],
.site-footer a[href^="mailto:"]{color:#e14429}

/* More compact footer */
.site-footer{padding-top:44px;gap:28px}
.footer-logo{width:min(140px,28vw)}
.footer-links{padding:24px 0}

/* True three-line mobile menu */
.menu-toggle{position:relative;align-items:center;padding:0;cursor:pointer}
.menu-toggle span{display:block;transition:transform .3s ease,opacity .2s ease,background-color .3s ease;transform-origin:center}

@media(max-width:900px){
  .site-header{z-index:100}
  .brand{position:relative;z-index:102}
  .menu-toggle{display:flex;position:relative;z-index:103}
  .menu-toggle span{width:27px;height:2px;background:currentColor}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
  .site-nav{
    z-index:101;
    transform:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s ease,visibility 0s linear .3s;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .site-nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .3s ease;
  }
  body.menu-open{overflow:hidden;touch-action:none}
  .quote-image blockquote{font-size:clamp(34px,6.1vw,56px);max-width:calc(100% - 42px)}
}

@media(max-width:620px){
  .hero{height:100svh;min-height:640px}
  .hero-slideshow,.hero-slide,.hero-overlay{height:100%;min-height:100%}
  .quote-image{height:auto;min-height:580px;display:grid;place-items:center}
  .quote-image img{position:absolute;inset:0;width:100%;height:100%}
  .quote-image blockquote{
    position:relative;left:auto;top:auto;transform:none;
    width:100%;max-width:calc(100% - 36px);
    padding:0 4px;
    font-size:clamp(30px,8.1vw,42px);
    line-height:1.12;
  }
  .quote-image blockquote span{display:inline}
  .quote-image blockquote span+span:before{content:" "}
  .site-footer{padding-top:34px;padding-bottom:22px;gap:22px}
  .footer-logo{width:min(120px,34vw)}
}

/* July 2026 - final mobile navigation, gallery and footer refinements */
.gallery-head{display:block}
.gallery-title-block{display:flex;flex-direction:column;align-items:flex-start}
.gallery-controls{margin-top:28px}

.site-footer{align-items:center}
.footer-brand{justify-self:center;align-self:center}
.site-footer>p{justify-self:center;align-self:center}

@media(max-width:900px){
  /* Keep the mobile menu attached to the viewport even after the header becomes blurred/sticky */
  body.menu-open .site-header{
    inset:0;
    width:100%;
    height:100dvh;
    min-height:100vh;
    padding:18px var(--pad);
    align-items:flex-start;
    background:#f3efe8;
    color:#191917;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
    overflow:hidden;
  }
  body.menu-open .site-header .brand,
  body.menu-open .site-header .menu-toggle{position:relative;z-index:104}
  body.menu-open .menu-toggle{color:#191917}
  body.menu-open .menu-toggle span{background:#191917}
  .site-nav{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:100%;
    padding:110px 28px 48px;
  }
}

@media(max-width:620px){
  .gallery-controls{margin-top:24px}
  .site-footer{
    padding-top:38px;
    gap:38px;
  }
  .footer-logo{width:min(132px,37vw)}
  .footer-brand{justify-self:start}
  .site-footer>p{justify-self:start;align-self:start;margin-top:-4px}
  .footer-links{margin-top:2px}
}

/* July 2026 - desktop-only alignment refinements */
@media(min-width:621px){
  .footer-brand{
    justify-self:start;
    align-self:center;
  }

  .gallery-title-block{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    column-gap:48px;
    align-items:end;
  }
  .gallery-title-block .eyebrow{
    grid-column:1;
    grid-row:1;
  }
  .gallery-title-block h2{
    grid-column:1;
    grid-row:2;
  }
  .gallery-title-block .gallery-controls{
    grid-column:2;
    grid-row:1 / 3;
    align-self:end;
    justify-self:end;
    margin-top:0;
    margin-bottom:2px;
  }
}

@media(max-width:620px){
  .gallery-title-block{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }
  .gallery-title-block .gallery-controls{
    margin-top:24px;
  }
}

/* Mobile spacing fix */
@media (max-width:768px){
.contact-form,form,.contact-form-wrap,.contact-form-wrapper{margin-top:150px!important;}
}

/* spacing fix */
.story-offset{margin-top:80px!important;}
@media (max-width:768px){.story-offset{margin-top:0!important;}.story-family{margin-top:-180px!important;}}

/* v7 - precise spacing between intro image and Stories section */
.intro {
  padding-bottom: 0 !important;
}
.stories {
  padding-top: 145px !important;
}

/* Restore story-card positioning that was previously changed by mistake */
.story-offset {
  margin-top: 160px !important;
}
.story-family {
  margin-top: 10px !important;
}

@media (max-width: 620px) {
  .intro {
    padding-bottom: 0 !important;
  }
  .stories {
    padding-top: 90px !important;
  }
  .story-offset {
    margin-top: 0 !important;
  }
  .story-family {
    margin-top: 10px !important;
  }
}

/* Mobile gallery controls and swipe improvements - July 2026 */
.gallery-controls button,
.gallery-prev,
.gallery-next {
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  -webkit-tap-highlight-color: transparent;
}

.gallery-viewport {
  touch-action: pan-y;
  overscroll-behavior-x: contain;
  -webkit-user-select: none;
  user-select: none;
}

.gallery-track,
.gallery-item,
.gallery-item img {
  -webkit-user-drag: none;
  user-drag: none;
}

.gallery-item {
  touch-action: pan-y;
}

@media (max-width: 620px) {
  .gallery-controls button,
  .gallery-prev,
  .gallery-next {
    color: #191917 !important;
    -webkit-text-fill-color: #191917 !important;
  }
}

/* Desktop-only contact-to-footer spacing refinement */
@media (min-width: 901px) {
  .contact {
    padding-bottom: 67px !important;
  }
}

/* v10 - keep footer content below the mobile navigation overlay */
@media (max-width: 900px) {
  .site-footer .footer-brand {
    position: relative;
    z-index: 0;
  }

  body.menu-open .site-footer {
    visibility: hidden;
  }
}
