:root{--paper:#faf9f6;--ink:#20211f;--muted:#85857e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}a:focus-visible,button:focus-visible{outline:2px solid #a87043;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #20211f0c}.brand{display:flex;gap:13px;align-items:center;font-weight:700;font-size:19px;letter-spacing:-.7px}.brand svg{width:33px;height:38px;fill:none;stroke:currentColor;stroke-width:2}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:6px;font-weight:500}nav{display:flex;gap:35px;font-size:12px}.contact{font-size:12px;background:var(--ink);color:white;padding:13px 18px;border-radius:30px;display:flex;gap:22px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:500}.intro{text-align:center;padding:54px 20px 15px}h1{font-size:clamp(48px,5.6vw,90px);letter-spacing:-.075em;line-height:1.15;font-weight:650;margin:25px 0 23px}h1 span{display:block;animation:titleIn 1s both}h1 span:nth-child(2){animation-delay:.12s}.intro p{font-size:13px;color:#74756e;margin:0}.gallery{height:420px;position:relative;overflow:hidden;margin-top:10px;cursor:grab;touch-action:pan-y;user-select:none}.gallery.dragging{cursor:grabbing}.track{position:absolute;inset:0;perspective:1300px;transform-style:preserve-3d}.space-card{position:absolute;left:50%;top:12px;width:290px;height:390px;margin-left:-145px;padding:0;overflow:hidden;will-change:transform;backface-visibility:hidden;background:#ddd}.space-card img{pointer-events:none;transition:filter .4s,scale .6s}.space-card:hover img{scale:1.035;filter:brightness(.88)}.space-card .card-label{position:absolute;left:18px;right:18px;bottom:45px;display:flex;justify-content:space-between;color:white;font-size:12px;opacity:0;transition:opacity .3s;text-shadow:0 2px 8px #000}.space-card:hover .card-label,.space-card:focus-visible .card-label{opacity:1}.curve{position:absolute;left:-10%;width:120%;height:95px;background:var(--paper);z-index:10;pointer-events:none}.curve.top{top:-65px;border-radius:0 0 50% 50%}.curve.bottom{bottom:-65px;border-radius:50% 50% 0 0}.drag-hint{position:absolute;bottom:43px;left:50%;transform:translateX(-50%);z-index:11;color:white;border:1px solid #fff7;backdrop-filter:blur(8px);background:#0002;border-radius:30px;padding:10px 15px;font-size:8px;letter-spacing:1.5px;pointer-events:none}.gallery-toolbar{margin:8px 6% 0;display:flex;align-items:center;justify-content:space-between}.current{font:italic 26px Georgia}.current i{font:normal 11px Arial;color:var(--muted);margin-left:10px}.active-label{font-size:13px}.active-label span{font-size:8px;letter-spacing:1px;color:var(--muted);margin-left:15px}.controls{display:flex;gap:7px}.controls button{width:34px;height:34px;border:1px solid #d9d9d1;border-radius:50%;font-size:14px}.controls button:hover{background:var(--ink);color:white}.hero-bottom{text-align:center;padding:34px 20px 80px}.hero-bottom p{font-size:13px;line-height:1.9;color:#666860}.underlink{display:inline-flex;gap:30px;border-bottom:1px solid #aaa;padding:10px 0;font-size:12px;margin-top:7px}.projects{padding:90px 6%;background:#eeeee8}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:15px}.section-head>.eyebrow{grid-column:1/-1}h2{font-size:clamp(32px,3.8vw,56px);line-height:1.25;font-weight:500;letter-spacing:-2px;margin:17px 0 30px}.section-head p{align-self:end;justify-self:end;font-size:13px;line-height:1.8;color:#77786e}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 28px;margin-top:30px}.project-tile{text-align:left;padding:0}.project-tile:nth-child(2){padding-top:90px}.project-tile:nth-child(4){padding-top:90px}.project-tile .photo{height:400px;overflow:hidden}.project-tile img{transition:transform .9s}.project-tile:hover img{transform:scale(1.04)}.project-tile .caption{display:flex;justify-content:space-between;padding-top:20px}.caption h3{font-size:19px;font-weight:500;margin:0}.caption small{display:block;margin-top:8px;font-size:9px;color:#85857e;letter-spacing:1px}.caption b{font-size:23px;font-weight:400}.approach{padding:120px 6%}.approach h2 em{font-style:normal;color:#929385}.approach>div>p{font-size:14px;color:#77786e;line-height:1.9}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.principles article{border-top:1px solid #d4d4cc;padding-top:23px}.principles article>span{font:italic 28px Georgia;color:#919582}.principles h3{font-size:19px;font-weight:500;margin:25px 0 15px}.principles p{font-size:13px;line-height:1.9;color:#77786e}.closing{text-align:center;background:#282d27;color:#faf9f6;padding:100px 20px}.closing h2{font-size:clamp(45px,6vw,85px);margin:30px 0}.closing p{font-size:13px;color:#acb3a7}.inquire{background:#faf9f6;color:#282d27;border-radius:30px;padding:16px 28px;margin-top:20px;font-size:12px}footer{padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer>span{font-size:11px;letter-spacing:2px}footer p{font-size:9px;color:#888;line-height:1.7}footer a{font-size:10px;white-space:nowrap}dialog{border:0;background:var(--paper);max-width:1000px;width:92vw;padding:0;max-height:90dvh;overflow:auto}dialog::backdrop{background:#10140dcc;backdrop-filter:blur(8px)}.project-dialog[open]{display:grid;grid-template-columns:60% 40%}.detail-image{height:70vh}.detail-text{padding:70px 30px 30px}.detail-text h2{font-size:32px}.detail-text p{font-size:14px;line-height:1.9;color:#73776b}.detail-text small{display:block;font-size:10px;color:#929487;margin-top:35px}.close{position:absolute;right:12px;top:12px;z-index:10;width:36px;height:36px;background:var(--paper);border-radius:50%;font-size:26px}.inquiry-dialog{max-width:600px;padding:60px 35px}.inquiry-dialog h2{font-size:33px}.inquiry-dialog p{font-size:13px;line-height:1.9}.inquiry-dialog a{font-size:13px;border-bottom:1px solid #888}.paused *{animation-play-state:paused!important}@keyframes titleIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@media(min-width:1600px){.gallery{height:490px}.space-card{height:460px;width:340px;margin-left:-170px}.intro{padding-top:65px}}@media(max-width:700px){header{height:85px;padding:0 6%}.brand{font-size:15px;gap:8px}.brand svg{width:27px}.brand small{font-size:6px;letter-spacing:2px}nav{display:none}.contact{font-size:9px;padding:11px 13px;gap:8px}.intro{padding:45px 15px 10px}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:clamp(39px,11vw,60px);margin:24px 0 20px}.intro p{font-size:11px}.gallery{height:325px;margin-top:25px}.space-card{width:215px;height:300px;margin-left:-107.5px}.curve{height:65px}.curve.top{top:-45px}.curve.bottom{bottom:-45px}.drag-hint{bottom:30px;font-size:7px}.gallery-toolbar{margin:10px 6% 0}.current{font-size:21px}.active-label{font-size:11px}.active-label span{display:none}.controls{gap:4px}.controls button{width:29px;height:29px}.hero-bottom{padding:25px 20px 55px}.hero-bottom p{font-size:11px}.projects{padding:65px 6%}.section-head{display:block}.section-head p{text-align:left;font-size:12px}.project-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.project-tile:nth-child(n){padding-top:0}.project-tile .photo{height:300px}.caption h3{font-size:17px}.approach{padding:70px 6%}.approach h2{font-size:30px}.approach>div>p{font-size:12px}.principles{grid-template-columns:1fr;gap:25px;margin-top:40px}.principles article{position:relative;padding-left:40px}.principles article>span{position:absolute;left:0;top:25px;font-size:22px}.principles h3{margin:5px 0 10px;font-size:18px}.principles p{font-size:12px}.closing{padding:70px 20px}footer{flex-wrap:wrap;padding:30px 6%;gap:12px}footer p{order:3;width:100%;margin:0}.project-dialog[open]{display:block}.detail-image{height:40vh}.detail-text{padding:30px 25px}.detail-text h2{font-size:27px;margin-bottom:20px}.detail-text small{margin-top:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Straight shared baseline, deeper continuous upper arch. */
.space-card{top:0;height:100%}.track{perspective:none}.curve.top{left:-5%;width:110%;height:240px;top:-145px;border-radius:0 0 50% 50% / 0 0 100% 100%}.curve.bottom{display:none}.gallery{margin-bottom:18px}.drag-hint{bottom:20px}.space-card .card-label{bottom:25px}@media(min-width:1600px){.space-card{height:100%}.curve.top{height:300px;top:-180px}}@media(max-width:700px){.space-card{height:100%}.curve.top{left:-15%;width:130%;height:170px;top:-110px}.drag-hint{bottom:16px}}
/* Photography supports each design principle. */
.principles{gap:28px}.principles article{border-top:0;padding-top:0}.principles figure{margin:0 0 25px;aspect-ratio:4/3;overflow:hidden;background:#e8e7df}.principles figure img{transition:transform .8s ease}.principles article:hover figure img{transform:scale(1.035)}.principles h3{margin-top:18px}@media(max-width:700px){.principles{gap:40px}.principles article{padding-left:0;display:grid;grid-template-columns:32px 1fr;column-gap:12px}.principles figure{grid-column:1/-1;margin-bottom:20px}.principles article>span{position:static;grid-column:1;grid-row:2/4}.principles h3{grid-column:2;margin:0 0 10px}.principles p{grid-column:2;margin:0}}
