:root{--paper:oklch(97.5% .008 80);--porcelain:oklch(95.3% .013 80);--porcelain-2:oklch(91.5% .017 80);--ink:oklch(20% .012 60);--ink-2:oklch(40% .013 60);--muted:oklch(55% .013 60);--cobalt:oklch(47% .16 262);--cobalt-2:oklch(42% .16 262);--amber:oklch(60% .11 55);--opt-green:oklch(82% .045 150);--line:color-mix(in oklch, var(--ink) 13%, transparent);--line-2:color-mix(in oklch, var(--ink) 7%, transparent);--display:"Bodoni Moda", Georgia, serif;--body:"Sora", system-ui, sans-serif;--wrap:1280px;--pad:clamp(20px, 5vw, 76px);--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}html,body{overflow-x:clip}@supports not (overflow-x:clip){html,body{overflow-x:hidden}}body{background:var(--porcelain);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:17px;font-weight:400;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--display);letter-spacing:-.005em;font-weight:600;line-height:1}.app{overflow:clip}:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}.ex-banner{z-index:200;background:var(--ink);height:34px;color:var(--paper);align-items:center;gap:12px;padding:0 16px;font-size:12px;display:flex;position:fixed;top:0;left:0;right:0}.ex-tag{font-family:var(--body);letter-spacing:.03em;background:var(--cobalt);color:#fff;border-radius:2px;padding:3px 9px;font-size:10.5px;font-weight:600}.ex-msg{color:color-mix(in oklch, var(--paper) 74%, transparent)}@media (width<=600px){.ex-msg{font-size:10.5px;line-height:1.15}}.nav{z-index:150;padding:18px var(--pad);color:var(--ink);transition:background .4s var(--ease), padding .3s, border-color .4s;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:34px;left:0;right:0}.nav.is-solid{background:color-mix(in oklch, var(--porcelain) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--line-2);padding-top:12px;padding-bottom:12px}.brand{font-family:var(--display);letter-spacing:-.01em;align-items:baseline;gap:9px;font-size:25px;font-weight:700;display:inline-flex}.brand-sub{font-family:var(--body);color:var(--muted);letter-spacing:.02em;font-size:14px;font-weight:400}.nav-links{gap:28px;font-size:15px;font-weight:400;display:flex}.nav-links a{color:var(--ink-2);transition:color .2s}.nav-links a:hover{color:var(--ink)}@media (width<=760px){.nav-links{display:none}}.btn{font-family:var(--body);transition:transform .2s var(--ease), background .2s, color .2s;border-radius:2px;align-items:center;gap:9px;padding:12px 22px;font-size:15px;font-weight:500;display:inline-flex}.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--cobalt);transform:translateY(-2px)}.btn-line{border:1px solid var(--line);color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.btn-wide{justify-content:center;width:100%;padding:15px}.hero{padding:clamp(120px, 17vh, 200px) var(--pad) clamp(60px, 8vw, 100px)}.hero-grid{max-width:var(--wrap);grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(30px,5vw,70px);margin:0 auto;display:grid}.hero-loc{color:var(--muted);margin-bottom:clamp(18px,3vh,30px);font-size:14px}.hero-title{font-family:var(--display);letter-spacing:-.012em;font-size:clamp(3rem,8vw,7rem);font-weight:600;line-height:.98}.h-rise{display:block;overflow:hidden}.h-rise>*{display:block}.hero-title em{color:var(--cobalt);font-style:italic}.hero-foot{margin-top:clamp(28px,4vh,44px)}.hero-sub{color:var(--ink-2);max-width:40ch;font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.5}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero-media{position:relative}.lens-wrap{aspect-ratio:4/5;background:var(--porcelain-2);cursor:crosshair;position:relative;overflow:hidden}.lens-wrap img{object-fit:cover;width:100%;height:100%}.lens{pointer-events:none;opacity:0;width:168px;height:168px;box-shadow:0 18px 50px -16px color-mix(in oklch, var(--ink) 55%, transparent), inset 0 0 0 2px color-mix(in oklch, var(--paper) 80%, transparent);background-repeat:no-repeat;border-radius:50%;transition:opacity .25s;position:absolute;transform:translate(-50%,-50%)}.hero-hint{color:var(--muted);text-align:right;margin-top:12px;font-size:12.5px}@media (width<=860px){.hero-grid{grid-template-columns:1fr;gap:30px}.hero-media{order:2}.lens-wrap{aspect-ratio:16/11}.hero-hint{display:none}}.sec-head{max-width:var(--wrap);margin:0 auto}.sec-head h2,.exams-head h2,.book-copy h2{letter-spacing:-.01em;max-width:18ch;font-size:clamp(2rem,4.6vw,3.5rem)}.sec-lead{color:var(--muted);max-width:52ch;margin-top:18px;font-size:1.1rem;line-height:1.55}.frames{padding:clamp(80px, 12vw, 150px) var(--pad);background:var(--paper)}.frame-grid{max-width:var(--wrap);grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,36px);margin:clamp(40px,6vw,70px) auto 0;display:grid}.frame-img{aspect-ratio:4/5;background:var(--porcelain-2);overflow:hidden}.frame-img img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease)}.frame:hover .frame-img img{transform:scale(1.05)}.frame figcaption{padding-top:18px}.frame figcaption h3{font-size:1.5rem}.frame figcaption p{color:var(--muted);margin-top:6px;font-size:.95rem}.frame-spec{color:var(--ink-2);margin-left:6px}.frame-link{color:var(--cobalt);border-bottom:1px solid;margin-top:12px;padding-bottom:1px;font-size:14px;display:inline-block}@media (width<=760px){.frame-grid{grid-template-columns:1fr;gap:30px;max-width:440px}}.exams{padding:clamp(80px, 12vw, 150px) var(--pad)}.exams-inner{max-width:var(--wrap);grid-template-columns:.95fr 1.05fr;align-items:start;gap:clamp(36px,5vw,80px);margin:0 auto;display:grid}.exams-head .btn{margin-top:26px}.exam-list{list-style:none}.exam-row{border-top:1px solid var(--line-2);padding:clamp(22px,2.6vw,32px) 0}.exam-row:last-child{border-bottom:1px solid var(--line-2)}.exam-row h3{font-size:clamp(1.3rem,1.9vw,1.7rem)}.exam-row p{color:var(--ink-2);max-width:50ch;margin-top:8px;font-size:1.02rem;line-height:1.5}@media (width<=820px){.exams-inner{grid-template-columns:1fr;gap:30px}}.studio{background:var(--cobalt);color:var(--paper);padding:clamp(80px, 13vw, 160px) var(--pad)}.studio-inner{max-width:980px;margin:0 auto}.studio-quote{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(1.7rem,4vw,3.1rem);font-weight:500;line-height:1.15}.studio-by{font-family:var(--body);color:color-mix(in oklch, var(--paper) 76%, transparent);margin-top:26px;font-size:14px}.book{padding:clamp(80px, 12vw, 150px) var(--pad)}.book-grid{max-width:var(--wrap);grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,90px);margin:0 auto;display:grid}.book-lead{color:var(--ink-2);max-width:38ch;margin-top:20px;font-size:1.1rem;line-height:1.5}.book-where{color:var(--muted);margin-top:24px;font-size:14px}.book-form{flex-direction:column;gap:24px;display:flex}.fld{flex-direction:column;gap:8px;display:flex}.fld label{color:var(--muted);font-size:13px;font-weight:500}.fld input,.fld select{font-family:var(--body);border:none;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;padding:10px 2px;font-size:16px;transition:border-color .25s}.fld input:focus,.fld select:focus{border-bottom-color:var(--cobalt);outline:none}.book-fine{color:var(--muted);font-size:12.5px}@media (width<=820px){.book-grid{grid-template-columns:1fr;gap:34px}}.foot{background:var(--ink);color:var(--paper);padding:clamp(56px, 8vw, 100px) var(--pad) 40px;overflow:hidden}.foot-word{font-family:var(--display);letter-spacing:-.02em;color:color-mix(in oklch, var(--paper) 94%, transparent);margin-bottom:clamp(28px,5vw,54px);font-size:clamp(4.5rem,22vw,18rem);font-weight:700;line-height:.82}.foot-row{max-width:var(--wrap);flex-wrap:wrap;justify-content:space-between;gap:18px;display:flex}.foot-fine{color:color-mix(in oklch, var(--paper) 52%, transparent);font-size:14px}.foot-credit{color:color-mix(in oklch, var(--paper) 80%, transparent);max-width:40ch;font-size:15px}.foot-credit a{color:var(--paper);border-bottom:1px solid var(--cobalt)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.frame:hover .frame-img img{transform:none}}
