/* UPHOLD typography, restored from the supplied group presentation. */
@font-face{font-family:Geologica;src:url('assets/Geologica.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Bebas;src:url('assets/BebasNeue.ttf') format('truetype');font-weight:400;font-display:swap}
body{font-family:Geologica,Arial,sans-serif;font-variation-settings:'CRSV' 0,'SHRP' 0,'slnt' 0}
h1,h2,h3{font-weight:900;font-style:normal;text-transform:uppercase;letter-spacing:-.045em;line-height:1.07}
em{font-family:inherit;font-weight:inherit;font-style:normal}
h2{font-size:clamp(38px,4.7vw,70px)}
h3{font-size:clamp(28px,3vw,42px)}
.eyebrow,.section-label,.hero-index,.brand-meta,.detail-line{font-family:Bebas,Arial,sans-serif;font-weight:400;letter-spacing:.025em;line-height:1.2}
.eyebrow{font-size:24px}.section-label{font-size:20px}.section-label>span+span{font-size:18px}.brand-meta,.detail-line{font-size:18px}
.header nav{font-size:12px}.hero{grid-template-columns:55% 45%;padding-left:4.7%;min-height:720px;max-height:850px}
.hero-copy{padding:52px 9% 36px 0}.hero h1{font-size:clamp(47px,5.1vw,84px);font-weight:900;line-height:1.04;letter-spacing:-.045em;margin:39px 0 27px}
.hero-lead{font-size:18px;max-width:430px;line-height:1.6}.hero .text-link{font-size:12px;font-weight:700;text-transform:uppercase;margin-top:25px}.hero-index{font-size:20px;gap:24px;width:100%;border-bottom:1px solid #5b594f;padding-bottom:18px}
.intro h2{font-size:clamp(36px,3.8vw,58px)}.large-copy{font-size:22px}.pillars h3{font-size:30px;letter-spacing:-.035em}.pillars p{font-size:14px}
.brand-copy h3{font-size:clamp(28px,2.8vw,42px)}.brand-copy>.eyebrow{font-size:21px}.brand-meta{font-size:17px;gap:8px}.hanky-mark{width:280px;height:auto;max-height:none;margin-bottom:32px}.brand-photo img{max-height:none}
.foundation h3{font-size:30px}.expertise h2{font-size:clamp(38px,4.3vw,64px)}.expertise-list summary{font-size:21px;font-weight:600;letter-spacing:-.025em}
.locations h2{font-size:52px}.partnership-grid h3{font-size:32px;line-height:1.12}.contact h2{font-size:clamp(36px,4.7vw,70px)}.dialog-copy h2{font-size:38px}
.text-link{font-weight:600}.closing-word{font-weight:900;letter-spacing:-.05em}
@media(max-width:1100px) and (min-width:761px){.hero h1{font-size:4.85vw}.hero .eyebrow{font-size:22px}.hero-index{font-size:17px;gap:17px}.section-label{font-size:18px}.section-label>span+span{font-size:16px}.brand-copy{padding:38px 8%}.brand-copy h3{font-size:29px}.brand-copy>.eyebrow{font-size:19px}.hanky-mark{width:230px}.partnership-grid h3{font-size:28px}}
@media(max-width:760px){.hero{padding:0;min-height:0;max-height:none}.hero-copy{padding:38px 6%}.hero .eyebrow{font-size:24px}.hero h1{font-size:clamp(32px,8.4vw,62px);line-height:1.04;margin:30px 0 25px}.hero h1 br:nth-child(2){display:initial}.hero-lead{font-size:16px}.hero-index{font-size:18px;gap:18px;flex-wrap:wrap;margin-top:36px;padding-top:0}.hero-image{height:420px}.section-label{font-size:20px}.intro h2{font-size:36px}.pillars h3{font-size:22px}.portfolio-heading h2{font-size:38px}.brand-copy h3{font-size:34px}.brand-copy>.eyebrow{font-size:21px}.brand-meta{font-size:17px}.hanky-mark{width:250px}.foundation h2{font-size:37px}.foundation h3{font-size:28px}.expertise h2{font-size:38px}.expertise-list summary{font-size:18px}.locations h2{font-size:38px}.partnerships h2{font-size:38px}.partnership-grid h3{font-size:29px}.contact h2{font-size:38px}.dialog-copy h2{font-size:32px}}
.brand-photo img{max-height:790px}
@media(max-width:760px){.pillars{grid-template-columns:1fr;gap:24px}.pillars h3{font-size:28px;padding-top:8px}.pillars p{font-size:14px}}

/* Section shortcuts retain the approved hero typography. */
.hero-index a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;transition:color .2s,text-decoration-color .2s}.hero-index a:hover,.hero-index a:focus-visible{color:var(--paper);text-decoration-color:currentColor}.hero-index a:focus-visible{outline:2px solid currentColor;outline-offset:5px}

/* Compact closing wordmark. */
.closing-word{font-size:clamp(64px,9vw,148px);margin-top:72px}
@media(max-width:760px){.closing-word{font-size:14vw;margin-top:48px}}

.contact-email{display:flex;align-items:center;gap:18px;margin-top:18px;font-size:clamp(18px,1.6vw,26px);letter-spacing:-.025em}.contact-email span{margin-left:auto}.contact-email:hover{text-decoration:underline;text-underline-offset:5px}.contact-email:focus-visible{outline:2px solid currentColor;outline-offset:5px}

/* Compact horizontal footer identity. */
.closing-brand{display:flex;align-items:baseline;justify-content:center;gap:clamp(12px,2.2vw,32px);margin:48px 0 0;padding-top:28px;border-top:1px solid var(--line);white-space:nowrap}
.closing-name{font-size:clamp(30px,7.5vw,108px);font-weight:900;letter-spacing:-.045em;line-height:1}
.closing-descriptor{font-size:clamp(11px,2.8vw,38px);font-weight:400;letter-spacing:.04em;line-height:1.2}
@media(max-width:760px){.closing-brand{margin-top:32px;padding-top:24px}}

/* Hotel dining case study, using the established UPHOLD palette and type. */
.hotel-project{background:#ddd7ca}.hotel-project-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end;margin-bottom:48px}.hotel-project-heading .eyebrow{margin-bottom:20px}.hotel-project-heading>p{max-width:420px;color:#52564e}.hotel-project-image img{width:100%;height:clamp(320px,45vw,660px);object-fit:cover;object-position:center 52%}.hotel-project-image figcaption{padding-top:12px;color:#52564e}.hotel-project-details{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:65px}.hotel-project-story h3{font-size:clamp(30px,3vw,42px);margin-bottom:26px}.hotel-project-story>p{margin-bottom:20px;color:#52564e}.hotel-recognition{display:flex;flex-direction:column;gap:8px;margin-top:30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hotel-recognition .eyebrow{font-size:18px}.hotel-recognition strong{font-size:20px}.hotel-recognition>span:last-child{font-size:13px}.hotel-project-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:16px}.hotel-project-scope dl{margin:20px 0 0}.hotel-project-scope dl>div{padding:20px 0;border-top:1px solid var(--line)}.hotel-project-scope dt{font-weight:600;font-size:18px}.hotel-project-scope dd{margin:9px 0 0;font-size:14px;line-height:1.7;color:#52564e}.foundation article>p+p{margin-top:18px}
@media(max-width:1050px) and (min-width:761px){.header nav{gap:15px}.header nav a{font-size:11px}.nav-contact span{padding-left:8px}}
@media(max-width:760px){.hotel-project-heading,.hotel-project-details{grid-template-columns:1fr;gap:30px}.hotel-project-heading h2{font-size:38px}.hotel-project-heading>p{font-size:15px}.hotel-project-image img{height:350px}.hotel-project-details{margin-top:40px}.hotel-project-story>p{font-size:15px}.hotel-project-scope dt{font-size:17px}.hotel-project-links .text-link{font-size:12px}}

.hotel-project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px}.hotel-project-gallery img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.hotel-project-gallery figcaption{font-size:10px;margin-top:12px;color:#52564e}.hotel-gallery-hint{display:none}.hotel-project-gallery:focus-visible{outline:2px solid #52564e;outline-offset:6px}@media(max-width:760px){.hotel-gallery-hint{display:flex;justify-content:space-between;gap:12px;margin-top:32px;font-size:9px;color:#52564e}.hotel-gallery-hint span{text-align:right}.hotel-project-gallery{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(78%,240px);gap:14px;margin-top:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin}.hotel-project-gallery figure{min-width:0;scroll-snap-align:start}.hotel-project-gallery img{height:auto;max-height:360px;object-fit:cover;object-position:center}.hotel-project-gallery figcaption{line-height:1.5}}
