@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap";.site-header{background:var(--color-nav-bg);border-bottom:1px solid var(--color-nav-border);z-index:1000;width:100%;position:sticky;top:0;box-shadow:0 4px 16px #0000000f}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 0;display:flex}.logo{color:var(--color-primary);letter-spacing:.02em;flex-shrink:0;font-family:Montserrat,sans-serif;font-size:1.3rem;font-weight:700;text-decoration:none}.logo:hover{color:var(--color-accent)}.header-right{align-items:center;display:flex}.main-nav ul{align-items:center;gap:2rem;list-style:none;display:flex}.nav-link{color:var(--color-nav-text);letter-spacing:.03em;font-size:.95rem;text-decoration:none;transition:color .15s}.nav-link:hover{color:var(--color-nav-text-hover)}.nav-link--active{border-bottom:2px solid var(--color-nav-underline);color:var(--color-accent);padding-bottom:.2rem}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:none}.hamburger span{background:var(--color-nav-text);border-radius:2px;width:24px;height:2px;transition:transform .25s,opacity .25s;display:block}.hamburger--open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger--open span:nth-child(2){opacity:0}.hamburger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=768px){.hamburger{display:flex}.header-inner{flex-wrap:wrap;gap:0;padding:.75rem 1rem}.logo{flex:1}.header-right{border-top:1px solid var(--color-nav-border);flex-direction:column;align-items:flex-start;width:100%;padding:.5rem 0 1rem;display:none}.header-right--open{display:flex}.main-nav{width:100%}.main-nav ul{flex-direction:column;align-items:flex-start;gap:0;width:100%}.main-nav li{width:100%}.nav-link{border-bottom:1px solid var(--color-nav-border);width:100%;padding:.75rem 0;display:block}.nav-link--active{border-bottom:1px solid var(--color-nav-border);padding-bottom:.75rem}}.site-footer{background:var(--color-footer-bg);color:var(--color-footer-text);padding:1.25rem 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.footer-brand{color:var(--color-accent-light);font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700}.footer-copy{opacity:.7;font-size:.85rem}.page-hero{background:var(--color-bg-light);border-bottom:1px solid var(--color-border);padding:2rem 1.5rem}@media (width>=768px){.page-hero{padding:2.5rem 1.5rem}}.page-hero__title{color:var(--color-primary);margin-bottom:.4rem}.page-hero__subtitle{color:var(--color-text-muted);margin:0;font-size:1rem}.home-intro{padding:var(--spacing-xl) 0 var(--spacing-lg)}.home-intro p{color:var(--color-text-muted);max-width:680px;font-size:1.05rem;line-height:1.7}.home-links{padding:0 0 var(--spacing-xl)}.home-links h2{margin-bottom:var(--spacing-md);color:var(--color-primary)}.link-cards{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}@media (width<=640px){.link-cards{grid-template-columns:1fr}}.link-card{border:1px solid var(--color-border);color:inherit;background:#fff;border-radius:10px;flex-direction:column;gap:.5rem;padding:1.75rem 1.5rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.link-card:hover{border-color:var(--color-accent-light);transform:translateY(-2px);box-shadow:0 8px 24px #3d2b1f1a}.link-card--placeholder{opacity:.55;cursor:default;pointer-events:none}.link-card__badge{background:var(--color-accent);color:#fff;text-transform:uppercase;letter-spacing:.08em;border-radius:3px;width:fit-content;padding:.2rem .55rem;font-size:.7rem;font-weight:700;display:inline-block}.link-card__badge--dim{background:var(--color-text-muted)}.link-card__title{color:var(--color-primary);margin:0;font-family:Montserrat,sans-serif;font-size:1.05rem;font-weight:600}.link-card__desc{color:var(--color-text-muted);flex:1;font-size:.93rem;line-height:1.6}.link-card__cta{color:var(--color-accent);margin-top:.25rem;font-size:.88rem;font-weight:600}.gallery-title{margin:2rem 0 1.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (width<=600px){.gallery-grid{grid-template-columns:1fr}}.gallery-card{cursor:pointer;border-radius:6px;transition:transform .15s;overflow:hidden}.gallery-card:hover{transform:scale(1.02)}.gallery-card__thumb{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.gallery-card__title{margin:.5rem 0 .25rem;font-size:1.1rem}.gallery-card__desc{color:#666;margin:0;font-size:.9rem}.project-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08080cf2;flex-direction:column;animation:.25s projectOverlayFadeIn;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes projectOverlayFadeIn{0%{opacity:0}to{opacity:1}}.project-overlay__header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#08080ce6;border-bottom:1px solid #c4a46926;flex-shrink:0;padding:1.5rem 2rem 1rem;position:relative}.project-overlay__close{z-index:1;color:#e8dcc8;cursor:pointer;background:#1a1c28;border:1px solid #c4a46966;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;line-height:1;transition:background .15s;display:flex;position:absolute;top:1.25rem;right:1.5rem}.project-overlay__close:hover{background:#2a2c38}.project-overlay__name{color:#e8dcc8;margin:0 0 .25rem;padding-right:3rem;font-family:Playfair Display,Georgia,serif;font-size:1.5rem}.project-overlay__desc{color:#a8a098;margin:0;font-size:.95rem;line-height:1.5}.project-overlay__body{scrollbar-width:none;-ms-overflow-style:none;flex:1;padding:1.25rem 2rem 2rem;overflow-y:auto}.project-overlay__body::-webkit-scrollbar{display:none}.project-overlay__grid{grid-template-columns:repeat(3,1fr);gap:10px;animation:.3s .1s both projectGridFadeIn;display:grid}@keyframes projectGridFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.project-overlay__thumb{aspect-ratio:4/3;cursor:pointer;border:1px solid #c4a46926;border-radius:6px;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.project-overlay__thumb:hover{border-color:#c4a46980;transform:scale(1.03)}.project-overlay__thumb img{object-fit:cover;width:100%;height:100%;display:block}.project-overlay__play-badge{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-overlay__play-icon{background:#0009;border:2px solid #fffc;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.project-overlay__play-icon:after{content:"";border:8px solid #0000;border-left:14px solid #ffffffe6;border-right-width:0;width:0;height:0;margin-left:3px;display:block}@media (width<=600px){.project-overlay__grid{grid-template-columns:repeat(2,1fr)}.project-overlay__header{padding:1rem 1.25rem .75rem}.project-overlay__body{padding:1rem 1.25rem 1.25rem}.project-overlay__name{font-size:1.25rem}.project-overlay__close{top:.85rem;right:1rem}}.yarl__slide_captions_container{background:var(--yarl__slide_captions_container_background,#00000080);left:var(--yarl__slide_captions_container_left,0);padding:var(--yarl__slide_captions_container_padding,16px);right:var(--yarl__slide_captions_container_right,0);position:absolute;-webkit-transform:translateZ(0)}.yarl__slide_title{color:var(--yarl__slide_title_color,#fff);font-size:var(--yarl__slide_title_font_size,125%);font-weight:var(--yarl__slide_title_font_weight,bolder);max-width:calc(100% - var(--yarl__toolbar_width,0px));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.yarl__slide_title_container{top:var(--yarl__slide_title_container_top,0)}.yarl__slide_description{-webkit-hyphens:auto;hyphens:auto;color:var(--yarl__slide_description_color,#fff);-webkit-line-clamp:var(--yarl__slide_description_max_lines,3);text-align:var(--yarl__slide_description_text_align,start);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.yarl__slide_description_container{bottom:var(--yarl__slide_description_container_bottom,0)}.yarl__fullsize{width:100%;height:100%}.yarl__relative{position:relative}.yarl__portal{opacity:0;pointer-events:auto;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999);position:fixed;inset:0;overflow:hidden}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none;outline:none;position:absolute;inset:0;overflow:hidden}.yarl__carousel{height:100%;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px,0)*1px + var(--yarl__carousel_spacing_percent,0)*1%));flex:none;place-content:center;align-items:stretch;display:flex}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_spacing_percent,0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_spacing_percent,0)*1%)}.yarl__flex_center{place-content:center;align-items:center;display:flex}.yarl__slide{padding:calc(var(--yarl__carousel_padding_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_padding_percent,0)*1%);flex:1;position:relative;overflow:hidden}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100%;max-height:100%}.yarl__slide_image_cover{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.yarl__slide_image_loading{opacity:0}@media screen and (width>=800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d;-webkit-transform:translateZ(0)}}.yarl__slide_placeholder{line-height:0;position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)}.yarl__slide_loading{color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,#fffc));animation:1s linear yarl__delayed_fadein}.yarl__slide_loading line{animation:1s linear infinite yarl__stroke_opacity}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{padding:var(--yarl__toolbar_padding,8px);justify-content:flex-end;display:flex;position:absolute;inset:0 0 auto auto}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,#fffc);cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px #000c));margin:var(--yarl__button_margin,0);padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent;outline:none;line-height:0}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,#fffc)}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,#fff6);cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%)rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%)rotate(180deg)}.yarl__no_scroll{overscroll-behavior:none;height:100%;overflow:hidden}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}:root{--color-bg:#faf7f2;--color-bg-light:#f0ebe3;--color-primary:#3d2b1f;--color-accent:#b87333;--color-accent-light:#d4924e;--color-text:#2a201a;--color-text-muted:#6b5a50;--color-border:#ddd0c4;--color-nav-bg:#fff;--color-nav-border:#ede6de;--color-nav-text:#2a201a;--color-nav-text-hover:#b87333;--color-nav-underline:#b87333;--color-footer-bg:#3d2b1f;--color-footer-text:#f5ede4;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:Arial,sans-serif;line-height:1.6}h1{margin-bottom:1rem;font-family:Montserrat,sans-serif;font-size:1.4rem;font-weight:700}@media (width>=768px){h1{font-size:2rem}}h2{margin-bottom:.75rem;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600}@media (width>=768px){h2{font-size:1.4rem}}.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}.page-container{max-width:960px;margin:0 auto;padding:0 1.5rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1}
