:root{--ink:#171717;--paper:#fff;--red:#c92c30;--muted:#686868;--line:#d9d9d9;--sans:Arial,'Noto Sans Thai',Tahoma,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}::selection{background:var(--red);color:white}.skip{position:fixed;top:-100px;left:10px;background:#fff;z-index:100;padding:10px}.skip:focus{top:10px}[hidden]{display:none!important}.header{height:88px;margin:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);position:relative;z-index:10;gap:24px}.brand{font-weight:900;font-size:23px;letter-spacing:-1.4px;white-space:nowrap;line-height:1}.brand-dot{color:var(--red)}.brand-note{font-size:10px;letter-spacing:3px;display:block;font-weight:400;margin-top:9px}.header nav{display:flex;gap:30px;align-items:center;font-size:14px}.header nav a:hover{color:var(--red)}.contact-nav{border:1px solid var(--ink);padding:9px 17px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:3%;max-width:1600px;margin:auto;padding:66px 4.5% 76px;min-height:730px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.4px;margin:0 0 24px;line-height:1.6}.tiny-cross{font-size:20px;vertical-align:middle;color:var(--red);margin-right:12px}.hero-copy h1{font-size:clamp(68px,8.7vw,144px);font-weight:900;line-height:.9;letter-spacing:-.085em;margin:28px 0 31px}.hero-copy h1 span{font-family:Georgia,serif;font-style:italic;font-weight:400;color:var(--red);letter-spacing:-.07em}.hero-thai{font-size:22px;font-weight:400;line-height:1.55;margin:24px 0}.solid-button,.light-button,.outline-button{display:inline-block;padding:12px 23px;font-size:14px;background:var(--ink);color:white;border:1px solid var(--ink);transition:background .2s}.solid-button:hover{background:var(--red);border-color:var(--red)}.hero-services{font-size:14px;color:var(--muted);margin:23px 0 0;line-height:1.9}.hero-art{position:relative;align-self:center;padding:0 30px 62px 16px}.hero-photo{margin:0;width:90%;transform:rotate(2deg);background:#e7e7e7}.hero-photo img{width:100%;height:470px;object-fit:cover;object-position:50% 36%}.hero-photo figcaption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;background:var(--ink);color:white;padding:12px 14px}.hero-inset{position:absolute;bottom:-12px;right:0;margin:0;width:44%;transform:rotate(-7deg);background:white;padding:9px 9px 0;box-shadow:0 8px 30px #0002}.hero-inset img{width:100%;height:195px;object-fit:cover}.hero-inset figcaption{text-align:center;font:italic 24px/1.5 Georgia,serif;padding:9px}.vertical-note{position:absolute;right:0;top:6px;writing-mode:vertical-rl;font-size:10px;letter-spacing:3px}.edition-strip{display:flex;justify-content:space-between;background:var(--ink);color:#fff;padding:18px 4.5%;font-size:11px;letter-spacing:1.5px;gap:15px}.section{padding:78px 4.5%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px}.section-heading .eyebrow{color:var(--red);margin-bottom:12px}h2{font-weight:500;font-size:clamp(32px,4vw,58px);line-height:1.35;margin:0;letter-spacing:-1.8px}.serif{font-family:Georgia,'Noto Sans Thai',Tahoma,serif;font-style:italic;color:var(--red);margin-left:10px}.section-note{color:var(--muted);font-size:14px;line-height:1.9;margin:0}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 28px}.category-card{display:block}.category-image{position:relative;aspect-ratio:4/4.6;overflow:hidden;background:#efefef}.category-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.category-card:nth-child(2) .category-image{margin-top:50px}.category-card:nth-child(5) .category-image{margin-top:50px}.category-card:hover img{transform:scale(1.045)}.category-number{position:absolute;top:14px;left:14px;font-size:12px;letter-spacing:1px;color:white;background:#171717;padding:3px 10px}.category-meta{border-top:1px solid var(--ink);display:flex;justify-content:space-between;margin-top:17px;padding-top:12px;font-size:12px;letter-spacing:1px}.category-card h3{font-size:21px;font-weight:400;line-height:1.45;margin:6px 0}.category-card p{font-size:14px;color:var(--muted);margin:0}.type-cover{background:var(--red);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:25px;height:100%}.type-cover span{font-size:12px;letter-spacing:2px}.type-cover strong{font-size:clamp(50px,5vw,88px);font-weight:400;font-family:Georgia,serif;font-style:italic;line-height:1}.footer{padding:65px 4.5% 30px;background:var(--ink);color:white}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:62px;border-bottom:1px solid #ffffff40}.footer h2{font-size:clamp(32px,4vw,62px);line-height:1.5}.footer .serif{color:#ee6262}.light-button{background:#fff;color:var(--ink);border-color:#fff;white-space:nowrap}.light-button:hover{background:#e9e9e9}.footer-bottom{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:40px;padding-top:30px;font-size:13px}.footer-bottom p{margin:0 0 7px}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.footer-brand{font-size:26px;font-weight:800;letter-spacing:-1px}.footer-credit{text-align:right;letter-spacing:1.5px;font-size:11px}.gallery-view{min-height:65vh}.service-section{background:var(--ink);color:#fff;padding:78px 4.5%}.service-inner{max-width:1456px;margin:auto}.service-section .serif{color:#ef7070}.service-section .section-note{color:#c4c4c4}.service-section .section-heading .eyebrow{color:#ef7070}.service-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:40px}.service-label{font-size:12px;letter-spacing:1.6px;color:#aaa;margin:0 0 20px}.service-columns ul{list-style:none;padding:0;margin:0}.service-columns li{border-top:1px solid #ffffff30;padding:18px 0;display:flex;gap:25px;font-size:16px}.service-columns li span{color:#ed6a6a;font:14px Georgia,serif;padding-top:5px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.team-card{display:grid;grid-template-columns:.9fr 1fr;gap:25px;align-items:start}.team-photo{position:relative}.team-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1)}.team-photo span{position:absolute;bottom:10px;left:10px;background:white;color:var(--ink);padding:3px 8px;font-size:10px;letter-spacing:1px}.team-info .eyebrow{margin:0 0 14px;font-size:11px;color:var(--red)}.team-info h3{font:italic 38px/1.2 Georgia,serif;margin:0 0 18px}.team-info h3 span{font:14px var(--sans);display:block;margin-top:12px}.team-info p{font-size:14px;line-height:2;color:var(--muted)}.team-info .team-role{color:var(--ink);font-size:14px;border-bottom:1px solid var(--line);padding-bottom:15px}.quote-section{text-align:center;padding:75px 4.5% 85px;background:#f3f3f3}.quote-section .eyebrow{margin-bottom:20px}.quote-section blockquote{font-size:clamp(35px,5vw,70px);line-height:1.6;margin:0 0 32px;letter-spacing:-1px}.outline-button{background:transparent;color:inherit}.outline-button:hover{background:var(--ink);color:#fff}.breadcrumb{display:flex;gap:15px;font-size:14px;color:var(--muted);flex-wrap:wrap;margin-bottom:40px}.breadcrumb a:hover{color:var(--red)}.gallery-heading .eyebrow{color:var(--red);margin-bottom:16px}.gallery-heading h1{font-size:clamp(38px,5vw,76px);line-height:1.4;font-weight:400;letter-spacing:-1.5px;margin:0 0 18px}.gallery-heading h1.album-title{font-size:clamp(28px,3.5vw,48px);max-width:1000px;letter-spacing:-.6px}.gallery-heading p{font-size:16px;color:var(--muted)}.collection-tabs{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:25px 0 30px;margin-bottom:40px}.collection-tabs a{font-size:14px;padding:7px 14px;border:1px solid var(--line)}.collection-tabs a[aria-current]{background:var(--ink);color:white;border-color:var(--ink)}.collection-tabs a:hover{border-color:var(--red)}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px}.album-cover{aspect-ratio:4/4.3;overflow:hidden;position:relative;background:#eee}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.album-card:hover img{transform:scale(1.04)}.album-cover>span{position:absolute;bottom:12px;left:12px;background:white;font-size:12px;padding:2px 9px}.album-meta{border-top:1px solid var(--ink);padding-top:14px;margin-top:15px}.album-meta h2{font-size:17px;font-weight:400;line-height:1.7;letter-spacing:0;margin-bottom:5px}.album-meta>span{font-size:12px;color:var(--muted)}.photo-grid{columns:3;column-gap:20px;margin-top:40px;margin-bottom:38px}.photo-tile{background:#eee;border:0;padding:0;display:block;width:100%;margin:0 0 20px;position:relative;break-inside:avoid;overflow:hidden}.photo-tile img{width:100%;height:auto}.photo-tile>span{position:absolute;bottom:10px;left:10px;background:#fff;font-size:12px;padding:2px 8px}.photo-tile:hover{outline:2px solid var(--red);outline-offset:3px}.overview-grid{columns:2}.album-links{border-top:1px solid var(--line);padding:30px 0 40px}.album-links h2{font-size:20px;letter-spacing:0;margin-bottom:20px}.album-links>div{display:flex;flex-wrap:wrap;gap:10px}.album-links .outline-button{padding:8px 15px}.text-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:6px;margin-top:10px}.text-link:hover{color:var(--red)}.story-card{display:grid;grid-template-columns:60px 1fr 150px;gap:20px;padding:30px 0;border-top:1px solid var(--line)}.story-index{font:italic 28px Georgia,serif;color:var(--red)}.story-card h2{font-size:23px;line-height:1.5;letter-spacing:0}.story-card p{max-width:800px;color:var(--muted);font-size:15px}.story-mark{font-size:10px;letter-spacing:1.5px;justify-self:end;color:var(--muted)}dialog{border:0;padding:0;background:#111;color:white;width:calc(100% - 40px);max-width:1250px;height:calc(100dvh - 40px);max-height:1000px}dialog::backdrop{background:#000d}.lightbox-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 20px;height:70px}.lightbox-bar p{font-size:14px;margin:0}.lightbox-bar button,.lightbox-controls button{background:transparent;color:white;border:1px solid #ffffff60;padding:7px 16px;font-size:14px}#lightbox-image{width:100%;height:calc(100% - 140px);object-fit:contain}.lightbox-controls{height:70px;display:flex;align-items:center;justify-content:center;gap:28px;font-size:14px}body:has(dialog[open]){overflow:hidden}@media(min-width:1550px){.header{max-width:1456px;margin:auto}.hero{min-height:800px}.hero-photo img{height:540px}}@media(max-width:1100px){.team-card{display:block}.team-info{padding-top:22px}.team-info h3{font-size:36px}}@media(max-width:1000px){.header nav{gap:18px}.hero{padding-top:50px;min-height:640px}.hero-copy h1{font-size:clamp(65px,8.7vw,90px)}.hero-photo img{height:360px}.hero-inset img{height:150px}.hero-art{padding-left:0}.hero-thai{font-size:20px}.hero-services{font-size:13px}.category-grid{gap:35px 20px}.footer-bottom{grid-template-columns:1fr 2fr}.footer-credit{display:none}.service-columns{gap:35px}.service-columns li{font-size:15px;gap:15px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-card{grid-template-columns:50px 1fr}.story-mark{display:none}}@media(max-width:720px){html{scroll-padding-top:30px}.header{height:auto;min-height:95px;flex-wrap:wrap;gap:18px;padding:21px 0 16px}.brand{font-size:22px}.brand-note{font-size:9px}.header nav{flex-wrap:wrap;gap:18px;font-size:13px;width:100%;justify-content:space-between}.contact-nav{padding:6px 10px}.hero{grid-template-columns:1fr;padding-top:36px;gap:36px;padding-bottom:60px;min-height:0}.hero-copy h1{font-size:clamp(74px,15.8vw,110px);margin-top:22px;letter-spacing:-.08em}.hero-thai{font-size:21px}.hero-copy .eyebrow{font-size:11px}.hero-services{margin-top:18px}.hero-art{margin-top:5px;padding:0 34px 35px 8px}.hero-photo{width:89%}.hero-photo img{height:400px}.hero-inset{width:42%;bottom:0}.hero-inset img{height:175px}.hero-inset figcaption{font-size:22px}.edition-strip{font-size:10px;flex-wrap:wrap}.edition-strip span:last-child{display:none}.section,.service-section{padding:55px 5%}.section-heading{display:block;margin-bottom:28px}.section-note{margin-top:15px}h2{letter-spacing:-1px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.category-card:nth-child(2) .category-image,.category-card:nth-child(5) .category-image{margin-top:0}.category-card:nth-child(even){padding-top:35px}.category-card h3{font-size:18px}.category-meta{font-size:10px;letter-spacing:.5px;gap:8px}.category-card p{font-size:13px}.category-number{font-size:10px;padding:2px 6px;top:9px;left:9px}.type-cover{padding:16px}.type-cover strong{font-size:49px}.type-cover span{font-size:10px}.footer{padding:45px 5% 25px}.footer-top{align-items:flex-start;flex-direction:column;padding-bottom:35px}.footer h2{letter-spacing:-1px}.footer-bottom{grid-template-columns:1fr;gap:24px}.service-columns{grid-template-columns:1fr;gap:30px}.service-columns li{font-size:16px}.team-grid{gap:35px}.team-info h3{font-size:30px}.team-info p{font-size:14px}.team-photo span{font-size:9px}.team-grid{grid-template-columns:1fr}.team-card{display:grid;grid-template-columns:1fr 1.15fr;gap:22px}.team-info{padding-top:0}.gallery-heading h1{font-size:36px}.collection-tabs{gap:8px}.collection-tabs a{font-size:13px;padding:6px 10px}.album-grid{gap:30px 16px}.album-meta h2{font-size:15px}.photo-grid{columns:2;column-gap:12px}.photo-tile{margin-bottom:12px}.story-card{gap:12px;grid-template-columns:35px 1fr}.story-card h2{font-size:20px}.lightbox-bar p{max-width:73%;font-size:12px}dialog{width:100%;height:100dvh;max-height:none}}@media(max-width:420px){.team-card{display:block}.team-photo{max-width:240px}.team-info{padding-top:20px}.hero-inset img{height:130px}.hero-photo img{height:320px}.overview-grid{columns:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
:root .type-cover{padding-top:58px}.team-info p{font-size:16px}.story-card p{font-size:16px}.team-info .team-profession{font-size:16px;line-height:1.8;color:var(--red);margin:16px 0}
