:root{color-scheme:dark;--ivory:#f5f1e7;--gold:#d9b757;--u:min(.09765625vw,.130208333svh)}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px;background:#090403;color:var(--ivory)}
body{font-family:Georgia,'Times New Roman',serif}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.homepage{position:relative;isolation:isolate;width:100%;height:100svh;min-height:620px;overflow:hidden}
.visuals,.visual,.photo-reveal,.photo-motion,.image-shade,.diagonal{position:absolute;inset:0}
.visuals{z-index:-2;background:#080504}
.visual-photography{clip-path:polygon(0 0,58.30078125% 0,41.69921875% 100%,0 100%)}
.visual-brand{clip-path:polygon(58.30078125% 0,100% 0,100% 100%,41.69921875% 100%)}
.photo-motion{transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(var(--zoom,1));transition:transform 1.15s cubic-bezier(.16,1,.3,1),filter 900ms ease;will-change:transform}
.photography-image{position:absolute;max-width:none;left:42.33576%;top:min(0px,calc(50% - max(40%,30vw)));width:auto;height:max(80%,60vw);transform:translateX(-50%)}
.brand-image{position:absolute;max-width:none;left:58.203125%;top:min(0px,calc(46.03925% - max(40%,30vw)));width:auto;height:max(80%,60vw);transform:translateX(-50%)}
.visual-brand{background:#080504}
.image-shade{--fade-end:min(100%,max(79%,calc(60vw - 6px)));width:100%;height:100%;pointer-events:none;background:linear-gradient(to bottom,rgba(8,5,4,0) calc(var(--fade-end) - 33%),rgba(8,5,4,.45) calc(var(--fade-end) - 23%),rgba(8,5,4,.94) calc(var(--fade-end) - 11%),#080504 var(--fade-end),#080504 100%)}
.diagonal{width:100%;height:100%;pointer-events:none;opacity:.95}
.masthead{position:absolute;left:3.7109375%;top:4.55%;width:calc(340 * var(--u));margin:0}
.service{position:absolute;margin:0;padding:0}
.service-link{display:none}
.service-photography{left:3.7109375%;top:23.24%;width:calc(290 * var(--u));height:calc(255 * var(--u))}
.service-brand{left:68.26171875%;top:48.7%;width:calc(288 * var(--u));height:calc(237 * var(--u))}
.service h1,.service h2,.service p{margin:0;font-size:inherit;font-weight:normal}
.service .title,.service .subtitle,.service .short-rule,.service .categories,.service .description,.service .explore{position:absolute;left:0}
.title{width:100%;top:0;line-height:0}
.subtitle{top:calc(51 * var(--u));width:calc(38 * var(--u))}
.service-brand .subtitle{top:calc(51 * var(--u));width:calc(80 * var(--u))}
.short-rule{top:calc(91 * var(--u));width:calc(22 * var(--u));height:1px;background:var(--ivory);opacity:.8}
.categories{top:calc(112 * var(--u));width:calc(170 * var(--u))}
.description{top:calc(140 * var(--u));width:calc(210 * var(--u))}
.explore{top:calc(230 * var(--u));display:block;width:calc(150 * var(--u));padding-bottom:calc(7 * var(--u));text-decoration:none;transition:transform 400ms ease}
.explore::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--ivory);transform-origin:left;transform:scaleX(1);transition:transform 450ms cubic-bezier(.16,1,.3,1),background 450ms ease}
.explore:hover{transform:translateX(3px)}
.explore:hover::after{transform:scaleX(.72);background:var(--gold)}
.explore:focus-visible{outline:1px solid var(--gold);outline-offset:8px;border-radius:1px}
.service-brand .short-rule{top:calc(83 * var(--u))}
.service-brand .categories{top:calc(100 * var(--u));width:calc(220 * var(--u))}
.service-brand .description{top:calc(130 * var(--u));width:calc(220 * var(--u))}
.service-brand .explore{top:calc(214 * var(--u));width:calc(145 * var(--u))}
.clients{position:absolute;inset:0;pointer-events:none}
.logo-row{position:absolute;left:50%;display:flex;align-items:center;justify-content:center;gap:calc(44 * var(--u));width:max-content;transform:translate(-50%,-50%);top:86.328125%;pointer-events:auto}
.logo-row:nth-child(2){top:93.880208333%}
.logo-row img{width:calc(var(--logo-width) * var(--u));height:auto;max-width:none;flex:none;transition:transform 450ms ease,filter 450ms ease}
.logo-row img:hover{transform:translateY(-2px) scale(1.035);filter:brightness(1.1)}
.js .reveal{opacity:0;translate:0 10px;transition:opacity 1100ms ease var(--delay,0ms),translate 1100ms cubic-bezier(.16,1,.3,1) var(--delay,0ms)}
.js.is-ready .reveal.is-visible{opacity:1;translate:0 0}
.photo-reveal{clip-path:inset(0);opacity:1;transform:none;transition:clip-path 1550ms cubic-bezier(.22,1,.36,1) var(--photo-delay,0ms),opacity 700ms ease var(--photo-delay,0ms),transform 1900ms cubic-bezier(.16,1,.3,1) var(--photo-delay,0ms)}
.visual-brand .photo-reveal{--photo-delay:220ms;clip-path:none;transition:opacity 900ms ease var(--photo-delay),transform 1500ms cubic-bezier(.16,1,.3,1) var(--photo-delay)}
.js:not(.is-ready) .photo-reveal{clip-path:inset(0 100% 0 0);opacity:0;transform:translateX(-22px) scale(1.035)}
.js:not(.is-ready) .visual-brand .photo-reveal{clip-path:none;transform:scale(1.025)}
@media (min-width:761px) and (max-height:619px){:root{--u:min(.09765625vw,.807291666px)}}
@media(max-width:760px){
 :root{--u:1px;--mobile-photo-height:520px;--mobile-brand-height:550px}
 .homepage{height:auto;min-height:0;overflow:hidden}
 .visuals{inset:0 0 auto;height:calc(var(--mobile-photo-height) + var(--mobile-brand-height));min-height:0}
 .visual{height:var(--mobile-photo-height);clip-path:none}
 .visual-photography{top:0;bottom:auto}
 .visual-brand{top:var(--mobile-photo-height);bottom:auto;height:var(--mobile-brand-height)}
 .photo-motion{overflow:hidden}
 .photography-image{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:44% center;transform:none}
 .brand-image{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% center;transform:none}
 .visual-photography::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.36),transparent 90%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 40%);pointer-events:none}
 .visual-brand::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(60,0,0,.2),transparent),linear-gradient(0deg,rgba(0,0,0,.6),transparent 50%);pointer-events:none}
 .diagonal,.image-shade{display:none}
 .masthead{z-index:2;left:26px;top:30px;width:min(300px,80vw)}
 .service{position:relative;left:auto;top:auto;width:100%;height:var(--mobile-photo-height);min-height:0;padding:0}
 .service-brand{height:var(--mobile-brand-height)}
 .service-link{display:block;position:absolute;inset:0;z-index:3;-webkit-tap-highlight-color:transparent}
 .service .title,.service .subtitle,.service .categories,.service .description,.service .short-rule,.service .explore{left:28px}
 .service-photography .title{top:190px;width:min(80vw,330px)}
 .service-photography .subtitle{top:250px;width:42px}
 .service-photography .short-rule{top:298px;width:26px}
 .service-photography .categories{top:323px;width:200px}
 .service-photography .description{top:360px;width:250px}
 .service-photography .explore{top:auto;bottom:32px;width:178px;padding-bottom:8px}
 .service-brand .title{top:auto;bottom:283px;width:min(82vw,330px)}
 .service-brand .subtitle{top:auto;bottom:241px;width:90px}
 .service-brand .short-rule{top:auto;bottom:211px;width:26px}
 .service-brand .categories{top:auto;bottom:178px;width:280px;max-width:calc(100% - 56px)}
 .service-brand .description{top:auto;bottom:85px;width:265px}
 .service-brand .explore{top:auto;bottom:24px;width:177px;padding-bottom:8px}
 .clients{position:relative;inset:auto;background:#080504;padding:16px 28px 40px;display:flex;flex-direction:column;gap:29px}
 .logo-row,.logo-row:nth-child(2){position:static;top:auto;left:auto;transform:none;translate:none;width:100%;flex-wrap:wrap;gap:28px 24px}
 .logo-row img{width:calc(var(--logo-width) * .89px);max-width:122px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .js .reveal{opacity:1;translate:none}
 .photo-motion{transform:none!important;scale:1!important}
 .photo-reveal{clip-path:none!important;opacity:1!important;transform:none!important}
 .logo-row img:hover,.explore:hover{transform:none}
}

@media(min-width:761px){
.service{position:static}
/* Align the whole brand text group to the desktop right margin. */
.service-brand{--brand-desktop-shift:calc(27.979296875vw - 264.668 * var(--u))}
.masthead{left:3.80859375%;top:4.427083333%;width:calc(333 * var(--u))}
.service-photography .title{left:3.7639062500000002%;top:23.17013020833333%;width:calc(263.3782 * var(--u));height:calc(44.4203 * var(--u));padding:0}
.service-photography .subtitle{left:3.7279296875%;top:29.726302083333334%;width:calc(38.79 * var(--u));height:calc(17.688 * var(--u));padding:0}
.service-photography .categories{left:3.6961035156250004%;top:37.82309895833333%;width:calc(168.5191 * var(--u));height:calc(10.2342 * var(--u));padding:0}
.service-photography .description{left:3.6909667968749997%;top:41.4858203125%;width:calc(204.5486 * var(--u));height:calc(55.358 * var(--u));padding:0}
.service-photography .explore{left:3.65234375%;top:53.0378125%;width:calc(150.2 * var(--u));height:calc(19.2696 * var(--u));padding:0}
.service-photography .explore img{width:98.32703%;margin-left:.34141%}
.service-photography .short-rule{left:3.7109375%;top:35.15625%;width:calc(22.0 * var(--u));height:calc(.65 * var(--u))}
.service-brand .title{left:calc(68.309765625% + var(--brand-desktop-shift));top:48.80778645833333%;width:calc(264.668 * var(--u));height:calc(42.5007 * var(--u));padding:0}
.service-brand .subtitle{left:calc(68.36083984375% + var(--brand-desktop-shift));top:54.894869791666665%;width:calc(75.752 * var(--u));height:calc(16.823 * var(--u));padding:0}
.service-brand .categories{left:calc(68.234755859375% + var(--brand-desktop-shift));top:61.980351562500005%;width:calc(220.1162 * var(--u));height:calc(12.8098 * var(--u));padding:0}
.service-brand .description{left:calc(68.237607421875% + var(--brand-desktop-shift));top:65.90700520833333%;width:calc(213.9734 * var(--u));height:calc(53.8996 * var(--u));padding:0}
.service-brand .explore{left:calc(68.203125% + var(--brand-desktop-shift));top:76.71171874999999%;width:calc(145.2 * var(--u));height:calc(18.9096 * var(--u));padding:0}
.service-brand .explore img{width:98.97087%;margin-left:.340427%}
.service-brand .short-rule{left:calc(68.26171875% + var(--brand-desktop-shift));top:59.82494791666667%;width:calc(22.0 * var(--u));height:calc(.65 * var(--u))}

}
.masthead img,.service img{width:100%}

@media(max-width:760px){
.visual-photography::after{background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.15) 70%,transparent),linear-gradient(to bottom,transparent 45%,rgba(8,5,4,.4) 68%,#080504 100%)}
.visual-brand::after{background:linear-gradient(90deg,rgba(60,0,0,.2),transparent),linear-gradient(to bottom,transparent 45%,rgba(8,5,4,.4) 68%,#080504 100%)}
.service-brand .reveal,.clients .reveal{--delay:80ms!important}
}

/* New uploads keep the same diagonal composition; the approved originals retain their crop. */
@media(min-width:761px){
 .photography-image.custom-image{left:0;top:0;width:58.31%;height:100%;object-fit:cover;object-position:var(--focus-x,50%) var(--focus-y,50%);transform:none}
 .brand-image.custom-image{left:41.69%;top:0;width:58.31%;height:100%;object-fit:cover;object-position:var(--focus-x,50%) var(--focus-y,50%);transform:none}
 .logo-row{gap:calc(44 * var(--u) * var(--logo-fit,1))}
 .logo-row img{width:calc(var(--logo-width) * var(--u) * var(--logo-fit,1))}
}
@media(max-width:760px){.custom-image{object-position:var(--focus-x,50%) var(--focus-y,50%)}}

/* Keep the approved light-food pairing readable without changing other pairs. */
@media(min-width:761px){
 .visual-photography:has(.photography-image[src$="/assets/pair-05-photography.webp"])::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.44) 0,rgba(0,0,0,.26) 18%,transparent 37%)}
}
