:root{--paper:#fff;--ink:#111;--blue:#164054;--red:#b64732;--muted:#777;--line:#bbb;--sans:Arial,'Noto Sans TC',sans-serif;--mono:'DM Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--serif:'Noto Serif TC',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}
.case-page{overflow:visible!important}
.case-page a{color:inherit;text-decoration:none}
.case-page button,.case-page input,.case-page textarea{font:inherit}
.case-header{position:fixed;inset:0 0 auto;z-index:20;height:54px;padding:0 1.5vw;color:var(--ink);font:700 10px/1.3 var(--sans);pointer-events:none}
.case-header a,.case-header button{pointer-events:auto}
.case-header a:hover{opacity:.55}
.case-brand{position:absolute;left:1.5vw;top:13px;font-size:13px;line-height:1.05;letter-spacing:-.06em}
.case-brand small{display:block;margin-top:2px;font:700 8px/1.3 var(--sans);letter-spacing:-.02em}
.case-nav-works{position:absolute;left:50%;top:19px;transform:translateX(-50%);white-space:nowrap}
.case-nav-right{position:absolute;right:1.5vw;top:13px;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.case-gallery{padding:102px 3.4vw 115px;scroll-margin-top:70px;max-width:1800px;margin:0 auto}
.gallery-heading{display:flex;justify-content:space-between;padding:0 4vw 30px;font:500 8px var(--mono);letter-spacing:.09em;color:#555951}
.portfolio-opening{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2vw;padding:0 3.5vw 20px;align-items:center}
.opening-photo{grid-column:6/13;width:100%;margin:0;position:relative;z-index:2}
.photo-frame{display:block;position:relative;overflow:hidden;width:100%;border:0;border-radius:0;padding:0;background:#dedbd4;cursor:zoom-in}
.opening-photo .photo-frame{aspect-ratio:4/5}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.15s cubic-bezier(.2,.7,.2,1),filter .7s}
.opening-photo .photo-frame img{object-position:center 47%}
.case-photo:hover .photo-frame img{transform:scale(1.035)}
.case-photo figcaption{display:flex;justify-content:flex-start;gap:12px;padding-top:9px;font:500 7px var(--mono);letter-spacing:.06em;color:#50534e}
.portfolio-mosaic{display:grid;gap:clamp(78px,10vw,145px);margin-top:92px}
.mosaic-row{display:grid;align-items:start;width:100%;max-width:1500px;margin:0 auto}
.mosaic-photo{min-width:0;margin:0}
.mosaic-photo .photo-frame{aspect-ratio:4/5}
.mosaic-photo img{object-position:center 44%}
.mosaic-row--duo-open{grid-template-columns:repeat(12,minmax(0,1fr));gap:2vw;padding:0 4vw}
.mosaic-row--duo-open .mosaic-photo:first-child{grid-column:1/7;width:88%;margin-top:3vw}
.mosaic-row--duo-open .mosaic-photo:last-child{grid-column:8/13;width:90%;margin-top:12vw}
.mosaic-row--trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.1vw;padding:0 2vw}
.mosaic-row--trio .mosaic-photo:nth-child(2){margin-top:10vw}
.mosaic-row--trio .mosaic-photo:nth-child(3){margin-top:2vw}
.mosaic-row--wide-pair{grid-template-columns:1fr 1fr;gap:7vw;padding:0 10vw}
.mosaic-row--wide-pair .mosaic-photo:last-child{margin-top:11vw}
.mosaic-row--feature{grid-template-columns:1fr;gap:0;align-items:center;padding:0 8vw}
.mosaic-row--feature .mosaic-photo{width:100%}
.mosaic-row--pair{grid-template-columns:1fr 1fr;gap:8vw;padding:0 11vw}
.mosaic-row--pair .mosaic-photo:first-child{margin-top:14vw}
.mosaic-row--pair .mosaic-photo:last-child{margin-top:10vw}
.mosaic-row--duo{grid-template-columns:1.1fr .9fr;gap:7vw;padding:0 7vw;align-items:center}
.mosaic-row--duo .mosaic-photo:first-child .photo-frame{aspect-ratio:4/5}
.mosaic-row--duo .mosaic-photo:last-child{margin-top:6vw}
.mosaic-row--closing{grid-template-columns:.9fr 1.1fr;gap:7vw;padding:0 9vw}
.mosaic-row--closing .mosaic-photo:first-child{margin-top:6vw}
.mosaic-row--closing .mosaic-photo:last-child{margin-top:0}
.mosaic-photo--lift{margin-top:-2vw!important}
.mosaic-photo--drop{margin-top:11vw!important}
.case-contact{min-height:205px;background:var(--ink);color:#fff;padding:30px 3.5vw 17px;display:grid;grid-template-columns:1fr auto;align-content:space-between;gap:28px;margin-top:5vw;font:500 8px var(--mono);letter-spacing:.07em}
.case-contact>span{color:#c0c1bb}
.case-contact-button{grid-column:2;grid-row:1/3;align-self:center;border:1px solid #737977;padding:14px 18px;color:#fff;font:500 8px var(--mono);letter-spacing:.08em;cursor:pointer;background:transparent;transition:background .25s,color .25s}
.case-contact-button:hover{background:#fff;color:var(--ink)}
.case-contact footer{grid-column:1/-1;border-top:1px solid #4d5555;padding-top:11px;display:flex;justify-content:space-between;gap:20px;color:#aeb3b0}
.case-contact footer a{color:#fff}
.case-page .contact-trigger,.case-page .contact-close{border:0;background:none;padding:0;color:inherit;cursor:pointer;font:inherit}
.case-page .contact-dialog{width:min(534px,calc(100vw - 28px));height:342px;max-height:calc(100svh - 28px);border:0;padding:27px 26px 20px;background:#fff;color:var(--ink);box-shadow:0 8px 35px #0002}
.case-page .contact-dialog::backdrop{background:rgba(0,0,0,.72)}
.case-page .dialog-heading{display:flex;justify-content:space-between;align-items:center;font:400 13px var(--serif)}
.case-page .contact-close{font:700 9px Arial,sans-serif}
.case-page .contact-form{display:grid;grid-template-rows:40px 40px 1fr 34px;height:270px;margin-top:17px}
.case-page .contact-form input,.case-page .contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:9px 0 5px;outline:none;color:var(--ink);font:400 10px Arial,sans-serif}
.case-page .contact-form textarea{height:100%;resize:none;padding-top:17px}
.case-page .contact-form input::placeholder,.case-page .contact-form textarea::placeholder{color:#777;opacity:1}
.case-page .contact-form>button{border:0;background:none;padding:12px 0 0;cursor:pointer;font:700 10px Arial,sans-serif;text-align:center}
.case-page .contact-form>button:hover{opacity:.55}
.case-page.dialog-open{overflow:hidden}
.image-dialog{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;border:0;padding:58px 70px 42px;background:rgba(5,10,13,.97);color:#fff;overflow:hidden}
.image-dialog::backdrop{background:rgba(5,10,13,.97)}
.image-dialog figure{width:100%;height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.image-dialog-content{display:block;max-width:100%;max-height:calc(100% - 24px);width:auto;height:auto;object-fit:contain}
.image-dialog-caption{align-self:flex-start;font:500 8px var(--mono);letter-spacing:.08em;color:#ddd}
.image-close,.image-step{position:absolute;z-index:1;border:0;background:transparent;color:#fff;cursor:pointer}
.image-close{right:22px;top:15px;font:300 31px/1 Arial,sans-serif}
.image-step{top:50%;transform:translateY(-50%);font:300 27px/1 Arial,sans-serif;padding:12px}
.image-previous{left:15px}.image-next{right:15px}
.image-open:focus-visible,.case-header a:focus-visible,.case-contact a:focus-visible,.case-contact button:focus-visible,.image-dialog button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.has-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.has-motion .reveal.is-visible{opacity:1;transform:translateY(0)}
.has-motion .case-photo .photo-frame{clip-path:inset(0 0 100% 0);transition:clip-path .95s cubic-bezier(.65,0,.25,1)}
.has-motion .case-photo.is-visible .photo-frame{clip-path:inset(0 0 0 0)}
.has-motion .case-photo img{transform:scale(1.035)}
.has-motion .case-photo.is-visible img{transform:scale(1)}
@media(max-width:760px){
  .case-header{height:54px;padding:0 4vw}.case-brand{left:4vw;top:12px;font-size:12px}.case-brand small{font-size:7px}.case-nav-works{top:14px;font-size:8px}.case-nav-right{right:10px;top:9px;font-size:8px;gap:1px}
  .case-gallery{padding:74px 5vw 75px;scroll-margin-top:56px}.gallery-heading{padding:0 0 23px;font-size:6px}.portfolio-opening{grid-template-columns:1fr;padding:0;gap:0}.opening-photo{grid-column:1;width:88%;margin-left:auto}.opening-photo .photo-frame{aspect-ratio:4/5}.case-photo figcaption{font-size:6px;padding-top:7px}.portfolio-mosaic{gap:67px;margin-top:56px}
  .mosaic-row--duo-open{grid-template-columns:1fr 1fr;gap:4vw;padding:0}.mosaic-row--duo-open .mosaic-photo:first-child{grid-column:1;width:100%;margin-top:0}.mosaic-row--duo-open .mosaic-photo:last-child{grid-column:2;width:94%;margin:10vw 0 0 auto}.mosaic-row--trio{grid-template-columns:1fr 1fr;gap:22px 10px;padding:0}.mosaic-row--trio .mosaic-photo:nth-child(1){grid-column:1}.mosaic-row--trio .mosaic-photo:nth-child(2){grid-column:2;margin-top:13vw}.mosaic-row--trio .mosaic-photo:nth-child(3){grid-column:1/-1;width:72%;justify-self:center;margin-top:3vw}.mosaic-row--wide-pair{grid-template-columns:1fr 1fr;gap:4vw;padding:0}.mosaic-row--wide-pair .mosaic-photo:last-child{margin-top:9vw}.mosaic-row--feature{grid-template-columns:1fr;gap:0;padding:0 8vw}.mosaic-row--pair{grid-template-columns:1fr 1fr;gap:4vw;padding:0}.mosaic-row--pair .mosaic-photo:first-child{margin-top:16vw}.mosaic-row--pair .mosaic-photo:last-child{margin-top:12vw}.mosaic-row--duo{grid-template-columns:1fr 1fr;gap:4vw;padding:0}.mosaic-row--duo .mosaic-photo:last-child{margin-top:10vw}.mosaic-row--closing{grid-template-columns:1fr 1fr;gap:4vw;padding:0}.mosaic-row--closing .mosaic-photo:first-child{margin-top:0}.mosaic-photo--lift{margin-top:0!important}.mosaic-photo--drop{margin-top:9vw!important}
  .case-contact{min-height:178px;margin-top:34px;padding:23px 5vw 13px;gap:22px;font-size:6px}.case-contact-button{padding:11px 13px;font-size:7px}.case-contact footer{font-size:6px}.case-page .contact-dialog{height:342px;padding:23px 20px 18px}.image-dialog{padding:55px 38px 32px}.image-close{right:13px;top:10px}.image-step{font-size:20px;padding:8px}.image-previous{left:3px}.image-next{right:3px}.image-dialog-content{max-width:100%;max-height:calc(100% - 30px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.has-motion .reveal,.has-motion .case-photo .photo-frame{opacity:1;transform:none;clip-path:none;transition:none}}

/* Standalone CHARINYEH lookbook layout. */
.chariniyea-page .case-gallery{max-width:1900px;padding:102px 3.4vw 115px}
.chariniyea-page .gallery-heading{padding:0 4vw 34px}
.chariniyea-page .portfolio-opening{display:block;min-height:0;padding:2vw 0 9vw}
.chariniyea-page .opening-photo{width:56%;margin:0 6% 0 auto}
.chariniyea-page .opening-photo .photo-frame,
.chariniyea-page .mosaic-photo .photo-frame{aspect-ratio:auto;background:transparent}
.chariniyea-page .opening-photo .photo-frame img,
.chariniyea-page .mosaic-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.chariniyea-page .portfolio-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(72px,9vw,138px) 2vw;margin:0 auto;padding:0 3vw}
.chariniyea-page .mosaic-photo{min-width:0;margin:0}
.chariniyea-page .mosaic-photo:nth-child(5n+1){grid-column:2/span 5}
.chariniyea-page .mosaic-photo:nth-child(5n+2){grid-column:8/span 5;margin-top:9vw}
.chariniyea-page .mosaic-photo:nth-child(5n+3){grid-column:1/span 6}
.chariniyea-page .mosaic-photo:nth-child(5n+4){grid-column:7/span 5;margin-top:7vw}
.chariniyea-page .mosaic-photo:nth-child(5n){grid-column:3/span 8}
.chariniyea-page .case-photo figcaption{padding-top:10px;font-size:8px;letter-spacing:.1em}
.chariniyea-page .case-photo:hover .photo-frame img{transform:scale(1.012)}
@media(max-width:760px){
  .chariniyea-page .case-gallery{padding:74px 5vw 75px}
  .chariniyea-page .gallery-heading{padding:0 0 23px;font-size:6px}
  .chariniyea-page .portfolio-opening{padding:4vw 0 15vw}
  .chariniyea-page .opening-photo{width:86%;margin-left:auto;margin-right:0}
  .chariniyea-page .portfolio-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:14vw 4vw;padding:0}
  .chariniyea-page .mosaic-photo:nth-child(n){grid-column:auto;width:auto;margin-top:0}
  .chariniyea-page .mosaic-photo:nth-child(4n+2),.chariniyea-page .mosaic-photo:nth-child(4n){margin-top:9vw}
  .chariniyea-page .mosaic-photo:nth-child(5n){grid-column:1/-1;width:82%;justify-self:center}
  .chariniyea-page .case-photo figcaption{padding-top:7px;font-size:6px}
}
