: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:8rem var(--pad) 5rem;background:var(--white);color:var(--black);display:flex;flex-direction:column;align-items:center}
.simple-about figure{width:min(100%,44rem);height:auto;aspect-ratio:1/1;margin:0;overflow:hidden}
.simple-about figure img{object-fit:cover;object-position:center}
.simple-about-copy{width:min(100%,44rem);padding-top:clamp(2rem,4vw,4rem)}
.simple-about-copy p{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.2rem,2vw,1.85rem);line-height:1.42;margin:0 0 1.4em}
.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;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.simple-contact-links a:hover{font-style:italic}
@media(max-width:760px){
  .simple-about{padding:6.5rem var(--pad) 4rem}
  .simple-about-copy{padding-top:2rem}
  .simple-about-copy p{font-size:1.2rem}
  .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}
}
