*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:10px}body,html{overflow-x:hidden}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.2rem;color:#111;background:#f6f5f1;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}@font-face{font-family:Balegiano;src:url(/fonts/BelgianoSerif.woff) format("woff")}*{word-break:keep-all}.layout{display:flex;min-height:100vh;background:#f6f5f1}.sidebar{position:fixed;top:0;left:0;width:220px;height:100vh;padding:30px 24px 24px;display:flex;flex-direction:column;z-index:100;background:hsla(48,22%,95%,.94);border-right:1px solid #d9d6cc;color:#111;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sidebar__logo{flex:0 0 auto;width:-moz-fit-content;width:fit-content;font-family:Balegiano;font-size:2rem;letter-spacing:.03em;text-transform:uppercase}.sidebar__content{flex:1 1 auto;min-height:0;padding:92px 0 24px;overflow-y:auto}.sidebar__content::-webkit-scrollbar{width:0;height:0}.sidebar__nav{display:flex;flex-direction:column;gap:9px}.sidebar__nav a{width:-moz-fit-content;width:fit-content;position:relative;font-size:1.15rem;color:#86837a;letter-spacing:.02em;transition:color .2s}.sidebar__nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:currentColor;transition:width .2s}.sidebar__nav a.active,.sidebar__nav a:hover{color:#151515}.sidebar__nav a.active:after,.sidebar__nav a:hover:after{width:100%}.sidebar__project{padding-right:4px}.sidebar__project-name{font-size:1.7rem;font-weight:500;line-height:1.35;margin-bottom:10px}.sidebar__project-category{font-size:1.1rem;color:#8b887f;margin-bottom:16px}.sidebar__project-desc{font-size:1.1rem;color:#4a4945;line-height:1.6;margin-bottom:20px}.sidebar__project-period{font-size:1.1rem;color:#8b887f;margin-bottom:20px}.sidebar__view-link{font-size:1.2rem;color:#151515;border-bottom:1px solid;padding-bottom:1px;display:inline-block;transition:opacity .2s}.sidebar__view-link:hover{opacity:.5}.sidebar__bottom{flex:0 0 auto;padding-top:18px;border-top:1px solid #dedbd2}.sidebar__social{display:flex;gap:12px;margin-bottom:8px;align-items:center}.sidebar__social a{font-size:1.5rem;color:#151515;display:flex;align-items:center;transition:opacity .2s}.sidebar__social a:hover{opacity:.4}.sidebar__copyright{font-size:1rem;color:#9a978e}.main{flex:none;width:calc(100% - 220px);min-width:0;margin-left:220px;padding:30px}.home-layout{display:block;background:#f6f5f1}.home-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto;align-items:center;padding:22px 28px;color:#111;mix-blend-mode:difference}.home-nav__brand{font-family:Balegiano,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:2rem;line-height:1;color:#fff;letter-spacing:.03em}.home-nav__links{display:flex;align-items:center;gap:18px;color:#fff}.home-nav__links a{font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase}.home-main{width:100%;min-height:100vh}.home-hero{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:96px 28px 28px;background:#111;color:#f6f5f1}.home-hero__bottom,.home-hero__top{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;align-items:end}.home-hero__bottom a,.home-hero__bottom p,.home-hero__eyebrow,.home-hero__meta{font-size:1.15rem;line-height:1.4;letter-spacing:.02em;color:hsla(48,22%,95%,.72)}.home-hero__bottom a{justify-self:end;color:#f6f5f1;border-bottom:1px solid}.home-hero__title{max-width:11.2em;font-family:Balegiano,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(5.6rem,11vw,17rem);font-weight:400;line-height:.78;letter-spacing:0}.home-intro{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,2.3fr);grid-gap:24px;gap:24px;min-height:72vh;padding:32px 28px;align-items:center;border-bottom:1px solid #d3d0c7}.home-intro__label{align-self:start;padding-top:.3em;font-size:1.05rem;color:#827f77;letter-spacing:.08em;text-transform:uppercase}.home-intro__text{max-width:980px;font-family:Balegiano,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(3.8rem,6.2vw,9.8rem);line-height:.92}.work-section{padding:28px}.work-section__header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-top:1px solid #111;border-bottom:1px solid #d3d0c7;background:hsla(48,22%,95%,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.work-section__header p{font-size:1.1rem;color:#827f77;letter-spacing:.08em;text-transform:uppercase}.project-list{display:flex;flex-direction:column}.project-card{display:grid;grid-template-columns:86px minmax(0,1.35fr) minmax(240px,.65fr);grid-gap:24px;gap:24px;align-items:end;min-height:92vh;padding:48px 0;border-bottom:1px solid #d3d0c7;cursor:pointer;opacity:0;transform:translateY(48px);transition:opacity .8s ease,transform .8s ease}.project-card.is-visible{opacity:1;transform:translateY(0)}.project-card:nth-child(2n){grid-template-columns:86px minmax(240px,.65fr) minmax(0,1.35fr)}.project-card:nth-child(2n) .project-card__image{grid-column:3;grid-row:1}.project-card:nth-child(2n) .project-card__info{grid-column:2;grid-row:1}.project-card__aside{align-self:start;display:flex;flex-direction:column;gap:8px;padding-top:8px;font-size:1.05rem;line-height:1.2;color:#827f77}.project-card__image{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#e4e1d8;border-radius:0}.project-card__image:after{content:"";position:absolute;inset:0;border:1px solid hsla(0,0%,7%,.08);pointer-events:none}.project-card__image img{transform:scale(1.08);filter:grayscale(.08) saturate(.9);transition:transform 1.1s ease,filter .65s ease}.project-card.is-visible .project-card__image img{transform:scale(1)}.project-card:hover .project-card__image img{transform:scale(1.018);filter:grayscale(0) saturate(1)}.project-card__info{align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:2px}.project-card__title{max-width:7em;font-family:Balegiano,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(4.8rem,7vw,11rem);font-weight:400;line-height:.86;color:#111;transition:opacity .2s}.project-card__category{max-width:260px;font-size:1.15rem;line-height:1.45;color:#6f6c64}.project-card:hover .project-card__title{opacity:.56}.project-card__cta{display:inline-block;margin-top:10px;padding-bottom:3px;border-bottom:1px solid;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;color:#111}.project-list__more{display:flex;justify-content:center;padding:56px 0 8px;background:#f6f5f1}.project-list__more-btn{min-width:104px;padding:10px 26px;border:1px solid #151515;border-radius:0;background:transparent;color:#151515;font-size:1rem;letter-spacing:.08em;cursor:pointer;transition:background .2s,color .2s}.project-list__more-btn:hover:not(:disabled){background:#151515;color:#f7f6f2}.project-list__more-btn:disabled{cursor:default;border-color:#ccc;color:#ccc}.project-list__dots{display:inline-flex;align-items:center;gap:6px}.project-list__dots span{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;animation:dot-bounce 1.2s ease-in-out infinite}.project-list__dots span:nth-child(2){animation-delay:.2s}.project-list__dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.detail{position:relative;width:calc(100% - 220px);min-height:100vh;margin-left:220px;padding:36px;overflow-x:hidden;background:#fff}.detail__close{position:fixed;top:24px;right:24px;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.6rem;color:#111;z-index:200;transition:background .2s}.detail__close:hover{background:#f5f5f5}.detail-gallery{width:100%;max-width:1180px;margin:0 auto;overflow-x:hidden}.gallery-section{width:100%;max-width:100%;margin-bottom:48px}.gallery-section__full{width:100%;max-width:100%;aspect-ratio:16/9;overflow:hidden;background:#f0f0f0}.gallery-section__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;background:#fff}.gallery-section__grid-item{aspect-ratio:4/3;overflow:hidden;background:#eee}.gallery-section__caption{padding:12px 0 0;font-size:1.1rem;color:#555;line-height:1.7;white-space:pre-line}.page-content{padding:36px 24px;max-width:600px}.page-content h1{font-size:2rem;font-weight:500;margin-bottom:24px}.page-content p{font-size:1.3rem;color:#444;line-height:1.8;margin-bottom:16px}.page-content a{border-bottom:1px solid #111}@media (max-width:768px){.sidebar{position:relative;width:100%;height:auto;padding:20px;border-right:0;border-bottom:1px solid #dedbd2}.sidebar__content{padding:32px 0 22px;overflow:visible}.sidebar__bottom{padding-top:14px}.layout{flex-direction:column}.main{width:100%;margin-left:0;padding:16px}.home-nav{padding:18px 16px}.home-nav__links{gap:12px}.home-hero{padding:84px 16px 18px}.home-hero__bottom,.home-hero__top,.home-intro{grid-template-columns:1fr}.home-hero__title{font-size:clamp(5rem,17vw,8.6rem)}.home-hero__bottom a{justify-self:start}.home-intro{min-height:54vh;padding:26px 16px}.home-intro__text{font-size:clamp(3.4rem,11vw,6rem)}.work-section{padding:16px}.work-section__header{position:static}.project-card,.project-card:nth-child(2n){display:flex;flex-direction:column;align-items:stretch;min-height:auto;gap:16px;padding:32px 0}.project-card:nth-child(2n) .project-card__image,.project-card:nth-child(2n) .project-card__info{grid-column:auto;grid-row:auto}.project-card__aside{flex-direction:row;justify-content:space-between;padding-top:0}.project-card__image{aspect-ratio:4/3;order:1}.project-card__info{order:2;gap:10px}.project-card__title{font-size:clamp(4rem,14vw,6.4rem)}.project-card__category{max-width:none;font-size:1.1rem}.detail{width:100%;min-height:auto;margin-left:0;padding:16px}.detail__close{top:16px;right:16px}.gallery-section__grid{grid-template-columns:1fr}}@media (min-width:769px) and (max-width:1120px){.sidebar{width:220px}.main{width:calc(100% - 220px);margin-left:220px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.project-list{grid-template-columns:1fr}}