@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/47faf0e9117ce2e3-s.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/660acf689794c992-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.qm_jRa_className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.qm_jRa_variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b0e156020fd1d73f-s.013x9cty0dvbp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/ece6651c07dc3133-s.054a9rxhye2rx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/1d0bb6ba8433fca1-s.12c_00cnxx2oq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/9d036f80216c14ee-s.p.2r-cuu_7locvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.dzKyxW_className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.dzKyxW_variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
:root{--bg:#fff;--surface:#f4f6f9;--navy:#0b132b;--navy-2:#1c2541;--cream:#f4d6b0;--text:#253041;--muted:#5a6475;--line:#e2e6ec;--line-strong:#c9d0da;--amber:#d97706;--amber-hover:#b86304;--link-hover:#9a4a00;--focus:#1d6fa3;--danger:#a12c2c;--font-sans:var(--font-dm-sans), "DM Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-serif:var(--font-playfair), "Playfair Display", Georgia, "Times New Roman", serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--header-h:72px;--max-w:1200px;--gutter:clamp(20px, 5vw, 64px);--pad-x:max(var(--gutter), calc((100% - var(--max-w)) / 2));--section-y:clamp(64px, 8vw, 112px);--radius:4px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-4));-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;font-size:1rem;line-height:1.6;display:flex}main{flex:1}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img,svg,video{max-width:100%;display:block}h1,h2,h3,h4,p,ul,ol{margin-top:0}h1,h2,h3,h4{color:var(--navy);text-wrap:balance;font-weight:500;line-height:1.12}h1,h2{font-family:var(--font-serif);letter-spacing:-.015em}h1 em,h2 em,h3 em{font-style:inherit;color:inherit}p{text-wrap:pretty;line-height:1.7}small{font-size:.8125rem}::selection{color:var(--navy);background:#f6ddbb}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{top:-100px;left:var(--space-5);z-index:100;padding:var(--space-3) var(--space-5);background:var(--navy);color:#fff;font-weight:600;position:absolute}.skip-link:focus{top:var(--space-3)}.eyebrow{color:var(--muted);font-size:.875rem;display:block}.muted{color:var(--muted)}.inline-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.stack{gap:var(--space-4);display:grid}.stack .field{margin-bottom:0}.site-header{z-index:50;height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--space-6);padding:0 var(--pad-x);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);flex:none;display:flex}.brand img{border-radius:50%;width:40px;height:40px}.brand span{font-family:var(--font-serif);color:var(--navy);white-space:nowrap;font-size:1.125rem;font-weight:500}.nav-wrap,.site-header nav{align-items:center;gap:var(--space-6);display:flex}.site-header nav a{padding:var(--space-2) 0;color:var(--text);white-space:nowrap;border-bottom:1px solid #0000;font-size:.9375rem;transition:color .15s,border-color .15s}.site-header nav a:hover{color:var(--navy);border-bottom-color:var(--line-strong)}.site-header nav a[aria-current=page]{color:var(--navy);border-bottom-color:var(--navy)}.nav-cta{min-height:42px;padding:0 var(--space-5);border:1px solid var(--navy);border-radius:var(--radius);color:var(--navy);white-space:nowrap;align-items:center;font-size:.9375rem;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.nav-cta:hover,.nav-cta[aria-current=page]{background:var(--navy);color:#fff}.menu-toggle{border:1px solid var(--line-strong);border-radius:var(--radius);width:44px;height:44px;color:var(--navy);background:#fff;justify-content:center;align-items:center;padding:0;display:none}.menu-icon,.menu-icon:before,.menu-icon:after{background:currentColor;width:18px;height:1.5px;transition:transform .2s,background-color .2s;display:block}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.site-header[data-open=true] .menu-icon{background:0 0}.site-header[data-open=true] .menu-icon:before{transform:translateY(6px)rotate(45deg)}.site-header[data-open=true] .menu-icon:after{transform:translateY(-6px)rotate(-45deg)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border:1px solid var(--navy);border-radius:var(--radius);color:var(--navy);text-align:center;background:#fff;font-size:.9375rem;font-weight:600;line-height:1.2;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.button:hover{background:var(--navy);color:#fff}.button-amber{background:var(--amber);border-color:var(--amber);color:var(--navy)}.button-amber:hover{background:var(--amber-hover);border-color:var(--amber-hover);color:var(--navy)}.button-outline,.button-ghost{border-color:var(--line-strong);background:0 0}.button-outline:hover,.button-ghost:hover{border-color:var(--navy)}.button:disabled{opacity:.6;cursor:wait}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover{background:#82211f}.text-link{color:var(--navy);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:5px;font-size:.9375rem;font-weight:600;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s;display:inline-block}.text-link:hover{color:var(--link-hover);text-decoration-color:currentColor}.section{padding:var(--section-y) var(--pad-x)}.section+.section{padding-top:0}.hero{padding-top:clamp(40px,5vw,72px)}.hero-top{gap:var(--space-5) var(--space-7);padding:0 var(--pad-x);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;display:grid}.hero h1{margin:0;font-size:clamp(2.75rem,5.6vw,5rem);line-height:1.04}.hero-side p{max-width:34rem;margin-bottom:var(--space-5);color:var(--muted);font-size:1.125rem}.hero-actions{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.carousel{--tint-navy:.68;--tint-amber:.42;isolation:isolate;padding:var(--space-7) 0 var(--space-6);background:var(--navy);color:#fff;position:relative;overflow:hidden}.carousel :focus-visible{outline-color:#fff}.carousel-backdrop{z-index:-1;pointer-events:none;position:absolute;inset:0}.carousel-backdrop img{object-fit:cover;filter:blur(40px)saturate(1.15);width:100%;height:100%;animation:.5s backdrop-in;transform:scale(1.2)}.carousel-backdrop:after{content:"";background:linear-gradient(135deg, rgba(11, 19, 43, var(--tint-navy)) 0%, rgba(11, 19, 43, calc(var(--tint-navy) - .12)) 45%, rgba(217, 119, 6, var(--tint-amber)) 100%);position:absolute;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.carousel-track{--slide-w:clamp(220px, 24vw, 330px);padding:0 calc(50% - var(--slide-w) * .47) var(--space-2);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0;list-style:none;display:flex;position:relative;overflow-x:auto}.carousel-track:has(.carousel-emblem){--slide-w:min(100% - 2 * var(--gutter), 560px);padding-inline:calc(50% - var(--slide-w) / 2)}.carousel-track::-webkit-scrollbar{display:none}.carousel-track:focus-visible{outline-offset:-2px;outline:2px solid #fff}.carousel-slide{--focus:0;flex:0 0 var(--slide-w);margin-inline:calc(var(--slide-w) * -.03);scroll-snap-align:center;transform:scale(calc(.82 + .18 * var(--focus)));transform-origin:50% 42%;cursor:pointer}.carousel-slide[data-active=true]{z-index:1}.carousel-slide figure{margin:0}.carousel-image{aspect-ratio:4/5;box-shadow:0 2px 4px #0000001f, 0 24px 48px rgba(0, 0, 0, calc(.18 + .17 * var(--focus)));background:#fff;border-radius:2px;padding:10px;overflow:hidden}.carousel-image img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;filter:saturate(calc(.2 + .8 * var(--focus))) brightness(calc(.9 + .1 * var(--focus)));border-radius:1px;transition:transform .5s}.carousel-link:hover .carousel-image img{transform:scale(1.03)}.carousel-slide figcaption{padding-top:var(--space-3);opacity:calc(var(--focus) * 2 - 1)}.carousel-slide figcaption small{color:#ffffffc7;display:block}.carousel-slide figcaption span{font-family:var(--font-serif);color:#fff;text-shadow:0 1px 8px #00000059;font-size:1.125rem}.carousel-link:hover figcaption span{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.carousel-emblem{--focus:1;cursor:default;margin-inline:0}.carousel-emblem .carousel-image{aspect-ratio:16/10;background:radial-gradient(120% 90% at 50% 20%, #17304a 0%, var(--navy) 60%);place-items:center;padding:0;display:grid}.carousel-emblem .carousel-image img{object-fit:contain;filter:none;width:auto;height:76%}.carousel-controls{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--gutter) 0;display:flex}.carousel-count{text-align:center;color:#ffffffd9;font-variant-numeric:tabular-nums;min-width:4.5em;font-size:.875rem}.carousel-button{color:#fff;background:0 0;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:border-color .15s,background-color .15s,color .15s;display:inline-grid}.carousel-button:hover:not(:disabled){color:var(--navy);background:#fff;border-color:#fff}.carousel-button:disabled{opacity:.35;cursor:default}.carousel-thumbs{justify-content:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-1) var(--gutter);scrollbar-width:none;display:flex;overflow-x:auto}.carousel-thumbs::-webkit-scrollbar{display:none}.carousel-thumb{opacity:.5;background:#ffffff26;border:2px solid #0000;border-radius:3px;flex:none;width:40px;height:50px;padding:0;transition:opacity .15s,border-color .15s;overflow:hidden}.carousel-thumb img{object-fit:cover;filter:grayscale();width:100%;height:100%}.carousel-thumb:hover{opacity:.85}.carousel-thumb[aria-current=true]{opacity:1;border-color:#fff}.carousel-thumb[aria-current=true] img{filter:none}.section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.section-heading h2,.about-section h2,.contact-band h2{margin:0;font-size:clamp(2rem,3.6vw,3rem)}.section-heading p{max-width:36rem;margin:var(--space-3) 0 0;color:var(--muted)}.project-grid{gap:var(--space-6) var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-card{display:block}.project-art{aspect-ratio:4/5;border-radius:var(--radius);background:var(--surface);position:relative;overflow:hidden}.project-art img{object-fit:cover;width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.project-card:hover .project-art img{transform:scale(1.03)}.project-placeholder{font-family:var(--font-serif);color:var(--muted);place-items:center;font-size:1.25rem;display:grid;position:absolute;inset:0}.project-meta{padding-top:var(--space-4)}.project-meta small{color:var(--muted)}.project-meta h3{margin:var(--space-1) 0 0;font-family:var(--font-serif);font-size:1.375rem}.project-card:hover h3{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.empty-editorial{border-radius:var(--radius);background:var(--surface);padding:clamp(32px,5vw,56px)}.empty-editorial h3{margin-bottom:var(--space-3);font-family:var(--font-serif);font-size:clamp(1.5rem,2.6vw,2rem)}.empty-editorial p{max-width:38rem;color:var(--muted)}.empty-editorial .eyebrow{margin-bottom:var(--space-3)}.service-list{gap:0 var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.service-list li{padding:var(--space-5) 0 var(--space-6);border-top:1px solid var(--line)}.service-list h3{margin-bottom:var(--space-2);font-family:var(--font-serif);font-size:1.5rem}.service-list p{color:var(--muted);margin:0}.about-section{gap:var(--space-7);padding:0 var(--pad-x) var(--section-y);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.about-section .about-right{max-width:40rem}.about-right p{font-size:1.0625rem}.contact-band{justify-content:space-between;align-items:center;gap:var(--space-6);margin:0 var(--pad-x) var(--section-y);border-radius:var(--radius);background:var(--surface);padding:clamp(32px,5vw,56px);display:flex}.contact-band p{max-width:34rem;margin:var(--space-3) 0 0;color:var(--muted)}.contact-band .button{flex:none}.section.page-section{min-height:60vh;padding-top:clamp(40px,6vw,80px)}.page-heading{max-width:48rem;margin-bottom:var(--space-7)}.page-heading .eyebrow{margin-bottom:var(--space-3)}.page-heading h1{margin-bottom:var(--space-4);font-size:clamp(2.5rem,5vw,4rem)}.page-heading p{max-width:40rem;color:var(--muted);font-size:1.125rem}.page-heading .button{margin:var(--space-2) 0 var(--space-4)}.page-heading form{margin-bottom:var(--space-4)}.page-section>.text-link{margin-bottom:var(--space-6)}.page-section>h1{font-size:clamp(2.25rem,4.5vw,3.5rem)}.feature-image{object-fit:cover;border-radius:var(--radius);width:100%;max-height:780px}.large-placeholder{border-radius:var(--radius);background:var(--surface);min-height:320px;color:var(--muted);place-items:center;display:grid}.work-gallery{gap:var(--space-4);margin-top:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.work-gallery img{border-radius:var(--radius);background:var(--surface);width:100%;height:auto}.legal{max-width:46rem}.legal h1{margin-bottom:var(--space-3);font-size:clamp(2.25rem,5vw,3.5rem)}.legal h2{margin:var(--space-7) 0 var(--space-3);font-size:clamp(1.375rem,2.6vw,1.75rem)}.legal a{text-underline-offset:3px;text-decoration:underline}.form-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:clamp(32px,6vw,80px);display:grid}.form-layout aside h2{margin-bottom:var(--space-4);font-size:1.5rem}.form-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:clamp(24px,4vw,48px)}.form-narrow{max-width:520px}.form-panel h2{margin-bottom:var(--space-2);font-size:clamp(1.5rem,2.6vw,2rem)}.form-panel>.muted{margin-bottom:var(--space-6)}.fields{gap:var(--space-5) var(--space-4);grid-template-columns:1fr 1fr;display:grid}.field{gap:var(--space-2);color:var(--navy);flex-direction:column;font-size:.875rem;font-weight:600;display:flex}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:var(--space-3) 14px;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);background:#fff;font-size:1rem;font-weight:400;transition:border-color .15s}.field input::placeholder,.field textarea::placeholder{color:#8a93a0}.field input:hover,.field select:hover,.field textarea:hover{border-color:#9aa5b2}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.field textarea{resize:vertical;min-height:140px}.form-submit{margin-top:var(--space-5)}.privacy-check{align-items:center;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;font-size:.9375rem;display:flex}.privacy-check input{width:18px;height:18px;accent-color:var(--navy)}.privacy-check a{text-underline-offset:3px;text-decoration:underline}.cf-turnstile,.spam-check:not(:empty){margin-top:var(--space-5)}.notice{margin-top:var(--space-4);padding:var(--space-4);border-left:3px solid var(--amber);border-radius:0 var(--radius) var(--radius) 0;background:#fbf3e6;font-size:.9375rem}.notice.error{border-color:var(--danger);background:#fcecec}.step-list{gap:var(--space-5);margin:0 0 var(--space-6);counter-reset:step;padding:0;list-style:none;display:grid}.step-list li{counter-increment:step;padding-left:40px;position:relative}.step-list li:before{content:counter(step);background:var(--surface);width:28px;height:28px;color:var(--navy);border-radius:50%;place-items:center;font-size:.875rem;font-weight:600;display:grid;position:absolute;top:0;left:0}.step-list b{margin-bottom:var(--space-1);color:var(--navy);display:block}.step-list p{color:var(--muted);margin:0}.card-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.gallery-tile{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:border-color .15s,box-shadow .15s;display:block}.gallery-tile:hover{border-color:var(--line-strong);box-shadow:0 8px 28px #0b132b12}.gallery-tile small{color:var(--muted)}.gallery-tile h3{margin:var(--space-2) 0;font-family:var(--font-serif);font-size:1.5rem}.gallery-tile p{margin-bottom:var(--space-4);color:var(--muted)}.asset-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.asset-tile{flex-direction:column;display:flex}.asset-preview{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--surface);width:100%;color:var(--muted);font-size:.875rem}.asset-filename{margin:var(--space-2) 0 var(--space-1);color:var(--muted);overflow-wrap:anywhere;font-size:.875rem}.asset-download{color:var(--navy);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);font-size:.9375rem;font-weight:600}.asset-download:hover{color:var(--link-hover);text-decoration-color:currentColor}.admin-block{margin:var(--space-5) 0;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:#fff}.admin-block h2{font-size:1.75rem}.admin-block details{padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.admin-block details>form{margin:var(--space-5) 0}.admin-block input[type=checkbox]{width:auto;min-height:0}.admin-block .button,.form-panel .button{width:fit-content}summary{cursor:pointer;color:var(--navy);font-weight:600;line-height:1.6}.admin-actions{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.metric-grid{gap:var(--space-4);margin:var(--space-6) 0;grid-template-columns:repeat(3,1fr);display:grid}.metric-grid div{padding:var(--space-5);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-size:.9375rem}.metric-grid strong{font-family:var(--font-serif);color:var(--navy);font-size:2rem;font-weight:500;display:block}.table-wrap{overflow-x:auto}.plain-table{border-collapse:collapse;width:100%;font-size:.9375rem}.plain-table td,.plain-table th{border-bottom:1px solid var(--line);text-align:left;padding:14px}.plain-table select{padding:7px}.button-small{min-height:38px;padding:0 var(--space-4);font-size:.875rem}button.danger-outline{color:var(--danger);background:#fff;border-color:#e3c4c4}button.danger-outline:hover{background:var(--danger);border-color:var(--danger);color:#fff}.text-button{padding:var(--space-1) 0;color:var(--navy);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;font-size:.875rem;font-weight:600;text-decoration:underline}.file-manager{margin-top:var(--space-6)}.file-manager-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.file-manager-head h3{margin:0;font-size:1.125rem}.file-status{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:#8a4b05;background:#fdf1e1;font-size:.875rem}.file-list{border-top:1px solid var(--line);max-height:480px;margin:0;padding:0;list-style:none;overflow:auto}.file-row{align-items:center;gap:var(--space-4);border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) auto;padding:10px 0;display:grid}.file-thumb{border-radius:var(--radius);background:var(--surface);width:64px;height:64px;color:var(--muted);place-items:center;font-size:.75rem;display:grid;overflow:hidden}.file-thumb img{object-fit:cover;width:100%;height:100%}.file-name{overflow-wrap:anywhere;min-width:0;color:var(--navy);font-size:.9375rem}.file-badge{margin-left:var(--space-2);color:#8a4b05;vertical-align:middle;background:#fdf1e1;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.file-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.danger-zone{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-7);padding:var(--space-5);border-radius:var(--radius);background:#fcf7f7;border:1px solid #ebd3d3;flex-wrap:wrap;display:flex}.danger-zone strong{color:var(--danger)}.danger-zone p{margin:var(--space-1) 0 0;color:var(--muted);font-size:.875rem}@media (max-width:640px){.file-row{grid-template-columns:52px minmax(0,1fr)}.file-thumb{width:52px;height:52px}.file-actions{grid-column:1/-1;justify-content:flex-start}}.site-footer{gap:var(--space-5) var(--space-7);padding:var(--space-7) var(--pad-x) var(--space-5);border-top:1px solid var(--line);grid-template-columns:1fr auto;display:grid}.footer-brand{font-family:var(--font-serif);color:var(--navy);font-size:1.25rem}.site-footer p{margin:var(--space-1) 0 0;color:var(--muted);font-size:.9375rem}.footer-links{gap:var(--space-3) var(--space-5);flex-wrap:wrap;font-size:.9375rem;display:flex}.footer-links a{color:var(--text)}.footer-links a:hover{color:var(--link-hover);text-underline-offset:4px;text-decoration:underline}.site-footer .copyright{padding-top:var(--space-5);border-top:1px solid var(--line);grid-column:1/-1;margin:0;font-size:.875rem}@media (max-width:960px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-top{grid-template-columns:1fr;align-items:start}.about-section,.form-layout{gap:var(--space-5);grid-template-columns:1fr}}@media (max-width:820px){:root{--header-h:64px}.menu-toggle{display:inline-flex}.nav-wrap{align-items:stretch;gap:var(--space-5);max-height:calc(100svh - var(--header-h));padding:var(--space-2) var(--gutter) var(--space-6);border-bottom:1px solid var(--line);visibility:hidden;opacity:0;background:#fff;flex-direction:column;transition:opacity .15s,visibility 0s linear .15s;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px #0b132b14}.site-header[data-open=true] .nav-wrap{visibility:visible;opacity:1;transition:opacity .15s}.site-header nav{flex-direction:column;align-items:stretch;gap:0}.site-header nav a{border-bottom:1px solid var(--line);align-items:center;min-height:52px;padding:0;font-size:1.125rem;display:flex}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-bottom-color:var(--line)}.site-header nav a[aria-current=page]{font-weight:600}.nav-cta{justify-content:center;min-height:50px}}@media (max-width:640px){.hero-side p{font-size:1.0625rem}.hero-actions .button{flex:100%}.hero-actions .text-link{margin:0 auto}.hero-top{margin-bottom:var(--space-6)}.carousel-track{--slide-w:66vw}.carousel{padding:var(--space-6) 0 var(--space-5)}.carousel-thumbs{justify-content:flex-start;gap:6px}.carousel-thumb{width:32px;height:40px}.carousel-track:has(.carousel-emblem){--slide-w:calc(100% - 2 * var(--gutter))}.contact-band{padding:var(--space-6) var(--space-5)}.section-heading{flex-direction:column;align-items:flex-start}.project-grid,.card-grid,.service-list{grid-template-columns:1fr}.contact-band{flex-direction:column;align-items:flex-start}.contact-band .button{width:100%}.fields,.site-footer,.admin-actions,.metric-grid{grid-template-columns:1fr}.plain-table td{min-width:150px}.work-gallery{grid-template-columns:1fr}.asset-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.form-panel .button,.page-heading .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.asset-file{place-items:center;display:grid}.gallery-actions{align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.button-light{color:var(--navy);background:#fff;border-color:#fff}.button-light:hover{background:var(--cream);border-color:var(--cream);color:var(--navy)}.client-gallery{background:#faf8f5}.gallery-cover{min-height:480px;height:calc(100svh - var(--header-h));background:var(--navy);color:#fff;isolation:isolate;align-items:flex-end;display:flex;position:relative;overflow:hidden}.gallery-cover.no-image{background:radial-gradient(120% 90% at 50% 10%, #17304a 0%, var(--navy) 65%);height:auto;min-height:420px}.gallery-cover-image{z-index:-2;object-fit:cover;object-position:50% 22%;width:100%;height:100%;animation:1.2s both cover-in;position:absolute;inset:0}.gallery-cover:after{content:"";z-index:-1;background:linear-gradient(#05080f00 38%,#05080f52 62%,#05080fcc 100%),linear-gradient(90deg,#05080f80 0%,#05080f00 58%);position:absolute;inset:0}.gallery-cover-text{width:100%;max-width:46rem;padding:0 var(--gutter) clamp(36px, 8svh, 88px);animation:.9s .15s both rise-in}.gallery-kicker{text-wrap:balance;margin:0 0 var(--space-4);letter-spacing:.22em;text-transform:uppercase;color:#ffffffdb;font-size:.75rem;font-weight:500}.gallery-names{margin:0 0 var(--space-5);letter-spacing:-.02em;color:#fff;overflow-wrap:anywhere;font-size:clamp(3.25rem,9vw,7.5rem);font-weight:400;line-height:.95}.gallery-names i{color:#f4b566;font-style:italic}.gallery-note{max-width:32rem;margin:0 0 var(--space-6)}.gallery-note blockquote{margin:0}.gallery-note p{font-family:var(--font-serif);color:#fffffff2;margin:0;font-size:clamp(1rem,1.6vw,1.1875rem);font-style:italic;line-height:1.6}.gallery-note figcaption{margin-top:var(--space-2);color:#ffffffb8;font-size:.8125rem}.gallery-enter{align-items:center;gap:var(--space-2);min-height:46px;padding:0 var(--space-5);color:var(--navy);background:#fff;border-radius:999px;font-size:.9375rem;font-weight:600;transition:background-color .2s;display:inline-flex}.gallery-enter:hover{background:var(--cream)}.gallery-enter svg{transition:transform .25s}.gallery-enter:hover svg{transform:translateY(2px)}@keyframes cover-in{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.gallery-body{padding:clamp(32px, 5vw, 56px) clamp(8px, 3vw, 40px) calc(var(--section-y) + 40px);scroll-margin-top:var(--header-h)}.gallery-intro{justify-content:space-between;align-items:flex-end;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-5);flex-wrap:wrap;padding:0 clamp(8px,1vw,0px);display:flex}.gallery-intro h2{margin:var(--space-1) 0 0;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400}.gallery-intro p{color:var(--muted);margin:0;font-size:.875rem}.gallery-back{color:var(--muted);font-size:.8125rem}.gallery-back:before{content:"← "}.gallery-back:hover{color:var(--navy);text-underline-offset:4px;text-decoration:underline}.photo-wall{--row-h:300px;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.photo-wall:after{content:"";flex-grow:999999}.photo-tile{background:#ece8e1;min-width:0;position:relative;overflow:hidden}.photo-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.photo-open:focus-visible{outline-offset:-3px}.photo-open img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .45s,transform .6s}.photo-open img.is-loaded{opacity:1}.photo-tile:hover .photo-open img{transform:scale(1.02)}.tile-file{align-content:center;place-items:center;gap:var(--space-2);height:100%;color:var(--muted);font-size:.875rem;display:grid}.photo-actions{opacity:0;pointer-events:none;gap:6px;padding:10px;transition:opacity .2s;display:flex;position:absolute;inset:auto 0 0 auto}.photo-tile:hover .photo-actions,.photo-tile:focus-within .photo-actions{opacity:1;pointer-events:auto}.photo-action{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#0b132b9e;border:0;border-radius:50%;place-items:center;width:38px;height:38px;transition:background-color .2s;display:grid}.photo-action:hover{background:var(--navy)}@media (hover:none){.photo-actions{opacity:1;pointer-events:auto;padding:6px}.photo-share{display:none}.photo-action{background:#0b132b80;width:34px;height:34px}}.gallery-pages{align-items:center;gap:var(--space-5);margin-top:var(--space-6);flex-wrap:wrap;padding-inline:8px;display:flex}.gallery-notes{max-width:46rem;margin-top:var(--space-7);color:var(--muted);padding-inline:8px;font-size:.9375rem}.gallery-notes strong{color:var(--navy);font-weight:600}.gallery-pill{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;background:#fffffff2;border-radius:999px;align-items:center;gap:4px;padding:6px;transition:transform .35s,opacity .35s;display:flex;position:fixed;transform:translate(-50%,140%);box-shadow:0 18px 40px -14px #0b132b73,0 0 0 1px #0b132b0f}.gallery-pill.is-visible{opacity:1;transform:translate(-50%)}.gallery-pill svg,.viewer-button svg,.photo-action svg,.gallery-tip svg{flex:none;max-width:none}.gallery-pill>*{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);color:var(--navy);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.875rem;font-weight:500;display:inline-flex}.gallery-pill>:hover{background:var(--surface)}.gallery-pill .gallery-pill-main{background:var(--navy);color:#fff}.gallery-pill .gallery-pill-main:hover{background:var(--navy-2)}.gallery-tip{z-index:41;width:min(320px,100vw - 32px);padding:var(--space-5);color:var(--navy);background:#fbf8f2;border-radius:14px;animation:.45s both rise-in;position:fixed;bottom:24px;left:24px;box-shadow:0 30px 60px -20px #0b132b73,0 0 0 1px #0b132b0f}.gallery-tip h2{margin:0 0 var(--space-3);font-size:1.125rem;font-weight:500}.gallery-tip ul{margin:0 0 var(--space-4);padding:0;list-style:none}.gallery-tip li{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;color:var(--text);font-size:.875rem;display:flex}.gallery-tip li span{color:#b45309;background:#f1ece3;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.gallery-tip-ok{background:var(--navy);color:#fff;width:100%;min-height:42px;font:inherit;cursor:pointer;border:0;border-radius:999px;font-size:.875rem;font-weight:600}.gallery-tip-ok:hover{background:var(--navy-2)}.gallery-toast,.viewer-toast{z-index:130;max-width:calc(100vw - 32px);padding:var(--space-2) var(--space-4);color:#fff;background:#0b132beb;border-radius:999px;margin:0;font-size:.875rem;animation:.25s both rise-in;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}.viewer{--tint-navy:.68;--tint-amber:.42;z-index:100;isolation:isolate;background:var(--navy);color:#fff;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.viewer-backdrop{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.viewer-backdrop img{object-fit:cover;filter:blur(40px)saturate(1.15);width:100%;height:100%;animation:.5s backdrop-in;transform:scale(1.2)}.viewer-backdrop:after{content:"";background:linear-gradient(135deg, rgba(11, 19, 43, var(--tint-navy)) 0%, rgba(11, 19, 43, calc(var(--tint-navy) - .12)) 45%, rgba(217, 119, 6, var(--tint-amber)) 100%);position:absolute;inset:0}.viewer-bar{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);color:#ffffffdb;font-size:.9375rem;display:flex}.viewer-count{font-variant-numeric:tabular-nums;flex:none}.viewer-name{text-overflow:ellipsis;white-space:nowrap;color:#ffffff9e;flex:1;min-width:0;overflow:hidden}.viewer-actions{align-items:center;gap:var(--space-2);flex:none;margin-left:auto;display:flex}.viewer-button{justify-content:center;align-items:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:0 var(--space-4);color:#fff;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff3d;border-radius:999px;font-size:.875rem;font-weight:500;display:inline-flex}.viewer-button:hover,.viewer-button[aria-expanded=true],.viewer-button[aria-pressed=true]{background:#ffffff29}.viewer :focus-visible{outline-color:var(--cream)}.viewer-menu-wrap{position:relative}.viewer-menu{z-index:5;width:300px;color:var(--navy);background:#fbf8f2;border-radius:14px;padding:6px;animation:.2s both rise-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 30px 60px -20px #0009}.viewer-menu a{border-radius:9px;padding:11px 14px;display:block}.viewer-menu a:hover,.viewer-menu a:focus-visible{background:#f1ece3;outline:none}.viewer-menu strong{font-size:.9375rem;font-weight:600;display:block}.viewer-menu small{color:var(--muted);font-size:.8125rem}.viewer-menu-all{border-top:1px solid #e6e1d8;margin-top:4px;border-radius:0 0 9px 9px!important}.viewer-stage{min-height:0;padding:var(--space-2) 92px var(--space-3);place-items:center;display:grid;position:relative}.viewer{--mount:12px}.viewer-frame{--mount-y:var(--mount);box-sizing:content-box;width:min(calc(100% - 2 * var(--mount)), calc((100svh - 200px - 2 * var(--mount-y)) * var(--r,1.5)));border:solid #fff;border-width:var(--mount-y) var(--mount);background:#fff;border-radius:2px;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001f,0 34px 80px -24px #0009}.viewer-frame.is-portrait{--mount-y:0px}.fx-enter-fade{animation:.9s both fx-fade}.fx-enter-rise{animation:.9s cubic-bezier(.2,.7,.2,1) both fx-rise}.fx-enter-slide{animation:.9s cubic-bezier(.2,.7,.2,1) both fx-slide}.fx-enter-zoom{animation:1s cubic-bezier(.2,.7,.2,1) both fx-zoom}.fx-enter-blur{animation:1s both fx-blur}@keyframes fx-fade{0%{opacity:0}to{opacity:1}}@keyframes fx-rise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes fx-slide{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:none}}@keyframes fx-zoom{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes fx-blur{0%{opacity:0;filter:blur(16px)}to{opacity:1;filter:none}}.fx-motion-in .viewer-image{animation:kb-in var(--slide-ms,4s) linear both}.fx-motion-out .viewer-image{animation:kb-out var(--slide-ms,4s) linear both}.fx-motion-left .viewer-image{animation:kb-left var(--slide-ms,4s) linear both}.fx-motion-right .viewer-image{animation:kb-right var(--slide-ms,4s) linear both}@keyframes kb-in{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes kb-out{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes kb-left{0%{transform:scale(1.08)translate(2%)}to{transform:scale(1.08)translate(-2%)}}@keyframes kb-right{0%{transform:scale(1.08)translate(-2%)}to{transform:scale(1.08)translate(2%)}}.viewer-frame img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.viewer-image{opacity:0;transition:opacity .25s}.viewer-image.is-loaded{opacity:1}.viewer-file{justify-items:center;gap:var(--space-4);text-align:center;color:#ffffffe0;max-width:22rem;display:grid}.viewer-file svg{width:40px;height:40px}.viewer-nav{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.viewer-nav:hover:not(:disabled){background:#ffffff2e}.viewer-nav:disabled{opacity:.25;cursor:default}.viewer-prev{left:var(--space-4)}.viewer-next{right:var(--space-4)}.viewer-strip{padding:var(--space-2) var(--space-4) var(--space-4);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;display:flex;overflow-x:auto}.viewer-strip::-webkit-scrollbar{display:none}.viewer-strip>:first-child{margin-left:auto}.viewer-strip>:last-child{margin-right:auto}.viewer-thumb{color:#fff;opacity:.5;cursor:pointer;background:#ffffff1f;border:0;border-radius:4px;flex:none;place-items:center;height:56px;padding:0;transition:opacity .2s,transform .2s;display:grid;overflow:hidden}.viewer-thumb img{object-fit:cover;width:100%;max-width:none;height:100%}.viewer-thumb:hover{opacity:.85}.viewer-thumb[aria-current=true]{opacity:1;outline:2px solid var(--cream);outline-offset:2px}.viewer-progress{background:var(--amber);transform-origin:0;height:3px;animation:slide-progress var(--slide-ms,4s) linear both;position:fixed;bottom:0;left:0;right:0}@keyframes slide-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.gallery-cards{gap:var(--space-6) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.gallery-card{display:block}.gallery-card-image{aspect-ratio:4/3;border-radius:var(--radius);background:var(--navy);color:var(--cream);font-family:var(--font-serif);place-items:center;font-size:2rem;display:grid;overflow:hidden}.gallery-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-card:hover .gallery-card-image img{transform:scale(1.03)}.gallery-card-body{padding-top:var(--space-4)}.gallery-card-body small{color:var(--muted)}.gallery-card-body h3{margin:var(--space-1) 0 var(--space-2);font-family:var(--font-serif);font-size:1.5rem}.gallery-card-body p{margin:0 0 var(--space-3);color:var(--muted);font-size:.9375rem}@media (max-width:640px){.gallery-cover{min-height:440px}.gallery-cover-text{padding-bottom:40px}.gallery-kicker{letter-spacing:.18em;font-size:.6875rem}.photo-wall{--row-h:150px;gap:4px}.gallery-tip{width:auto;bottom:88px;left:16px;right:16px}.gallery-toast{bottom:84px}.gallery-pill>*{padding:0 var(--space-3)}.viewer-bar{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.viewer-name,.viewer-button span{display:none}.viewer-button{padding:0}.viewer-menu{width:auto;position:fixed;inset:auto 12px 12px}.viewer-stage{padding:var(--space-1) var(--space-1) var(--space-2)}.viewer{--mount:6px}.viewer-frame{width:min(calc(100% - 2 * var(--mount)), calc((100svh - 160px - 2 * var(--mount-y)) * var(--r,1.5)))}.viewer-nav{display:none}.viewer-strip{padding:var(--space-2) var(--space-3) max(var(--space-3), env(safe-area-inset-bottom))}.viewer-thumb{height:48px}.viewer-toast{bottom:84px}}@media (prefers-reduced-motion:reduce){.viewer-progress{display:none}}.code-entry{gap:var(--space-2);margin-top:var(--space-2);display:flex}.code-entry .code-input{min-width:0;font-family:var(--font-sans);letter-spacing:.35em;font-variant-numeric:tabular-nums;text-align:center;flex:1;margin-top:0;font-size:1.5rem;font-weight:600}.code-entry .code-input::placeholder{color:#c3c9d3;letter-spacing:.35em}.code-paste{white-space:nowrap;flex:none}
