.nav{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--border)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);height:66px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.01em}.brand span{font-family:var(--font-mono);font-weight:400;font-size:10px;letter-spacing:.16em;color:var(--muted);display:block;margin-top:1px}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a{font-size:13px;font-weight:500;color:var(--muted);transition:color .2s}.nav-links a:hover{color:var(--fg)}.nav-right{display:flex;align-items:center;gap:18px}.nav-admin{border:1px solid var(--border);padding:8px 12px}.hero{padding-top:clamp(48px,8vw,104px);padding-bottom:clamp(40px,6vw,80px)}.hero-tags{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,44px)}.hero h1{font-family:var(--font-display);font-weight:700;font-size:clamp(46px,8.6vw,132px);line-height:.92;letter-spacing:-.04em;max-width:15ch}.hero h1 em{font-style:normal;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,56px);align-items:end;margin-top:clamp(40px,6vw,72px)}.hero-bio{max-width:46ch}.hero-bio p{color:var(--muted);font-size:clamp(15px,1.4vw,18px);line-height:1.65}.hero-bio p strong{color:var(--fg);font-weight:600}.hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;margin-top:34px}.hero-meta .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.hero-meta .v{font-size:14px;font-weight:500;margin-top:4px}.hero-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hero-duo .frame:nth-child(1){aspect-ratio:3 / 4.4}.hero-duo .frame:nth-child(2){aspect-ratio:3 / 4.4;transform:translateY(28px)}.gallery{padding:clamp(40px,6vw,80px) 0 clamp(48px,7vw,96px)}.section-title{font-size:clamp(30px,4vw,56px);margin-top:12px}.section-note{max-width:34ch;text-align:right}.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:14px;margin-top:36px}.cell{border:1px solid var(--border);overflow:hidden;position:relative;background:var(--surface)}.cell img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,0,.1,1);filter:saturate(1.02)}.cell:hover img{transform:scale(1.05)}.cell .meta{position:absolute;left:0;bottom:0;right:0;padding:12px 14px;display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);opacity:0;transition:opacity .35s;color:#fff}.cell:hover .meta{opacity:1}.cell .meta .t{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.c-wide{grid-column:span 2}.c-tall{grid-row:span 2}.c-big{grid-column:span 2;grid-row:span 2}.packages{padding:clamp(44px,6vw,84px) 0}.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;border:1px solid var(--border)}.pkg{padding:clamp(24px,2.4vw,40px);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:480px}.pkg:last-child{border-right:0}.pkg-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.pill{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--fg);padding:5px 11px;border-radius:999px}.pkg h3{font-family:var(--font-display);font-weight:700;font-size:clamp(26px,2.4vw,36px);letter-spacing:-.02em;margin-bottom:10px}.pkg .lead{color:var(--muted);font-size:14.5px;line-height:1.6;margin-bottom:26px}.pkg ul{list-style:none;margin-top:auto;display:grid;gap:12px}.pkg li{font-size:13.5px;display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:baseline;color:var(--fg)}.pkg li span{font-family:var(--font-mono);color:var(--muted);font-size:11px}.pkg .price{margin-top:30px;padding-top:22px;border-top:1px solid var(--border);display:flex;align-items:baseline;justify-content:space-between}.pkg .price .amt{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.02em}.pkg .price .from{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.philosophy{padding:clamp(48px,7vw,96px) 0}.phil-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,64px);align-items:center;margin-top:40px}.phil-imgs{display:grid;grid-template-columns:1fr 1fr;gap:14px}.phil-imgs .frame img{filter:grayscale(1) contrast(1.05);width:100%;height:100%;object-fit:cover}.phil-imgs .frame:nth-child(1){aspect-ratio:3 / 4}.phil-imgs .frame:nth-child(2){aspect-ratio:3 / 4;margin-top:40px}.phil-quote{font-family:var(--font-display);font-weight:500;font-size:clamp(24px,3vw,44px);line-height:1.12;letter-spacing:-.02em}.phil-quote em{font-style:normal;color:var(--muted)}.phil-body{margin-top:28px;color:var(--muted);font-size:16px;line-height:1.7;max-width:44ch}.phil-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.phil-steps .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.phil-steps .v{font-size:14px;font-weight:500;margin-top:6px;border-top:1px solid var(--border);padding-top:10px}.contact{padding:clamp(48px,7vw,100px) 0 clamp(40px,5vw,72px)}.contact h2{font-family:var(--font-display);font-weight:700;font-size:clamp(64px,13vw,220px);line-height:.86;letter-spacing:-.05em}.contact-idx{display:block;margin-bottom:20px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,5vw,80px);margin-top:clamp(40px,6vw,72px)}form .row{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.field{border-bottom:1px solid var(--border);padding:18px 0 10px;position:relative}.field label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:0;background:transparent;color:var(--fg);font-family:var(--font-body);font-size:17px;font-weight:500;outline:none;padding:2px 0}.field textarea{resize:vertical;min-height:64px}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.field.invalid{border-color:var(--fg)}.field .err{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--fg);margin-top:6px;height:0;overflow:hidden;opacity:0;transition:.2s}.field.invalid .err{height:14px;opacity:1}.submit{margin-top:36px;background:var(--fg);color:var(--bg);border:1px solid var(--fg);font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:18px 34px;cursor:pointer;transition:.25s;width:100%}.submit:hover{background:transparent;color:var(--fg)}.submit.done{background:transparent;color:var(--muted);cursor:default}.quick h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.quick .lk{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(18px,1.8vw,24px);letter-spacing:-.01em;padding:12px 0;border-bottom:1px solid var(--border);transition:padding-left .25s}.quick .lk:hover{padding-left:12px}.quick .addr{margin-top:30px;color:var(--muted);font-size:14px;line-height:1.7}.footer{border-top:1px solid var(--border);padding:40px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer .tag a{color:var(--muted);transition:color .2s}.footer .tag a:hover{color:var(--fg)}@media (max-width: 1080px){.bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.c-big{grid-column:span 2}.pkg-grid{grid-template-columns:1fr}.pkg{border-right:0;border-bottom:1px solid var(--border);min-height:0}.pkg:last-child{border-bottom:0}.phil-grid,.contact-grid{grid-template-columns:1fr}}@media (max-width: 760px){.nav-links{display:none}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-meta{max-width:420px}form .row,.phil-steps{grid-template-columns:1fr}}@media (max-width: 460px){.bento{grid-template-columns:1fr;grid-auto-rows:260px}.c-wide,.c-big{grid-column:span 1}.hero-duo{gap:10px}}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.rail{border-right:1px solid var(--border);padding:40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.rail .brand{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.01em}.rail h1{font-family:var(--font-display);font-weight:700;font-size:clamp(36px,4.4vw,72px);line-height:.94;letter-spacing:-.04em;max-width:12ch}.rail h1 em{font-style:normal;color:var(--muted)}.rail .foot{display:flex;justify-content:space-between;align-items:center}.rail-img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.14;filter:grayscale(1) contrast(1.1)}.rail-img img{width:100%;height:100%;object-fit:cover}.panel{display:flex;align-items:center;justify-content:center;padding:40px}.card{width:100%;max-width:380px}.card .kick{margin-bottom:10px}.card h2{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-.02em;margin-bottom:6px}.card .sub{color:var(--muted);font-size:14px;margin-bottom:36px}.login-field{border:1px solid var(--border);background:var(--surface);margin-bottom:14px;padding:14px 16px}.login-field label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.login-field input{width:100%;border:0;background:transparent;color:var(--fg);font-family:var(--font-body);font-size:16px;font-weight:500;outline:none}.login-field.invalid{border-color:var(--fg)}.login-btn{width:100%;background:var(--fg);color:var(--bg);border:1px solid var(--fg);font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:16px;cursor:pointer;transition:.25s;margin-top:8px}.login-btn:hover{background:transparent;color:var(--fg)}.note{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--muted);margin-top:20px;line-height:1.7;border-top:1px solid var(--border);padding-top:16px}.err-msg{font-family:var(--font-mono);font-size:11px;color:var(--fg);background:var(--surface);border:1px solid var(--fg);padding:10px 14px;margin-bottom:16px}.row-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.topbar{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,32px);height:62px}.tb-left{display:flex;align-items:center;gap:18px}.tb-left .brand{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.01em}.crumb{color:var(--muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.tb-right{display:flex;align-items:center;gap:14px}.btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;transition:.2s}.btn:hover{border-color:var(--fg)}.btn-solid{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn-solid:hover{background:transparent;color:var(--fg)}.btn-danger:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn:disabled{opacity:.35;cursor:default;border-color:var(--border)}.shell{max-width:1440px;margin:0 auto;padding:clamp(20px,3vw,36px) clamp(18px,3vw,32px)}.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;flex-wrap:wrap}.head h1{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,4vw,48px);letter-spacing:-.03em}.stats{display:flex;gap:0;border:1px solid var(--border)}.stat{padding:12px 20px;border-right:1px solid var(--border)}.stat:last-child{border-right:0}.stat .n{font-family:var(--font-display);font-weight:700;font-size:22px}.stat .l{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:2px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--border);padding:12px 16px;margin-bottom:20px;flex-wrap:wrap;background:var(--surface)}.toolbar .left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sel-info{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.toolbar .right{display:flex;gap:10px}.dropzone{border:1px dashed var(--border);background:var(--surface);padding:34px;text-align:center;margin-bottom:22px;cursor:pointer;transition:.25s;position:relative}.dropzone:hover{border-color:var(--fg)}.dropzone.drag{border-color:var(--fg);border-style:solid;background:color-mix(in oklab,var(--fg) 5%,var(--surface))}.dropzone .big{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.02em;margin-bottom:6px}.dropzone .sm{color:var(--muted);font-size:13px}.dropzone .arrow{font-family:var(--font-display);font-size:30px;display:block;margin-bottom:10px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.item{border:1px solid var(--border);background:var(--surface);position:relative;cursor:grab;transition:border-color .2s,opacity .2s,transform .2s;overflow:hidden}.item:active{cursor:grabbing}.item.dragging{opacity:.4;border-color:var(--fg)}.item.over{border-color:var(--fg);transform:scale(.98)}.item.selected{border-color:var(--fg);box-shadow:inset 0 0 0 2px var(--fg)}.item .ph{aspect-ratio:4 / 5;overflow:hidden;background:var(--bg)}.item .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02)}.item .bar{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-top:1px solid var(--border)}.item .fn{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .ord{font-family:var(--font-mono);font-size:10px;font-weight:700}.chk{position:absolute;top:10px;left:10px;width:22px;height:22px;border:1px solid var(--fg);background:color-mix(in oklab,var(--bg) 70%,transparent);display:grid;place-items:center;cursor:pointer;z-index:2;font-family:var(--font-mono);font-size:12px;color:transparent;transition:.15s}.item.selected .chk{background:var(--fg);color:var(--bg)}.handle{position:absolute;top:10px;right:10px;z-index:2;font-family:var(--font-mono);font-size:14px;color:#fff;background:#0006;width:24px;height:24px;display:grid;place-items:center;opacity:0;transition:.2s}.item:hover .handle{opacity:1}.publish{position:absolute;bottom:44px;left:10px;z-index:2;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:#0000008c;color:#fff;padding:3px 7px;cursor:pointer;border:0}.publish.hidden-state{background:#0000004d}.empty{border:1px solid var(--border);padding:60px;text-align:center;color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(80px);background:var(--fg);color:var(--bg);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;z-index:200;transition:transform .35s cubic-bezier(.2,0,.1,1),opacity .35s;opacity:0;pointer-events:none}.toast.show{transform:translate(-50%) translateY(0);opacity:1}@media (max-width: 820px){.login{grid-template-columns:1fr}.rail{display:none}.panel{padding:28px}}@media (max-width: 600px){.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.stats{display:none}}:root{--bg: #f4f3f0;--surface: #fbfaf8;--fg: #131211;--muted: #6b6862;--border: #d9d6d0;--hairline: #c9c5be;--invert-bg: #131211;--invert-fg: #f4f3f0;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, Menlo, monospace;--maxw: 1440px;--gut: clamp(20px, 4vw, 72px)}[data-theme=dark]{--bg: #0e0d0c;--surface: #161513;--fg: #efece6;--muted: #8a867e;--border: #2b2926;--hairline: #332f2b;--invert-bg: #efece6;--invert-fg: #0e0d0c}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .5s ease,color .5s ease;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.display{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:.95}.mono{font-family:var(--font-mono)}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}.section{border-top:1px solid var(--border)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:28px 0 0;flex-wrap:wrap}.section-head .idx{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--muted)}.frame{border:1px solid var(--border);overflow:hidden;background:var(--surface);position:relative}.frame img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,0,.1,1)}.theme-toggle{width:52px;height:28px;border:1px solid var(--border);background:var(--surface);border-radius:0;cursor:pointer;position:relative;padding:0;display:inline-flex;align-items:center}.theme-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--fg);transition:transform .3s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .theme-toggle:after{transform:translate(24px)}.theme-toggle .ico{position:absolute;font-size:10px;font-family:var(--font-mono);color:var(--muted)}.theme-toggle .sun{right:6px}.theme-toggle .moon{left:7px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,0,.1,1),transform .9s cubic-bezier(.2,0,.1,1)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.cell img,.frame img{transition:none}}
