.portfolio-page{background:#f7f3ef}.portfolio-page .header{background:#f7f3ef}.portfolio-masthead{position:relative;overflow:hidden;padding:65px 10vw 30px;background:#eee5df}.portfolio-masthead-copy{position:relative;z-index:1;max-width:720px}.back-link{display:inline-block;margin-bottom:42px;color:var(--muted);font-size:10px;border-bottom:1px solid #cbbdb5;padding-bottom:4px}.portfolio-masthead h1{margin:0;font-size:clamp(58px,8vw,112px);font-weight:500;line-height:.98;letter-spacing:-.085em}.portfolio-masthead h1 em{font-style:normal;color:var(--rose);font-weight:400}.portfolio-masthead-copy>p:last-child{max-width:430px;margin:24px 0 45px;color:var(--muted);font-size:13px;line-height:1.85}.portfolio-stamp{position:absolute;top:80px;right:12vw;width:210px;height:210px;border:1px solid rgba(141,70,85,.38);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--rose);transform:rotate(9deg)}.portfolio-stamp::before,.portfolio-stamp::after{content:"";position:absolute;inset:9px;border:1px solid rgba(141,70,85,.24);border-radius:50%}.portfolio-stamp::after{inset:20px}.portfolio-stamp span{position:relative;z-index:1;font-size:8px;letter-spacing:.22em;line-height:1.65}.portfolio-stamp i{position:relative;z-index:1;font-size:60px;line-height:1.1;font-weight:500;font-style:normal;letter-spacing:-.12em}.portfolio-rule{display:flex;align-items:center;gap:16px;padding-top:18px;border-top:1px solid #d8cbc4;color:#665b57;font-size:9px;letter-spacing:.03em}.portfolio-rule i{display:block;width:4px;height:4px;background:var(--rose);border-radius:50%}.tmo-work{padding:65px 8vw 100px}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 28px}.work-heading h2{margin:0;font-size:clamp(30px,4vw,47px);font-weight:500;letter-spacing:-.06em}.work-note{margin:0 0 8px;color:var(--rose);font-size:9px;letter-spacing:.13em}.work-heading>p{margin:0 0 5px;color:var(--muted);font-size:11px}.tmo-work-grid{columns:3 240px;column-gap:16px}.tmo-work-item{display:block;margin:0 0 16px;break-inside:avoid;border-radius:5px;overflow:hidden;background:#e9dfd8}.tmo-work-item img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;transition:filter .25s,transform .5s}.tmo-work-item:hover img{filter:saturate(1.05);transform:scale(1.012)}.portfolio-end{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:48px 10vw;background:#482f37;color:#f7f3ef}.portfolio-end p{margin:0 0 5px;color:#d0b8b7;font-size:11px}.portfolio-end h2{margin:0;font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-.06em}.portfolio-end .button{background:#f7f3ef;color:#302522}.portfolio-end .button:hover{background:#e8ddd5}footer{margin:0}.portfolio-invite{margin:18px 9vw 70px;padding:33px 38px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eee5df;border-radius:8px}.portfolio-invite p{margin:0;font-size:18px;font-weight:500;letter-spacing:-.03em}.portfolio-invite a{padding-bottom:5px;border-bottom:1px solid var(--rose);font-size:11px}
@media(max-width:760px){.portfolio-masthead{padding:38px 7vw 22px}.back-link{margin-bottom:35px}.portfolio-masthead h1{font-size:clamp(52px,13vw,82px)}.portfolio-masthead-copy>p:last-child{max-width:340px;margin:20px 0 35px}.portfolio-stamp{top:70px;right:-70px;width:160px;height:160px;opacity:.45}.portfolio-stamp i{font-size:44px}.portfolio-rule{gap:9px;flex-wrap:wrap;font-size:8px}.tmo-work{padding:48px 6vw 70px}.work-heading{align-items:start;flex-direction:column;gap:7px}.tmo-work-grid{columns:2 145px;column-gap:9px}.tmo-work-item{margin-bottom:9px}.portfolio-end{padding:38px 7vw;align-items:flex-start;flex-direction:column}.portfolio-invite{margin:0 7vw 58px;padding:25px;align-items:flex-start;flex-direction:column;gap:12px}.portfolio-invite p{font-size:16px}}
@media(max-width:420px){.tmo-work-grid{columns:1}.portfolio-stamp{right:-82px}}
/* Same frame for every portrait: gallery reads as one considered collection. */
.tmo-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;columns:initial;column-gap:0}
.tmo-work-item{aspect-ratio:4/5;margin:0;break-inside:auto;border-radius:3px;background:#e9dfd8;box-shadow:0 8px 28px rgba(48,37,34,.08)}
.tmo-work-item img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;transition:transform .55s,filter .35s}
.tmo-work-item:hover img{filter:saturate(1.07);transform:scale(1.035)}
.work-heading{align-items:end;margin-bottom:30px;padding-bottom:18px;border-bottom:1px solid #dfd5cf}
.work-heading h2{font-size:clamp(36px,4.6vw,58px);letter-spacing:-.07em}
.work-heading>p{margin:0 0 7px;max-width:230px;line-height:1.7}
@media(max-width:760px){.tmo-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tmo-work-item{margin:0}.work-heading{align-items:flex-start;gap:8px}.work-heading>p{font-size:10px}}
@media(max-width:380px){.tmo-work-grid{grid-template-columns:1fr;gap:14px}}
.work-photo-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.work-photo-trigger:focus-visible{outline:3px solid var(--rose);outline-offset:4px}
.photo-viewer{display:none;position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:58px 18px 24px;border:0;background:transparent;place-items:center}
.photo-viewer[open]{display:grid}
.photo-viewer::backdrop{background:rgba(25,18,18,.94)}
.photo-viewer>img{display:block;width:min(100%,1300px);height:min(86dvh,100%);object-fit:contain}
.photo-viewer-close{position:absolute;top:18px;right:20px;min-height:42px;padding:9px 18px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:#f7f3ef;color:#302522;font:500 12px/1 Inter,Arial,sans-serif;cursor:pointer}
.photo-viewer-close:focus-visible{outline:3px solid #dda7a2;outline-offset:3px}
