:root{--black:#070707;--white:#f6f5f2;--line:rgba(255,255,255,.35);--pad:clamp(1.2rem,3vw,3.5rem);font-family:Arial,Helvetica,sans-serif;color:var(--black);background:var(--black)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black)}a{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.4rem var(--pad);mix-blend-mode:difference;color:white}.wordmark{font-size:.82rem;letter-spacing:.18em;text-decoration:none;font-weight:700}.menu-toggle{appearance:none;border:0;background:none;color:inherit;display:grid;grid-template-columns:auto 1.5rem;gap:.5rem;align-items:center;font:inherit;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.menu-toggle i{grid-column:2;height:1px;background:currentColor}.menu-toggle i:last-child{transform:translateY(-5px)}.menu{position:fixed;z-index:50;inset:0;background:var(--white);padding:var(--pad);display:flex;flex-direction:column;justify-content:center;transform:translateY(-102%);transition:transform .65s cubic-bezier(.75,0,.2,1)}.menu.open{transform:none}.menu-close{position:absolute;right:var(--pad);top:1.5rem;border:0;background:none;text-transform:uppercase;letter-spacing:.15em;cursor:pointer}.menu-inner{display:flex;flex-direction:column}.menu-inner a{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,7vw,7rem);line-height:.88;text-decoration:none;text-transform:uppercase}.menu-inner a:hover{font-style:italic}.menu>p{position:absolute;bottom:var(--pad);left:var(--pad);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.panel{position:relative;min-height:100svh;overflow:hidden}.dark{background:var(--black);color:var(--white)}.light{background:var(--white);color:var(--black)}.eyebrow,.micro,figcaption{font-size:.75rem;line-height:1.25;letter-spacing:.16em;text-transform:uppercase}.hero>img{position:absolute;inset:0;object-position:center 30%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.42),transparent 58%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 40%)}.hero-title{position:absolute;left:var(--pad);top:50%;transform:translateY(-48%)}.hero-title p{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;margin:0 0 1rem}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(4.2rem,12vw,11.5rem);font-weight:400;line-height:.76;letter-spacing:-.06em;margin:0}.hero-meta{position:absolute;left:var(--pad);bottom:var(--pad);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.scroll-cue{position:absolute;right:var(--pad);bottom:var(--pad);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.scroll-cue span{margin-left:1rem}.statement{display:flex;flex-direction:column;justify-content:center;padding:var(--pad)}.statement .eyebrow{position:absolute;top:var(--pad);left:var(--pad)}.statement h2,.spread h2,.duo h2,.grid-title h2,.kids h2,.about h2,.contact h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,8.3vw,9rem);font-weight:400;letter-spacing:-.055em;line-height:.85;margin:0}.statement h2 em,.about h2 em,.contact h2 em{font-weight:400}.statement-copy{max-width:36rem;align-self:flex-end;font-size:clamp(1rem,1.6vw,1.5rem);line-height:1.45;margin-top:3rem}.spread .image-fill{position:absolute;inset:0;margin:0}.spread .image-fill img{object-position:center}.spread:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),transparent 52%)}.spread-copy{position:absolute;z-index:2;left:var(--pad);bottom:var(--pad);color:white}.spread-copy.inverse{mix-blend-mode:normal;color:white}.spread-copy p:last-child{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.spread-copy.align-right{left:auto;right:var(--pad);text-align:right}.duo{min-height:120svh;padding:9rem var(--pad) var(--pad);display:grid;grid-template-columns:1fr .72fr 1fr;gap:clamp(1.2rem,4vw,5rem);align-items:center}.duo figure{margin:0;height:70svh}.duo figure:last-child{transform:translateY(12vh)}.duo-title{align-self:start;margin-top:8vh}.duo-title h2{font-size:clamp(3rem,5.3vw,6rem)}figcaption{margin-top:.8rem}.editorial-grid{min-height:145svh;padding:7rem var(--pad);display:grid;grid-template-columns:.75fr 1fr 1fr;grid-template-rows:auto 1fr 1fr;gap:clamp(1rem,2vw,2.2rem)}.editorial-grid figure{margin:0;min-height:0}.grid-title{grid-column:1/3;align-self:end;padding-bottom:2rem}.grid-title h2{font-size:clamp(3rem,7vw,7.4rem)}.editorial-grid .tall{grid-column:3;grid-row:1/3;height:85svh}.editorial-grid .wide{grid-column:1/3;grid-row:2;height:58svh}.editorial-grid .small{grid-column:2/4;grid-row:3;height:58svh;margin-left:12%}.kids{padding:8rem var(--pad) var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,8rem);align-items:center}.kids-copy p:not(.eyebrow):not(.micro){max-width:34rem;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.5}.kids figure{height:72svh;margin:0}.about{padding:8rem var(--pad) var(--pad);display:flex;flex-direction:column;justify-content:space-between}.about-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.about-grid>div p:not(.micro){font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.2rem,2.1vw,2rem);line-height:1.35}.contact{padding:8rem var(--pad) var(--pad);display:flex;flex-direction:column;justify-content:space-between}.contact h2{font-size:clamp(4rem,11vw,11rem)}.contact-row{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #999;padding-top:1.2rem;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.contact-placeholder{opacity:.5}footer{display:flex;justify-content:space-between;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;padding-top:3rem}footer a{text-decoration:none}
@media(max-width:760px){.wordmark{font-size:.75rem}.menu-toggle span{display:none}.hero>img{object-position:58% center}.hero h1{font-size:21vw}.hero-meta{max-width:70%;line-height:1.5}.statement h2,.spread h2,.kids h2,.about h2,.contact h2{font-size:15vw}.statement-copy{align-self:flex-start;max-width:85%}.spread .image-fill img{object-position:60% center}.spread-copy.align-right{left:var(--pad);right:auto;text-align:left}.duo{min-height:auto;padding:7rem var(--pad);grid-template-columns:1fr;gap:4rem}.duo figure,.duo figure:last-child{height:75svh;transform:none}.duo-title{order:-1;margin:0}.editorial-grid{min-height:auto;display:flex;flex-direction:column;padding:7rem var(--pad)}.editorial-grid .tall,.editorial-grid .wide,.editorial-grid .small{height:72svh;margin:0}.kids{display:flex;flex-direction:column;padding:7rem var(--pad)}.kids figure{height:62svh;width:100%}.about-grid{grid-template-columns:1fr;gap:4rem}.contact-row{display:block}.contact-placeholder{margin-top:1.5rem}.menu-inner a{font-size:12vw}}

/* Set the masthead directly on the pale car in the same editorial serif used for “Iconic.” */
.hero .shade{background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 22%)}
.hero-title{left:auto;right:var(--pad);top:45%;width:min(41vw,36rem);transform:none;text-align:right;color:#050505}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.4rem,7.2vw,7.4rem);font-weight:400;line-height:.8;letter-spacing:-.055em}
.hero-title p{color:#050505}
.hero-meta,.scroll-cue{color:#050505}
@media(max-width:760px){.hero-title{top:auto;right:var(--pad);bottom:30%;width:72%}.hero h1{font-size:13.5vw;line-height:.82}.hero-title p{margin-bottom:.55rem}.hero-meta{max-width:64%}}
.grid-title h2 em{font-weight:400}
.commercial-focus img{object-position:center 55%}
#talent .image-fill img{object-position:76% center}
.campaign{padding:8rem var(--pad) var(--pad);display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(2rem,6vw,8rem);align-items:start}.campaign-heading{position:sticky;top:8rem}.campaign-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,7vw,7rem);font-weight:400;letter-spacing:-.055em;line-height:.85;margin:1rem 0}.campaign-heading h2 em{font-weight:400}.campaign-heading>p:last-child{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}.campaign-images{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,2rem)}.campaign-images figure{margin:0;overflow:hidden}.campaign-portrait{height:74svh}.campaign-wide{grid-column:1/3;height:54svh}.campaign-shoes{height:72svh;grid-column:2}.campaign-images img{object-position:center}
@media(max-width:760px){.spread .image-fill img{object-position:center}.commercial-focus img{object-position:60% center}#talent .image-fill img{object-position:81% center}.spread-copy{left:var(--pad);right:var(--pad)}.spread-copy h2{color:white}.editorial-grid .tall img,.editorial-grid .wide img{object-position:center}.editorial-grid .small img{object-position:62% center}}
@media(max-width:760px){.campaign{display:block;padding:7rem var(--pad)}.campaign-heading{position:static;margin-bottom:3rem}.campaign-heading h2{font-size:15vw}.campaign-images{display:flex;flex-direction:column}.campaign-portrait{height:68svh;width:82%}.campaign-wide{height:48svh;width:100%}.campaign-shoes{height:68svh;width:82%;align-self:flex-end}.campaign-images img{object-position:center}.editorial-grid .wide img{object-position:center}.editorial-grid .small img{object-position:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu{transition:none}}
.campaign-images figure:only-child{grid-column:1 / 3;width:min(100%,44rem);height:78svh}
@media(max-width:760px){.campaign-images figure:only-child{width:82%;height:72svh}}
/* Keep the single campaign image fully visible and restore a calmer editorial scale. */
.campaign-images figure:only-child{grid-column:1 / 3;width:100%;height:auto}
.campaign-images figure:only-child img{height:auto;max-height:78svh;object-fit:contain;background:var(--white)}
.editorial-grid .tall{height:72svh}
@media(max-width:760px){.campaign-images figure:only-child{width:100%;height:auto}.campaign-images figure:only-child img{max-height:none}.editorial-grid .tall{height:60svh}}

/* Modern Form: show the complete photograph with deliberate editorial margins. */
#editorial .image-fill{inset:5rem var(--pad) 6rem}
#editorial .image-fill img{object-fit:contain;object-position:center}
@media(max-width:760px){#editorial .image-fill{inset:5rem 1rem 7rem}}

.duo-single{min-height:100svh;grid-template-columns:1.25fr .75fr}
.duo-single figure{height:76svh}
.duo-single figure img{object-fit:contain;background:var(--white)}
@media(max-width:760px){.duo-single{grid-template-columns:1fr}.duo-single figure{height:68svh}}

.title-editor-toggle{position:absolute;z-index:4;right:var(--pad);top:5rem;border:1px solid rgba(0,0,0,.55);border-radius:999px;background:rgba(246,245,242,.88);color:#050505;padding:.7rem 1rem;font:700 .75rem/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(8px)}
.title-editor{position:fixed;z-index:80;left:50%;bottom:1rem;width:min(92vw,28rem);transform:translate(-50%,calc(100% + 2rem));transition:transform .3s ease;background:#f6f5f2;color:#070707;border:1px solid #aaa;padding:1rem 1.1rem;box-shadow:0 1rem 3rem rgba(0,0,0,.35);font:14px/1.35 Arial,sans-serif}
.title-editor.open{transform:translate(-50%,0)}.title-editor-head{display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.1em}.title-editor-head button,.title-editor-reset{border:1px solid #111;background:transparent;padding:.55rem .8rem;font:inherit;cursor:pointer}.title-editor>p{margin:.65rem 0 1rem;color:#555}.title-editor label{display:grid;grid-template-columns:6.5rem 1fr;gap:.75rem;align-items:center;margin:.75rem 0}.title-editor input{width:100%;accent-color:#111}.title-editor select{width:100%;font:inherit;padding:.45rem;background:white;border:1px solid #aaa}.title-editor-reset{width:100%;margin-top:.45rem;text-transform:uppercase;letter-spacing:.08em}.hero-title.is-editing{outline:1px dashed rgba(0,0,0,.6);outline-offset:.7rem;cursor:move;touch-action:none}.hero-title.custom-position{left:var(--hero-x)!important;right:auto!important;top:var(--hero-y)!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(72vw,36rem);text-align:center}
@media(max-width:760px){.title-editor-toggle{top:4.5rem}.title-editor{bottom:.6rem}.hero-title.custom-position{width:78vw}}

/* Keep the role fixed on the hood while the name remains independently editable. */
.hero-title{inset:0;width:auto;transform:none;text-align:initial;pointer-events:none;color:#050505}
.hero-title .hero-role{position:absolute;left:72%;top:58%;transform:translate(-50%,-50%);margin:0;white-space:nowrap;color:#050505;font:400 .85rem/1 Arial,Helvetica,sans-serif;letter-spacing:.23em;pointer-events:auto}
.hero .hero-name{position:absolute;left:72%;top:64%;transform:translate(-50%,-50%);margin:0;width:max-content;max-width:88vw;white-space:nowrap;color:#050505;font-family:Georgia,'Times New Roman',serif;font-size:3.2rem;font-weight:400;line-height:1;letter-spacing:.08em;text-align:center;pointer-events:auto}
.hero-name.is-editing,.hero-role.is-editing{outline:1px dashed rgba(0,0,0,.65);outline-offset:.7rem;cursor:move;touch-action:none}
.hero-name.custom-position{left:var(--hero-x)!important;top:var(--hero-y)!important}
@media(max-width:760px){.hero-title{inset:0;width:auto}.hero-title .hero-role{left:67%;top:50%;font-size:.7rem;letter-spacing:.2em}.hero .hero-name{left:63%;top:53%;font-size:1.65rem;letter-spacing:.06em}}

/* Editorial Stories: preserve the full portrait composition at every screen size. */
.editorial-grid{min-height:100svh;display:block;padding:var(--pad)}
.editorial-grid .grid-title{position:absolute;z-index:2;left:var(--pad);bottom:var(--pad);width:min(39vw,36rem);padding:0}
.editorial-grid .grid-title h2{font-size:clamp(3rem,6.2vw,6.8rem)}
.editorial-grid .tall{position:absolute;right:var(--pad);top:50%;width:auto;height:min(80svh,70vw);aspect-ratio:495/700;transform:translateY(-50%);margin:0}
.editorial-grid .tall img{object-fit:contain;object-position:center}
@media(max-width:760px){.editorial-grid{min-height:100svh;padding:var(--pad)}.editorial-grid .tall{position:absolute;inset:4.5rem 1rem 13rem;width:auto;height:auto;aspect-ratio:auto;transform:none}.editorial-grid .tall figcaption{display:none}.editorial-grid .grid-title{left:var(--pad);right:var(--pad);bottom:var(--pad);width:auto;text-shadow:0 1px 18px rgba(0,0,0,.7)}.editorial-grid .grid-title h2{font-size:12.5vw}}
.duo-single{grid-template-columns:.75fr 1.25fr}
.duo-single figure{grid-column:2;grid-row:1}
.duo-single .duo-title{grid-column:1;grid-row:1}
@media(max-width:760px){.duo-single{grid-template-columns:1fr}.duo-single .duo-title{grid-column:1;grid-row:1}.duo-single figure{grid-column:1;grid-row:2}}

/* Keep key portfolio titles in one shared bottom-left position. */
.duo-single .duo-title{position:absolute;left:var(--pad);bottom:var(--pad);z-index:2;margin:0;max-width:min(34vw,28rem)}
.campaign{position:relative}
.campaign-heading{position:absolute;left:var(--pad);bottom:var(--pad);z-index:3;width:min(32vw,28rem);margin:0}
@media(max-width:760px){.duo-single{padding-bottom:9rem}.duo-single .duo-title{left:var(--pad);bottom:var(--pad);max-width:calc(100% - 2 * var(--pad))}.campaign{padding-bottom:13rem}.campaign-heading{left:var(--pad);bottom:var(--pad);width:calc(100% - 2 * var(--pad))}.campaign-images{padding-bottom:9rem}}

/* Lift the homepage footer labels clear of the car lights while preserving one shared baseline. */
.hero-meta,.scroll-cue{bottom:calc(var(--pad) + 1.15rem)}
.scroll-cue{right:calc(var(--pad) + 1.25rem)}
.hero>img{object-fit:cover;transform:none}
@media(max-width:760px){.hero>img{object-position:45% center}}

/* Final editorial page layouts: keep each title anchored to the lower-left
   and let the supplied photography retain its original proportions. */
.duo-single{
  min-height:100svh;
  display:block;
  padding:0;
}
.duo-single figure{
  position:absolute;
  top:var(--pad);
  right:var(--pad);
  bottom:calc(var(--pad) + 3.2rem);
  left:38%;
  width:auto;
  height:auto;
  margin:0;
}
.duo-single figure img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:var(--white);
}
.duo-single .duo-title{
  position:absolute;
  z-index:2;
  left:var(--pad);
  right:auto;
  bottom:var(--pad);
  width:min(32vw,28rem);
  max-width:none;
  margin:0;
}
.duo-single .duo-title h2{font-size:clamp(3rem,6.2vw,6.8rem)}

.campaign{
  min-height:100svh;
  display:block;
  padding:0;
}
.campaign-heading{
  position:absolute;
  z-index:3;
  left:var(--pad);
  right:auto;
  bottom:var(--pad);
  width:min(32vw,28rem);
  margin:0;
}
.campaign-heading h2{font-size:clamp(3rem,6.2vw,6.8rem)}
.campaign-images{
  position:absolute;
  top:var(--pad);
  right:var(--pad);
  bottom:calc(var(--pad) + 3.2rem);
  width:58%;
  display:block;
  padding:0;
}
.campaign-images figure:only-child{
  width:100%;
  height:100%;
  margin:0;
}
.campaign-images figure:only-child img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center;
  background:var(--white);
}

.editorial-grid{
  min-height:100svh;
  display:block;
  padding:0;
}
.editorial-grid .grid-title{
  position:absolute;
  z-index:2;
  left:var(--pad);
  bottom:var(--pad);
  width:min(39vw,36rem);
  padding:0;
}
.editorial-grid .tall{
  position:absolute;
  top:var(--pad);
  right:var(--pad);
  bottom:calc(var(--pad) + 3.2rem);
  width:48%;
  height:auto;
  aspect-ratio:auto;
  transform:none;
  margin:0;
}
.editorial-grid .tall img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

@media(max-width:760px){
  .duo-single{min-height:100svh;padding:0}
  .duo-single figure{
    top:4.5rem;
    right:1rem;
    bottom:11.5rem;
    left:1rem;
  }
  .duo-single .duo-title{
    left:var(--pad);
    bottom:var(--pad);
    width:calc(100% - 2 * var(--pad));
  }
  .duo-single .duo-title h2{font-size:15vw}

  .campaign{min-height:100svh;padding:0}
  .campaign-images{
    top:4.5rem;
    right:var(--pad);
    bottom:11rem;
    left:var(--pad);
    width:auto;
  }
  .campaign-heading{
    left:var(--pad);
    bottom:var(--pad);
    width:calc(100% - 2 * var(--pad));
  }
  .campaign-heading h2{font-size:15vw}

  .editorial-grid{min-height:100svh;padding:0}
  .editorial-grid .tall{
    top:4.5rem;
    right:1rem;
    bottom:11.5rem;
    left:1rem;
    width:auto;
    height:auto;
  }
  .editorial-grid .grid-title{
    left:var(--pad);
    right:var(--pad);
    bottom:var(--pad);
    width:auto;
  }
  .editorial-grid .grid-title h2{font-size:12.5vw}
}

/* Mobile composition lock: each featured spread is a single viewport frame.
   Keeping the frame's height fixed prevents Safari's changing toolbar height,
   image intrinsic dimensions, or text reflow from separating the elements. */
@media(max-width:760px){
  html{-webkit-text-size-adjust:100%;}
  .hero,
  .duo-single,
  .campaign,
  .editorial-grid{
    height:100svh;
    min-height:100svh;
    max-height:100svh;
    overflow:hidden;
    contain:layout paint;
  }
  .hero-title,
  .hero-meta,
  .duo-single .duo-title,
  .duo-single figure,
  .campaign-heading,
  .campaign-images,
  .editorial-grid .grid-title,
  .editorial-grid .tall{
    will-change:auto;
  }
}

/* Keep the homepage disciplines legible over every part of the photograph. */
.hero-meta{
  width:max-content;
  max-width:calc(100% - 2 * var(--pad));
  padding:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  text-shadow:0 0 10px rgba(246,245,242,.9);
}
@media(max-width:760px){
  .hero-meta{
    left:var(--pad);
    bottom:calc(var(--pad) + 2rem);
    max-width:calc(100% - 2 * var(--pad));
    padding:0;
  }
}

/* Final mobile anchors. These rules intentionally come last so no earlier
   responsive declaration can detach the type from its composition. */
@media(max-width:760px){
  .hero,
  .duo-single,
  .campaign,
  .editorial-grid{
    position:relative !important;
    height:100svh !important;
    min-height:100svh !important;
    max-height:100svh !important;
    overflow:hidden !important;
  }
  .hero-title{
    position:absolute !important;
    inset:0 !important;
    transform:none !important;
  }
  .hero .hero-role{
    position:absolute !important;
    left:67% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    white-space:nowrap !important;
  }
  .hero .hero-name{
    position:absolute !important;
    left:63% !important;
    top:53% !important;
    transform:translate(-50%,-50%) !important;
    white-space:nowrap !important;
  }
  .duo-single figure{
    position:absolute !important;
    top:4.5rem !important;
    right:1rem !important;
    bottom:11.5rem !important;
    left:1rem !important;
    width:auto !important;
    height:auto !important;
    transform:none !important;
  }
  .duo-single .duo-title,
  .campaign-heading,
  .editorial-grid .grid-title{
    position:absolute !important;
    left:var(--pad) !important;
    right:var(--pad) !important;
    bottom:var(--pad) !important;
    top:auto !important;
    width:auto !important;
    transform:none !important;
  }
  .campaign-images{
    position:absolute !important;
    top:4.5rem !important;
    right:var(--pad) !important;
    bottom:11rem !important;
    left:var(--pad) !important;
    width:auto !important;
    height:auto !important;
    transform:none !important;
  }
  .campaign-images figure:only-child,
  .editorial-grid .tall{
    position:absolute !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    transform:none !important;
  }
}

/* Twenty-image menu portrait wall, moving as two very slow faded orbits. */
.menu-orbit{position:absolute;z-index:0;inset:0;overflow:hidden;opacity:.14;pointer-events:none;filter:saturate(.72) contrast(.88)}
.menu-orbit-ring{--radius:min(43vw,43vh);position:absolute;left:50%;top:50%;width:0;height:0;animation:menu-orbit-clockwise 110s linear infinite}
.menu-orbit-ring figure{position:absolute;left:0;top:0;width:clamp(10rem,15vw,17rem);aspect-ratio:3/4;margin:0;overflow:hidden;transform:rotate(calc(var(--i) * 36deg)) translateX(var(--radius)) rotate(calc(var(--i) * -36deg)) translate(-50%,-50%)}
.menu-orbit-ring img{width:100%;height:100%;object-fit:cover}
.menu-orbit-inner{--radius:min(27vw,28vh);animation-name:menu-orbit-counter;animation-duration:140s}
.menu-orbit-inner figure{width:clamp(7rem,10vw,12rem)}
.menu-inner{position:relative;z-index:2;transform:translateY(-7vh)}
.menu-close,.menu>p{z-index:2}
.menu-inner a{font-size:clamp(3.2rem,8vw,8rem);line-height:.82;text-shadow:0 0 24px rgba(246,245,242,.95)}
@keyframes menu-orbit-clockwise{to{transform:rotate(360deg)}}
@keyframes menu-orbit-counter{to{transform:rotate(-360deg)}}
@media(max-width:760px){
  .menu-orbit{opacity:.12}
  .menu-orbit-ring{--radius:min(45vw,38vh)}
  .menu-orbit-ring figure{width:8.75rem}
  .menu-orbit-inner{--radius:min(27vw,24vh)}
  .menu-orbit-inner figure{width:6.75rem}
  .menu-inner{transform:translateY(-8vh)}
  .menu-inner a{font-size:13.5vw;line-height:.82}
}
@media(prefers-reduced-motion:reduce){.menu-orbit-ring{animation:none}}

/* About and contact: a personal portrait plus direct booking links. */
.about{min-height:100svh;justify-content:flex-start;gap:clamp(3rem,7vh,6rem)}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(15rem,.56fr) minmax(18rem,.72fr);gap:clamp(2rem,4vw,5rem);align-items:end}
.about-grid h2{align-self:start}
.about-portrait{height:min(64svh,46rem);margin:0;overflow:hidden}
.about-portrait img{object-fit:cover;object-position:center}
.about-copy p:first-child{margin-top:0}
.contact-links{display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;text-align:right}
.contact-links a{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.15rem}
.contact-links a:hover{font-style:italic}
.about-page h1,.contact-page h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,8.3vw,9rem);font-weight:400;letter-spacing:-.055em;line-height:.85;margin:0}
.about-page h1 em,.contact-page h1 em{font-weight:400}
.about-page footer{margin-top:auto}
.contact-page h1{font-size:clamp(4rem,11vw,11rem)}
.menu-inner a[aria-current="page"]{font-style:italic}
@media(max-width:980px){
  .about-grid{grid-template-columns:1fr .8fr}
  .about-grid h2{grid-column:1 / -1}
}
@media(max-width:760px){
  .about{padding:7rem var(--pad);gap:3rem}
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-grid h2{grid-column:auto}
  .about-portrait{height:62svh}
  .contact-links{align-items:flex-start;margin-top:1.5rem;text-align:left;gap:.9rem}
  .about-page h1,.contact-page h1{font-size:15vw}
}

/* Standalone About and Contact pages: quiet, white, and independent of the portfolio spreads. */
.simple-about{min-height:100svh;padding:6.5rem max(var(--pad),6vw) 3rem;background:var(--white);color:var(--black);display:grid;grid-template-columns:minmax(16rem,28rem) minmax(20rem,36rem);grid-template-rows:auto auto;justify-content:center;align-content:center;align-items:center;gap:0 clamp(3rem,7vw,8rem)}
.simple-about .about-main-photo{width:100%;height:auto;aspect-ratio:4/5;margin:0;overflow:hidden;grid-row:1 / 3}
.simple-about .about-main-photo img{object-fit:cover;object-position:center}
.simple-about-copy{width:min(100%,32rem);padding-top:0}
.simple-about-copy p{font-family:Arial,Helvetica,sans-serif;font-size:clamp(1rem,1.08vw,1.15rem);font-weight:300;line-height:1.62;letter-spacing:.015em;color:rgba(7,7,7,.78);margin:0 0 1.25em}
.simple-about .about-kiss{width:clamp(5rem,7vw,7rem);height:auto;aspect-ratio:3/2;margin:.4rem 0 0;opacity:.58;align-self:start}
.simple-about .about-kiss img{width:100%;height:100%;object-fit:contain}
.simple-contact{min-height:100svh;padding:8rem var(--pad) 5rem;background:var(--white);color:var(--black);display:flex;align-items:center}
.simple-contact-inner{width:100%}
.simple-contact h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(9rem,28vw,30rem);font-weight:400;line-height:.72;letter-spacing:-.08em;margin:0 0 clamp(4rem,10vh,8rem)}
.simple-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem;font-size:clamp(1rem,2vw,1.5rem);letter-spacing:.06em}
.simple-contact-links a{color:inherit;text-decoration:none}
.simple-contact-links a:hover{font-style:italic}
@media(max-width:760px){
  .simple-about{height:100svh;min-height:100svh;overflow:hidden;padding:5.35rem 1.4rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem}
  .simple-about .about-main-photo{flex:0 0 auto;width:min(78vw,19rem);aspect-ratio:4/3;grid-row:auto}
  .simple-about-copy{flex:0 0 auto;width:min(100%,23rem);padding-top:0}
  .simple-about-copy p{font-size:clamp(.77rem,3.15vw,.84rem);line-height:1.42;letter-spacing:.008em;margin-bottom:.72em}
  .simple-about-copy p:last-child{margin-bottom:0}
  .simple-about .about-kiss{display:none}
  .simple-contact{padding:7rem var(--pad) 4rem;align-items:flex-start}
  .simple-contact-inner{padding-top:16vh}
  .simple-contact h1{font-size:46vw;margin-bottom:5rem}
  .simple-contact-links{font-size:1rem;gap:1.35rem;letter-spacing:.025em}
}

/* Homepage contact ending: preserve the reach-out panel and make its headline the second route to Contact. */
.homepage-contact-cta{display:block;color:inherit;text-decoration:none;width:max-content;max-width:100%}
.homepage-contact-cta:hover h2{font-style:italic}
.homepage-contact .contact-links a{border:0;padding:0;text-decoration:none}

/* Selected Work: five signature stories, presented as a clean editorial index. */
.selected-work-page{background:var(--white);color:var(--black)}
.selected-work{padding:clamp(7rem,12vw,11rem) var(--pad) var(--pad);background:var(--white)}
.selected-work-intro{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:clamp(5rem,10vw,10rem)}
.selected-work-intro p,.work-project-label span,.selected-work-footer{font-size:.75rem;line-height:1.3;letter-spacing:.16em;text-transform:uppercase}
.selected-work-intro p{margin:.6rem 0 0}
.selected-work-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(4.2rem,11vw,12rem);font-weight:400;letter-spacing:-.065em;line-height:.76;text-align:right;margin:0}
.selected-work-intro h1 em{font-weight:400}
.work-project{margin:0}
.work-project figure{margin:0;background:#eee;overflow:hidden}
.work-project img{width:100%;height:auto;object-fit:contain}
.work-project-lead{margin-bottom:clamp(5rem,10vw,10rem)}
.work-project-lead figure{width:100%}
.work-project-label{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding-top:1rem}
.work-project-label span{white-space:nowrap;padding-top:.25rem}
.work-project-label h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.1rem,4.7vw,5.7rem);font-weight:400;letter-spacing:-.055em;line-height:.84;text-align:right;margin:0}
.work-project-grid{width:min(100%,78rem);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,5vw,5rem) clamp(1rem,2.5vw,2.5rem)}
.work-project-grid .work-project:nth-child(even){padding-top:0}
.work-project-grid .work-project figure{position:relative;aspect-ratio:1/1;overflow:hidden}
.work-project-grid .work-project figure img{height:100%;object-fit:cover}
.selected-work-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #aaa;margin-top:clamp(7rem,14vw,14rem);padding-top:1.2rem}
.selected-work-footer p{margin:0}
.selected-work-footer a{text-decoration:none}
.selected-work-footer a:hover{font-style:italic}
.selected-work-intro-minimal{align-items:end;margin-bottom:clamp(3rem,6vw,6rem);border-bottom:1px solid #aaa;padding-bottom:1rem}
.selected-work-intro-minimal h1{font-family:Arial,Helvetica,sans-serif;font-size:.82rem;font-weight:400;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;text-align:left}
.selected-work-intro-minimal p{margin:0;text-align:right}
.work-project{position:relative;display:block;color:inherit;text-decoration:none}
.work-view{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;margin:0;color:#fff;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.8);pointer-events:none}
.work-project:hover .work-view{font-style:italic}
.work-project:hover figure img{transform:scale(1.012)}
.work-project figure img{transition:transform .45s ease}
.project-page{background:var(--white);color:var(--black)}
.project-back{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.project-gallery{padding:clamp(7rem,10vw,10rem) var(--pad) clamp(5rem,10vw,10rem)}
.project-image{width:min(88%,62rem);margin:0 auto clamp(4rem,8vw,8rem)}
.project-image-narrow{width:min(66%,40rem)}
.project-image img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;object-fit:contain}
.project-footer{display:flex;justify-content:space-between;padding:0 var(--pad) var(--pad);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.project-footer a{text-decoration:none}
@media(max-width:760px){
  .selected-work{padding-top:7rem}
  .selected-work-intro{display:block;margin-bottom:5rem}
  .selected-work-intro h1{font-size:20vw;text-align:left;margin-top:2.5rem}
  .work-project-lead{margin-bottom:5rem}
  .work-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem .8rem}
  .work-project-grid .work-project:nth-child(even){padding-top:0}
  .work-view{font-size:.67rem;margin:0}
  .work-project-label{gap:1rem}
  .work-project-label h2{font-size:11vw}
  .selected-work-footer{display:block;line-height:1.7}
  .selected-work-footer a{display:inline-block;margin-top:1rem}
  .selected-work-intro-minimal{display:flex;margin-bottom:3rem}
  .selected-work-intro-minimal h1{font-size:.75rem;margin:0}
  .project-image,.project-image-narrow{width:92%;margin-bottom:3rem}
}

/* Mobile editorial rhythm: consistent space between navigation, imagery,
   typography, and the next story. */
@media(max-width:760px){
  .selected-work{padding:5.4rem var(--pad) 2.5rem}
  .selected-work-intro-minimal{margin-bottom:2.35rem;padding-bottom:.9rem}
  .work-project-grid{gap:2.35rem .8rem}
  .selected-work-footer{margin-top:3.75rem;padding-top:1rem}

  .simple-about{
    height:auto;
    min-height:100svh;
    overflow:visible;
    justify-content:flex-start;
    padding:6.25rem 1.4rem 2.25rem;
    gap:1.15rem;
  }
  .simple-about .about-main-photo{width:min(82vw,20rem)}
  .simple-about-copy{width:min(100%,23rem)}

  .statement{
    min-height:auto;
    padding:4.75rem var(--pad) 4.5rem;
    justify-content:flex-start;
  }
  .statement .eyebrow{position:static;margin:0 0 3.25rem}
  .statement h2{font-size:14vw}
  .statement-copy{margin-top:3rem;max-width:92%}

  .duo-single figure{
    top:4.75rem !important;
    bottom:15.25rem !important;
  }
  .duo-single figure figcaption{margin-top:1.1rem}
  .duo-single .duo-title{bottom:1.65rem !important}
  .duo-single .duo-title .eyebrow{margin-bottom:1rem}

  .editorial-grid{margin-bottom:2.5rem}
  .editorial-grid .tall{bottom:15.25rem !important}
  .editorial-grid .grid-title{bottom:2.5rem !important}
  .editorial-grid .grid-title .eyebrow{margin-bottom:1rem}

  .kids{
    min-height:auto;
    padding:4.75rem var(--pad) 4.5rem;
    gap:2.75rem;
    align-items:stretch;
  }
  .kids-copy p:not(.eyebrow):not(.micro){line-height:1.45}
  .kids figure{width:100%;height:auto;aspect-ratio:4/3}

  .homepage-contact{
    min-height:auto;
    padding:4.75rem var(--pad) 3rem;
    gap:3.5rem;
    justify-content:flex-start;
  }
  .homepage-contact .eyebrow{margin:0}
  .homepage-contact h2{font-size:14vw}
  .homepage-contact .contact-row{margin-top:1rem}
  .homepage-contact footer{width:100%;padding-top:1.5rem}
}

/* About page refinement: clear editorial hierarchy on a quiet white canvas. */
.simple-about{
  min-height:auto;
  padding:clamp(7.5rem,10vw,10rem) var(--pad) clamp(4.5rem,8vw,7rem);
  background:var(--white);
  color:var(--black);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
}
.simple-about-intro{
  width:min(100%,44rem);
  margin:0 0 clamp(2.75rem,5vw,4.5rem);
}
.simple-about-intro .eyebrow{
  margin:0 0 1.2rem;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.simple-about-intro h1{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(3rem,5.2vw,5.5rem);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.045em;
}
.simple-about-intro h1 em{font-weight:400}
.simple-about .about-main-photo{
  width:min(100%,36rem);
  height:auto;
  aspect-ratio:1/1;
  margin:0;
  overflow:hidden;
  grid-row:auto;
}
.simple-about .about-main-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.simple-about-copy{
  width:min(100%,36rem);
  padding-top:clamp(2.25rem,4vw,3.5rem);
}
.simple-about-copy p{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1rem,1.15vw,1.16rem);
  font-weight:300;
  line-height:1.68;
  letter-spacing:.008em;
  color:rgba(7,7,7,.78);
  margin:0 0 1.25em;
}
.simple-about .about-kiss{
  display:block;
  width:5.25rem;
  height:auto;
  aspect-ratio:3/2;
  margin:.75rem auto 0;
  opacity:.52;
}
@media(max-width:760px){
  .simple-about{
    height:auto;
    min-height:100svh;
    overflow:visible;
    padding:6.4rem 1.6rem 3rem;
  }
  .simple-about-intro{
    width:min(100%,23rem);
    margin-bottom:2.15rem;
  }
  .simple-about-intro .eyebrow{
    margin-bottom:.9rem;
    font-size:.72rem;
  }
  .simple-about-intro h1{
    font-size:clamp(2.25rem,9.6vw,2.85rem);
    line-height:1;
    letter-spacing:-.04em;
  }
  .simple-about .about-main-photo{
    width:min(82vw,21rem);
    aspect-ratio:1/1;
  }
  .simple-about-copy{
    width:min(100%,23rem);
    padding-top:2rem;
  }
  .simple-about-copy p{
    font-size:1rem;
    line-height:1.55;
    margin-bottom:1.15em;
  }
  .simple-about .about-kiss{
    display:block;
    width:4.25rem;
    margin:.65rem auto 0;
  }
}

/* Full-screen portfolio menu: fit every category cleanly on laptop screens. */
@media(min-width:761px){
  .menu{justify-content:flex-start;padding-top:clamp(4.75rem,9vh,7rem)}
  .menu-inner a{font-size:clamp(2.7rem,5.45vw,5.8rem);line-height:.9}
}

/* Homepage category spreads now open the corresponding portfolio pages. */
.section-link{position:absolute;z-index:8;inset:0;display:block}

/* Category pages reuse the Selected Work language with direct, uncluttered galleries. */
.category-page{min-height:100svh}
.category-intro{margin-bottom:clamp(3rem,6vw,6rem)}
.category-gallery{width:min(100%,76rem);margin:0 auto}
.category-gallery .project-image{width:min(88%,62rem);margin:0 auto clamp(3.5rem,7vw,7rem)}
.category-gallery .project-image-narrow{width:min(64%,40rem)}
.category-gallery .project-image img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;object-fit:contain}
.category-footer{margin-top:clamp(4rem,8vw,8rem)}
@media(max-width:760px){
  .category-intro{display:flex;margin-bottom:2.5rem}
  .category-intro h1{margin:0;font-size:.75rem}
  .category-intro p{max-width:52%;font-size:.68rem;line-height:1.35}
  .category-gallery .project-image,.category-gallery .project-image-narrow{width:100%;margin-bottom:3rem}
  .category-footer{margin-top:3.5rem}
}
