:root{color-scheme:light;--ink: #171717;--muted: #666a6e;--paper: #fbfaf7;--surface: #ffffff;--line: #ded8cf;--copper: #b9653b;--green: #28594f;--blue: #315f8f;--shadow: 0 18px 50px rgba(23, 23, 23, .14);--glass-bg: rgba(255, 255, 255, .58);--glass-strong: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .48);--glass-shadow: 0 22px 70px rgba(20, 24, 28, .18), inset 0 1px 0 rgba(255, 255, 255, .62)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body:before{position:fixed;z-index:-1;top:-20vh;right:-20vw;bottom:-20vh;left:-20vw;content:"";background:radial-gradient(circle at 16% 24%,rgba(40,89,79,.12),transparent 24%),radial-gradient(circle at 82% 18%,rgba(185,101,59,.12),transparent 22%),radial-gradient(circle at 64% 86%,rgba(49,95,143,.1),transparent 26%);filter:blur(18px);animation:liquid-field 18s ease-in-out infinite alternate;pointer-events:none}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,56px);color:#fff;background:linear-gradient(180deg,#ffffff24,#ffffff05);backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);transition:background .18s ease,color .18s ease,box-shadow .18s ease}.site-header.scrolled{background:linear-gradient(180deg,#ffffffbd,#ffffff75);color:var(--ink);box-shadow:var(--glass-shadow);backdrop-filter:blur(26px) saturate(1.45);-webkit-backdrop-filter:blur(26px) saturate(1.45)}.brand{display:inline-flex;align-items:center;gap:12px;min-width:188px}.brand-mark{display:grid;width:58px;height:48px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.34);border-radius:6px;background:#fff}.site-header.scrolled .brand-mark{border-color:#1717171f}.brand-mark img{width:88%;height:88%;object-fit:contain}.brand strong,.brand small{display:block}.brand small{color:currentColor;font-size:.78rem;opacity:.72}.desktop-nav{display:none;align-items:center;gap:clamp(16px,3vw,36px);font-size:.92rem}.desktop-nav a{opacity:.82}.desktop-nav a:hover{opacity:1}.icon-button{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:#ffffff1f;color:inherit;cursor:pointer;box-shadow:inset 0 1px #ffffff70,0 10px 30px #0000001a;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}.menu-toggle span{display:block;width:18px;height:2px;background:currentColor}.mobile-nav{position:fixed;z-index:19;top:76px;left:16px;right:16px;display:none;max-width:320px;margin-left:auto;padding:12px 16px;border:1px solid var(--glass-border);border-radius:18px;background:linear-gradient(145deg,#ffffffc7,#ffffff6b);box-shadow:var(--glass-shadow);backdrop-filter:blur(28px) saturate(1.55);-webkit-backdrop-filter:blur(28px) saturate(1.55)}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:13px 4px;border-bottom:1px solid var(--line)}.menu-admin-link{display:block;width:100%;min-height:36px;margin-top:8px;border:0;border-bottom:1px solid var(--line);padding:10px 4px;background:transparent;color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:800;text-align:left}.menu-admin-link.muted{margin-top:0;color:#9b6a5d}.hero{position:relative;min-height:86vh;display:grid;align-items:end;padding:104px clamp(18px,5vw,72px) 32px;overflow:hidden;color:#fff}.hero:after{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,#000000b8,#0000003d 56%,#00000014)}.hero:before{position:absolute;z-index:1;right:-10vw;bottom:-18vh;width:min(46vw,620px);aspect-ratio:1;content:"";border-radius:42% 58% 62% 38%/46% 40% 60% 54%;background:#ffffff1f;filter:blur(8px);mix-blend-mode:screen;animation:liquid-blob 12s ease-in-out infinite alternate;pointer-events:none}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-media img{width:100%;height:100%;object-fit:cover;animation:liquid-drift 18s ease-in-out infinite alternate}.hero-content{position:relative;z-index:2;max-width:760px}.hero h1{margin:0;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(4.8rem,13vw,10.5rem);font-weight:800;line-height:.82;letter-spacing:0}.lead{max-width:680px;margin:28px 0 0;font-size:clamp(1.18rem,2.2vw,1.7rem);color:#ffffffdb}.eyebrow{margin:0 0 14px;color:var(--copper);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.hero .eyebrow{color:#f2b58e}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:0 22px;cursor:pointer;font-weight:800;box-shadow:inset 0 1px #ffffff80,0 12px 35px #1717171a;backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}.button.primary{background:#ffffffd1;color:var(--ink)}.button.primary.dark{background:#171717c2;color:#fff}.button.secondary{border-color:#ffffff9e;color:#fff}.button.outline{border-color:var(--ink)}.button.outline.light{border-color:#1717171a;background:#ffffff94}.button.compact{width:100%;margin-top:18px;background:var(--ink);color:#fff}.hero-panel{position:absolute;z-index:2;right:clamp(18px,5vw,72px);bottom:28px;display:grid;width:min(320px,calc(100% - 36px));gap:10px;padding:20px;border:1px solid rgba(255,255,255,.38);background:linear-gradient(145deg,#ffffff2e,#0a0c0e3d);box-shadow:0 24px 70px #00000038,inset 0 1px #ffffff6b;backdrop-filter:blur(28px) saturate(1.45);-webkit-backdrop-filter:blur(28px) saturate(1.45);animation:liquid-float 9s ease-in-out infinite alternate}.hero-panel span{color:#f2b58e;font-size:.78rem;font-weight:800;text-transform:uppercase}.hero-panel a,.hero-panel .text-link{color:#fff;text-decoration:underline;text-underline-offset:4px}.hero-panel .text-link,.footer-socials button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.section{padding:clamp(68px,10vw,122px) clamp(18px,5vw,72px);scroll-margin-top:112px}main>.section:first-child{padding-top:clamp(124px,12vw,156px)}.intro,.process,.contact{display:grid;grid-template-columns:minmax(0,.92fr) minmax(280px,.72fr);gap:clamp(28px,6vw,84px);align-items:start}.intro h2,.section-heading h2,.about h2,.process h2,.contact h2{margin:0;max-width:860px;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-weight:800;font-size:clamp(2.2rem,5vw,5.2rem);line-height:.98;letter-spacing:0}.intro p,.shop-heading p,.about-copy p,.contact p{margin:0;color:var(--muted);font-size:1.05rem}.section-heading{display:grid;gap:12px;margin-bottom:32px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.filter{min-height:42px;border:1px solid rgba(255,255,255,.54);border-radius:999px;padding:0 16px;background:#ffffff57;cursor:pointer;box-shadow:inset 0 1px #ffffff85,0 8px 25px #17171714;backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35)}.filter.active{background:#28594fc7;color:#fff;border-color:#ffffff57}.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:dense;gap:clamp(10px,1.5vw,18px);align-items:start}.photo-tile{position:relative;display:block;width:100%;grid-column:span 4;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:10px;padding:0;background:linear-gradient(145deg,#ffffff8a,#e7eae366),#d9ddd7;color:#fff;cursor:zoom-in;clip-path:none;transform:translateY(0);transition:border-radius .26s ease,transform .26s ease,box-shadow .26s ease;box-shadow:0 18px 50px #1717171f}.photo-tile.tile-0,.photo-tile.tile-6{grid-column:span 7}.photo-tile.tile-1,.photo-tile.tile-7{grid-column:span 5}.photo-tile.tile-2{grid-column:span 3}.photo-tile.tile-3{grid-column:span 5}.photo-tile.tile-4{grid-column:span 4}.photo-tile.tile-5,.photo-tile.tile-8{grid-column:span 6}.photo-tile img{width:100%;height:auto;display:block;transition:transform .24s ease,filter .24s ease}.photo-tile:hover img{filter:saturate(1.08) contrast(1.03);transform:scale(1.035)}.photo-tile:hover{z-index:3;box-shadow:0 28px 70px #17171733;border-radius:28px 8px;transform:translateY(-6px) scale(1.015)}.shop-section{background:var(--surface)}.shop-heading{grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end}.shop-intro{display:grid;gap:16px}.cart-button{justify-self:start;display:inline-flex;min-height:44px;align-items:center;gap:10px;border:1px solid var(--glass-border);border-radius:999px;padding:0 8px 0 16px;background:#ffffff8f;color:var(--ink);cursor:pointer;font-weight:900;box-shadow:var(--glass-shadow);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}.cart-button strong{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--green);color:#fff}.shop-grid,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{position:relative;min-height:clamp(280px,34vw,430px);overflow:hidden;border:1px solid var(--glass-border);border-radius:18px;padding:22px;background:#111;color:#fff;cursor:pointer;text-align:left;box-shadow:var(--glass-shadow);transition:border-radius .26s ease,transform .26s ease,box-shadow .26s ease}.project-card:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(180deg,#0000000a 30%,#00000094 72%,#000000d1),linear-gradient(90deg,#00000047,#00000005 62%)}.project-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .32s ease}.project-card span,.project-card strong{position:relative;z-index:1;display:block}.project-card span{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;border:1px solid rgba(255,255,255,.36);border-radius:999px;padding:6px 10px;background:#ffffff29;font-size:.78rem;font-weight:800;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}.project-card span em{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;background:#ffffff3d;color:#fff;font-size:.68rem;font-style:normal;line-height:1}.project-card strong{position:absolute;z-index:1;left:22px;right:22px;bottom:22px;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.9rem,3.1vw,3.35rem);line-height:.96;max-width:calc(100% - 44px);overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 3px 22px rgba(0,0,0,.42)}.project-card:hover{border-radius:34px 10px;box-shadow:0 28px 70px #17171738;transform:translateY(-5px)}.project-card:hover img{transform:scale(1.06)}.project-code-modal{position:fixed;z-index:63;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#00000075;backdrop-filter:blur(15px) saturate(1.25);-webkit-backdrop-filter:blur(15px) saturate(1.25)}.project-code-panel{position:relative;display:grid;gap:18px;width:min(560px,100%);border:1px solid var(--glass-border);border-radius:28px;padding:clamp(28px,5vw,46px);background:linear-gradient(145deg,#ffffffe0,#ffffff94);box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(1.55);-webkit-backdrop-filter:blur(30px) saturate(1.55)}.project-code-panel h3{margin:0;padding-right:56px;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.6rem,8vw,5rem);line-height:.94}.project-code-panel p{margin:0;color:var(--muted);font-weight:750;line-height:1.45}.project-code-panel label{display:grid;gap:8px;font-weight:900}.project-code-panel input{width:100%;border:1px solid rgba(23,23,23,.12);border-radius:14px;padding:15px 16px;background:#ffffffc7;color:var(--ink);font:inherit;font-weight:750;outline:none}.project-code-panel input:focus{border-color:#28594f6b;box-shadow:0 0 0 4px #28594f1f}.project-code-panel .project-code-error{color:#9b2c1f;font-weight:900}.project-modal{position:fixed;z-index:55;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:clamp(12px,3vw,28px);background:#0000009e;backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25)}.project-close{position:fixed;z-index:2;top:clamp(12px,3vw,28px);right:clamp(12px,3vw,28px);display:inline-flex;min-height:42px;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:0 15px;background:#ffffff2e;color:#fff;cursor:pointer;font-weight:900;box-shadow:inset 0 1px #ffffff61,0 12px 32px #0000002e;backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35)}.project-close span{font-size:1.4rem;line-height:1}.project-modal-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);grid-template-rows:minmax(0,1fr) auto;gap:14px;width:min(1180px,100%);max-height:calc(100vh - 48px);overflow:hidden}.project-viewer,.project-sidebar,.project-strip{border:1px solid var(--glass-border);border-radius:18px;background:linear-gradient(145deg,#ffffffc7,#ffffff6b);box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5)}.project-viewer{position:relative;display:grid;min-height:0;place-items:center;overflow:hidden;background:#0c0e10b8}.project-nav{position:absolute;z-index:3;top:50%;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.52);border-radius:999px;background:#ffffff38;color:#fff;cursor:pointer;box-shadow:0 18px 42px #00000042,inset 0 1px #ffffff61;transform:translateY(-50%);transition:background .16s ease,transform .16s ease;backdrop-filter:blur(20px) saturate(1.45);-webkit-backdrop-filter:blur(20px) saturate(1.45)}.project-nav.previous{left:14px}.project-nav.next{right:14px}.project-nav span{font-size:2.6rem;line-height:.72;transform:translateY(-2px)}.project-nav:hover{background:#ffffff57;transform:translateY(-50%) scale(1.04)}.project-nav:focus-visible{outline:3px solid rgba(255,255,255,.82);outline-offset:3px}.project-photo-count{position:absolute;z-index:3;bottom:14px;left:50%;border:1px solid rgba(255,255,255,.36);border-radius:999px;padding:7px 12px;background:#00000061;color:#fff;font-size:.85rem;font-weight:900;line-height:1;transform:translate(-50%);backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35)}.watermarked-photo{position:relative;display:grid;width:100%;height:100%;place-items:center;overflow:hidden}.watermarked-photo img{width:100%;height:100%;max-height:calc(100vh - 180px);object-fit:contain}.watermarked-photo:after{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;content:"";background-image:var(--watermark-logo);background-repeat:repeat;background-size:180px auto;opacity:.2;transform:rotate(-24deg) scale(1.08);mix-blend-mode:screen;pointer-events:none}.watermarked-photo.soft-watermark img{filter:brightness(1.08) contrast(1.03)}.watermarked-photo.soft-watermark:after{background-size:240px auto;opacity:.11;filter:grayscale(1) contrast(.72);mix-blend-mode:soft-light}.empty-project{color:#ffffffb8;font-weight:800}.project-sidebar{display:grid;align-content:start;gap:12px;min-width:0;min-height:0;overflow:auto;padding:22px}.project-sidebar-head{display:grid;gap:8px}.project-sidebar h3{margin:0;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2rem,4vw,3.2rem);line-height:.96;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.project-sidebar p{margin:0;color:var(--muted)}.shop-step{display:flex;align-items:center;gap:10px;margin-top:2px}.shop-step>span{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border:1px solid rgba(40,89,79,.28);border-radius:999px;background:#ffffff7a;color:var(--green);font-size:.85rem;font-weight:900}.shop-step div{display:grid;gap:1px}.shop-step strong{color:var(--ink);font-size:.98rem}.shop-step small{color:var(--muted);font-weight:700;line-height:1.25}.download-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}.selection-tools{display:flex;flex-wrap:wrap;gap:10px}.download-option{display:grid;gap:3px;min-width:0;min-height:108px;border:1px solid rgba(23,23,23,.1);border-radius:14px;padding:12px;background:#ffffff7a;color:var(--ink);cursor:pointer;text-align:left}.download-option strong{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:baseline;gap:6px;min-width:0}.download-option strong em{display:grid;width:18px;height:18px;place-items:center;border:1px solid rgba(40,89,79,.28);border-radius:999px;color:#fff;background:#ffffff73;font-size:.78rem;font-style:normal;line-height:1}.download-option-label{min-width:0;overflow-wrap:anywhere;line-height:1.05}.download-option-price{justify-self:end;color:var(--green);font-size:clamp(.96rem,2.2vw,1.1rem);line-height:1;white-space:nowrap}.download-option.active{border-color:#28594f75;background:#28594f1f;box-shadow:inset 0 0 0 1px #28594f2e}.download-option.active strong em{border-color:#28594fb8;background:var(--green)}.download-option span,.download-option small{color:var(--muted)}.download-option>span:not(.download-option-label):not(.download-option-price){color:var(--ink);font-weight:850}.project-terms-panel{display:grid;gap:7px;border:1px solid rgba(40,89,79,.22);border-radius:14px;padding:12px;background:#28594f14;color:var(--ink)}.project-terms-panel strong{color:var(--green)}.terms-list{display:grid;gap:4px;margin:0;padding-left:18px;color:var(--muted);font-size:.86rem;line-height:1.28}.cart-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(23,23,23,.1);border-radius:16px;padding:14px;background:#ffffff85;box-shadow:inset 0 1px #ffffff9e}.cart-summary span{color:var(--muted);font-weight:800}.cart-summary strong{color:var(--green);font-size:1.7rem}.project-purchase-bar{position:sticky;z-index:1;bottom:-22px;display:grid;gap:10px;margin:0 -22px -22px;border-top:1px solid rgba(255,255,255,.42);padding:13px 22px 18px;background:linear-gradient(145deg,#f5f7f3eb,#e5eae2c7);box-shadow:0 -12px 30px #17171714;backdrop-filter:blur(26px) saturate(1.45);-webkit-backdrop-filter:blur(26px) saturate(1.45)}.cart-notice{margin:-2px 0 0;color:var(--green);font-size:.84rem;font-weight:800;line-height:1.28}.button:disabled{cursor:not-allowed;opacity:.48}.project-strip{grid-column:1 / -1;display:flex;gap:10px;overflow:auto;padding:10px;scroll-padding:10px;scroll-snap-type:x proximity}.project-thumb-card{display:grid;flex:0 0 110px;gap:8px;border:1px solid rgba(255,255,255,.34);border-radius:14px;padding:7px;background:#fff6;scroll-snap-align:start}.project-thumb-card.selected{border-color:#28594f99;background:#28594f1f}.project-thumb{height:72px;overflow:hidden;border:2px solid transparent;border-radius:12px;padding:0;background:#ddd;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.thumb-select{display:flex;align-items:center;justify-content:center;gap:7px;min-height:32px;border:0;border-radius:999px;background:#ffffff94;color:var(--ink);font-size:.82rem;font-weight:900;cursor:pointer;transition:background .14s ease,transform .14s ease}.thumb-select:hover{transform:translateY(-1px)}.thumb-select span{display:grid;width:18px;height:18px;place-items:center;border-radius:6px;background:#ffffffe6;color:var(--green);font-size:.85rem;line-height:1;box-shadow:inset 0 0 0 1px #1717171a}.thumb-select[aria-pressed=true]{background:#28594f29}.thumb-select[aria-pressed=true] span{background:var(--green);color:#fff}.cart-modal{position:fixed;z-index:62;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0000006b;backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25)}.cart-panel{position:relative;display:grid;gap:16px;width:min(640px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--glass-border);border-radius:22px;padding:24px;background:linear-gradient(145deg,#ffffffdb,#ffffff8f);box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(1.55);-webkit-backdrop-filter:blur(30px) saturate(1.55)}.cart-panel h3{margin:0;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2rem,5vw,3.6rem);line-height:.96}.contact-modal{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0000006b;backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25)}.contact-panel{position:relative;display:grid;gap:16px;width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--glass-border);border-radius:24px;padding:clamp(24px,5vw,42px);background:linear-gradient(145deg,#ffffffe0,#ffffff94);box-shadow:var(--glass-shadow);backdrop-filter:blur(32px) saturate(1.55);-webkit-backdrop-filter:blur(32px) saturate(1.55)}.contact-panel h2{margin:0;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.7rem,8vw,5.4rem);line-height:.94}.contact-panel>p{margin:0;color:var(--muted);font-size:1.08rem}.contact-panel label{display:grid;gap:8px;color:var(--muted);font-weight:850}.contact-panel label span{color:var(--ink)}.contact-panel input,.contact-panel textarea{width:100%;border:1px solid rgba(23,23,23,.1);border-radius:16px;padding:15px 16px;background:#ffffffc7;color:var(--ink);font:inherit;box-shadow:inset 0 1px #ffffffb3}.contact-panel textarea{resize:vertical;min-height:150px}.contact-panel input:focus,.contact-panel textarea:focus{outline:3px solid rgba(47,93,82,.22);border-color:#2f5d528c}.contact-status{display:grid;gap:4px;border:1px solid rgba(47,93,82,.25);border-radius:16px;padding:14px 16px;background:#2f5d5217;color:var(--green);font-weight:850}.contact-status strong{color:var(--green);font-size:1.15rem}.contact-status span{color:var(--muted);font-weight:760}.contact-status.success{border-color:#2f5d5257;background:#eef4f1e0;box-shadow:inset 0 1px #ffffff9e}.contact-status.error{border-color:#b3392447;background:#b3392414;color:#9c2f22}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.cart-items{display:grid;gap:10px}.cart-next-step{display:grid;gap:8px;border:1px solid rgba(40,89,79,.2);border-radius:16px;padding:14px;background:#28594f14}.cart-next-step strong{color:var(--ink);font-size:1rem}.cart-next-step span{color:var(--muted);font-size:.92rem;font-weight:750;line-height:1.35}.cart-next-step .button{justify-self:start}.cart-item{display:grid;grid-template-columns:74px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid rgba(23,23,23,.08);border-radius:14px;padding:10px;background:#ffffff70}.cart-item img{width:74px;aspect-ratio:1;border-radius:10px;object-fit:cover}.cart-item div{display:grid;gap:2px}.cart-item span{color:var(--muted);font-size:.9rem}.cart-total{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(23,23,23,.1);padding-top:16px}.cart-total span{color:var(--muted);font-weight:900}.cart-total strong{color:var(--green);font-size:2rem}.empty-cart{margin:0;color:var(--muted)}.checkout-form{display:grid;gap:12px;border-top:1px solid rgba(23,23,23,.1);padding-top:16px}.checkout-form label{display:grid;gap:6px}.checkout-form label span{color:var(--muted);font-size:.86rem;font-weight:900}.checkout-form input{width:100%;border:1px solid rgba(23,23,23,.12);border-radius:12px;padding:12px 13px;background:#ffffffb8;color:var(--ink);font:inherit}.checkout-form .checkout-terms{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;border:1px solid rgba(40,89,79,.18);border-radius:14px;padding:12px;background:#28594f14}.checkout-form .checkout-terms input{width:20px;height:20px;margin-top:2px;accent-color:var(--green)}.checkout-form .checkout-terms-copy{display:grid;gap:8px;color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.38}.checkout-form .checkout-terms-copy>strong,.checkout-form .checkout-terms strong{color:var(--green)}.checkout-form .checkout-terms-list{font-size:.84rem}.checkout-status{margin:0;color:var(--green);font-weight:800}.order-result{display:grid;gap:14px}.download-list{display:grid;gap:12px}.download-help{display:grid;gap:14px;border:1px solid rgba(40,89,79,.18);border-radius:16px;padding:18px 20px;background:#ffffff6b}.download-help p{margin:0;color:var(--muted);font-weight:750;line-height:1.35}.download-help p:first-child{color:var(--green);font-size:1.05rem;font-weight:850}.download-mail-status{margin:0;border:1px solid rgba(40,89,79,.18);border-radius:14px;padding:12px 14px;background:#fff6;color:var(--green);font-weight:800;line-height:1.32}.download-mail-status.warning{border-color:#b23b2747;color:var(--rust)}.download-all{width:100%;min-height:58px;justify-content:center}.download-done{margin:0;border:1px solid rgba(40,89,79,.22);border-radius:14px;padding:12px 14px;background:#28594f1a;color:var(--green);font-weight:850;line-height:1.32}.download-item{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:14px;align-items:center;border-radius:14px;padding:10px;background:#ffffff7a}.download-item img{width:74px;height:74px;object-fit:cover;border-radius:10px}.download-item div{min-width:0}.download-item strong,.download-item span{display:block}.download-item span{color:var(--muted);font-weight:700}.download-item .button{min-height:46px;padding:0 18px}.download-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.download-actions .button{min-height:46px;padding:0 16px}.project-thumb.active{border-color:var(--green);box-shadow:0 0 0 3px #28594f38,0 10px 22px #28594f33;transform:translateY(-1px)}.project-thumb img{width:100%;height:100%;object-fit:cover}.product-card{display:grid;overflow:hidden;background:linear-gradient(145deg,#ffffffb3,#ffffff61);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35);transition:border-radius .26s ease,transform .26s ease,box-shadow .26s ease}.product-card:hover{border-radius:28px 8px;box-shadow:0 16px 40px #1717171f;transform:translateY(-4px)}.product-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.product-card div{padding:20px}.product-card p,.product-card span{color:var(--muted)}.product-card h3{margin:6px 0;font-size:1.45rem}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:transparent;border:0}.service-grid article{min-height:270px;padding:24px;border:1px solid var(--glass-border);border-radius:18px;background:linear-gradient(145deg,#ffffffa8,#ffffff5c);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35)}.service-grid span{color:var(--blue);font-weight:900}.service-grid h3{margin:42px 0 10px;font-size:1.45rem}.service-grid p{color:var(--muted)}.about{display:grid;grid-template-columns:minmax(280px,.74fr) minmax(0,1fr);gap:clamp(28px,7vw,92px);align-items:center;background:linear-gradient(145deg,#eff4f1c7,#ffffff52);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)}.about-image img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:44% 56% 50% 50%/42% 38% 62% 58%;animation:liquid-frame 14s ease-in-out infinite alternate}.about-copy{display:grid;gap:24px}.quote-row{display:grid;gap:8px;padding-left:22px;border-left:4px solid var(--green)}blockquote{margin:0;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:1.55rem;line-height:1.22}.quote-row span{color:var(--muted)}.process{background:linear-gradient(145deg,#171717f0,#171717c7),radial-gradient(circle at 20% 0%,rgba(255,255,255,.22),transparent 34%);color:#fff;box-shadow:inset 0 1px #ffffff2e;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.process .eyebrow{color:#f2b58e}.steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}.steps li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#ffffff12;box-shadow:inset 0 1px #ffffff1f;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}.steps span{color:#ffffffb8}address{width:100%;color:var(--muted);font-style:normal}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:26px clamp(18px,5vw,72px);border-top:1px solid var(--line);color:var(--muted)}.site-footer>div,.footer-socials{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.site-footer>div span:first-child,.footer-socials a,.footer-socials button{color:var(--ink);font-weight:900}.footer-socials a,.footer-socials button{text-decoration:underline;text-underline-offset:4px}.cookie-banner{position:fixed;z-index:50;left:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;max-width:1080px;margin:0 auto;padding:20px;border:1px solid var(--glass-border);border-radius:22px;background:linear-gradient(145deg,#fffc,#ffffff7a);box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(1.55);-webkit-backdrop-filter:blur(30px) saturate(1.55)}.cookie-manage{position:fixed;z-index:45;left:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);min-height:40px;border:1px solid var(--glass-border);border-radius:999px;padding:0 16px;background:#ffffff9e;box-shadow:var(--glass-shadow);color:var(--ink);cursor:pointer;font-weight:800;backdrop-filter:blur(20px) saturate(1.45);-webkit-backdrop-filter:blur(20px) saturate(1.45)}.admin-modal{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0000006b;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2)}.admin-login,.admin-panel{border:1px solid var(--glass-border);background:linear-gradient(145deg,#ffffffd1,#ffffff8a);box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(1.5);-webkit-backdrop-filter:blur(30px) saturate(1.5)}.admin-login{position:relative;width:min(420px,100%);display:grid;gap:16px;padding:26px}.admin-login h2,.admin-panel h2{margin:0;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.05}.admin-login label,.admin-fields label,.admin-photo-item label,.admin-nested-item label,.admin-image-field,.admin-add-photo{display:grid;gap:7px;font-size:.86rem;font-weight:800}.admin-login input,.admin-fields input,.admin-fields textarea,.admin-photo-item input,.admin-photo-item textarea,.admin-photo-item select,.admin-nested-item input,.admin-nested-item textarea{width:100%;border:1px solid rgba(23,23,23,.1);border-radius:8px;padding:10px 12px;background:#ffffffa3;color:var(--ink);font:inherit;font-weight:600;box-shadow:inset 0 1px #ffffffa8;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2)}.admin-login input:focus,.admin-fields input:focus,.admin-fields textarea:focus,.admin-photo-item input:focus,.admin-photo-item textarea:focus,.admin-photo-item select:focus,.admin-nested-item input:focus,.admin-nested-item textarea:focus{border-color:#28594f85;outline:3px solid rgba(40,89,79,.14)}.admin-login textarea,.admin-fields textarea,.admin-photo-item textarea{resize:vertical}.admin-error{margin:0;color:#a73524;font-weight:800}.admin-info{margin:0;border:1px solid rgba(40,89,79,.18);border-radius:14px;padding:12px;background:#28594f14;color:var(--muted);font-size:.92rem}.admin-panel{position:fixed;z-index:65;top:0;right:0;bottom:0;width:min(520px,100vw);overflow:auto;padding:22px;border-left:1px solid var(--glass-border)}.admin-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.admin-note{margin:0 0 20px;padding:12px;border:1px solid rgba(23,23,23,.08);border-radius:8px;background:#ffffff61;color:var(--muted);font-size:.92rem}.admin-note strong{color:var(--green)}.admin-help-text{margin:0;color:var(--muted);font-size:.9rem}.admin-panel details{padding:16px 0;border-top:1px solid rgba(23,23,23,.1)}.admin-panel summary{cursor:pointer;font-weight:900;font-size:1.05rem}.admin-fields,.admin-photo-list,.admin-image-grid,.admin-export-panel{display:grid;gap:14px;margin-top:14px}.admin-export-panel{border:1px solid rgba(40,89,79,.16);border-radius:8px;padding:14px;background:#ffffff57}.admin-export-panel label{display:grid;gap:7px;color:var(--ink);font-size:.86rem;font-weight:800}.admin-export-panel input{width:100%;border:1px solid rgba(23,23,23,.1);border-radius:8px;padding:10px 12px;background:#ffffffa3;color:var(--ink);font:inherit;font-weight:700}.admin-export-status{margin:0;color:var(--green);font-size:.9rem;font-weight:850}.admin-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-image-field img{width:100%;aspect-ratio:1;border:1px solid rgba(255,255,255,.54);border-radius:8px;object-fit:cover;box-shadow:0 10px 28px #1717171a}.admin-add-photo{margin:14px 0;padding:14px;border:1px dashed rgba(40,89,79,.58);border-radius:14px;background:#f5faf794}.admin-photo-item{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;padding:14px;border:1px solid rgba(23,23,23,.08);border-radius:14px;background:#ffffff61;box-shadow:inset 0 1px #ffffff85}.admin-project-item{display:grid;gap:14px;padding:14px;border:1px solid rgba(23,23,23,.08);border-radius:16px;background:#ffffff61;box-shadow:inset 0 1px #ffffff85}.admin-project-order{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-project-order>span{color:var(--muted);font-size:.86rem;font-weight:900;margin-right:4px}.admin-project-order .button{min-height:34px;padding:0 12px;font-size:.78rem}.admin-project-order .button:disabled{cursor:default;opacity:.42}.admin-project-head{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px}.admin-project-head>img,.admin-sale-photo>img{width:100%;aspect-ratio:1;border-radius:10px;object-fit:cover}.admin-project-head>div,.admin-sale-photo{display:grid;gap:10px}.admin-project-head .admin-checkbox-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.86rem;font-weight:900}.admin-project-head .admin-checkbox-label input{width:18px;height:18px;flex:0 0 auto}.admin-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:14px;border:1px solid rgba(40,89,79,.18);border-radius:14px;background:#28594f12}.admin-price-grid legend{padding:0 6px;color:var(--green);font-weight:900}.admin-price-grid label{display:grid;gap:6px}.admin-price-grid span{color:var(--muted);font-size:.82rem;font-weight:900}.admin-price-grid input{width:100%;border:1px solid rgba(23,23,23,.12);border-radius:12px;padding:10px 11px;background:#ffffffad;color:var(--ink);font:inherit}.admin-price-grid input:focus{outline:2px solid rgba(40,89,79,.28);border-color:#28594f61}.admin-sale-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:420px;overflow:auto;padding-right:4px}.admin-sale-photo{padding:10px;border:1px solid rgba(23,23,23,.08);border-radius:12px;background:#ffffff6b}.upload-progress{display:grid;gap:10px;border:1px solid rgba(40,89,79,.2);border-radius:14px;padding:13px;background:#28594f14}.admin-upload-progress{position:sticky;top:0;z-index:3;background:linear-gradient(145deg,#e7f2ecf5,#ffffffd1);box-shadow:0 12px 30px #1717171a;backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35)}.upload-progress div{display:grid;gap:2px}.upload-progress span{overflow:hidden;color:var(--muted);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.upload-progress progress{width:100%;height:10px;overflow:hidden;border:0;border-radius:999px;background:#ffffff94}.upload-progress progress::-webkit-progress-bar{background:#ffffff94}.upload-progress progress::-webkit-progress-value{border-radius:999px;background:var(--green)}.upload-progress progress::-moz-progress-bar{border-radius:999px;background:var(--green)}.admin-photo-item>img{width:100%;aspect-ratio:1;border-radius:8px;object-fit:cover}.admin-photo-item>div{display:grid;gap:10px}.admin-photo-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.button.compact{min-height:38px;padding:8px 12px;font-size:.88rem}.button.compact:disabled{cursor:not-allowed;opacity:.45}.admin-nested-item{display:grid;gap:10px;padding:14px;border:1px solid rgba(23,23,23,.08);border-radius:14px;background:#ffffff61}.text-button.danger{justify-self:start;color:#a73524}.cookie-banner h2,.cookie-preferences h2{margin:0 0 8px;font-family:Bricolage Grotesque,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.45rem,3vw,2rem);line-height:1.05}.cookie-banner p,.cookie-option small{margin:0;color:var(--muted)}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.text-button{min-height:42px;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);cursor:pointer;font-weight:800}.cookie-modal{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0000006b;backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2)}.cookie-preferences{position:relative;width:min(620px,100%);display:grid;gap:16px;padding:24px;border:1px solid var(--glass-border);border-radius:22px;background:linear-gradient(145deg,#ffffffdb,#ffffff8f);box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(1.55);-webkit-backdrop-filter:blur(30px) saturate(1.55)}.modal-close{position:absolute;top:14px;right:14px;border-color:var(--line);color:var(--ink);font-size:1.5rem}.cookie-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.cookie-option strong,.cookie-option small{display:block}.cookie-option input{width:24px;height:24px;accent-color:var(--green)}@keyframes liquid-field{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,1%,0) scale(1.06)}}@keyframes liquid-blob{0%{transform:translateZ(0) rotate(0);border-radius:42% 58% 62% 38%/46% 40% 60% 54%}to{transform:translate3d(-8%,-6%,0) rotate(12deg);border-radius:58% 42% 38% 62%/48% 60% 40% 52%}}@keyframes liquid-drift{0%{transform:scale(1.02) translateZ(0)}to{transform:scale(1.08) translate3d(-1.2%,.8%,0)}}@keyframes liquid-float{0%{transform:translateY(0);border-radius:4px 22px}to{transform:translateY(-8px);border-radius:22px 4px}}@keyframes liquid-frame{0%{border-radius:44% 56% 50% 50%/42% 38% 62% 58%}to{border-radius:56% 44% 45% 55%/54% 58% 42% 46%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.lightbox{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;overflow:auto;border:1px solid var(--glass-border);border-radius:18px;background:linear-gradient(145deg,#161616f0,#2a2a2ad6);box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(1.45);-webkit-backdrop-filter:blur(30px) saturate(1.45)}.lightbox:before{position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";background:#0000009e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lightbox img{width:100%;max-height:72vh;object-fit:contain;background:#111}.lightbox div{padding:24px;background:linear-gradient(180deg,#1a1a1a9e,#1a1a1ad6);color:#fff}.lightbox h3{margin:0 0 8px;color:#fff;font-size:1.8rem}.lightbox p:last-child{color:#ffffffc7}.close{position:absolute;top:14px;right:14px;border-color:#ffffff8c;background:#00000061;color:#fff;font-size:1.6rem}.portfolio-nav{position:absolute;z-index:3;top:44%;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.52);border-radius:999px;background:#ffffff38;color:#fff;cursor:pointer;box-shadow:0 18px 42px #00000042,inset 0 1px #ffffff61;transform:translateY(-50%);transition:background .16s ease,transform .16s ease;backdrop-filter:blur(20px) saturate(1.45);-webkit-backdrop-filter:blur(20px) saturate(1.45)}.portfolio-nav.previous{left:14px}.portfolio-nav.next{right:14px}.portfolio-nav span{font-size:2.6rem;line-height:.72;transform:translateY(-2px)}.portfolio-nav:hover{background:#ffffff57;transform:translateY(-50%) scale(1.04)}.portfolio-nav:focus-visible{outline:3px solid rgba(255,255,255,.82);outline-offset:3px}.portfolio-photo-count{position:absolute;z-index:3;top:14px;left:50%;border:1px solid rgba(255,255,255,.36);border-radius:999px;padding:7px 12px;background:#00000061;color:#fff;font-size:.85rem;font-weight:900;line-height:1;transform:translate(-50%);backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35)}@media(max-width:960px){.hero{min-height:86vh}.hero-panel{position:relative;right:auto;bottom:auto;margin-top:34px}.intro,.process,.contact,.shop-heading,.about{grid-template-columns:1fr}.portfolio-grid,.shop-grid,.project-grid,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-modal-content{grid-template-columns:1fr;grid-template-rows:minmax(260px,1fr) auto auto;overflow:auto}.project-sidebar{grid-row:3;overflow:visible}.project-purchase-bar{position:static;margin:12px 0 0;border:1px solid rgba(255,255,255,.48);border-radius:18px;padding:12px;background:#f4f8f2c7}.project-strip{grid-column:auto;grid-row:2}.portfolio-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:auto}.photo-tile,.photo-tile.tile-0,.photo-tile.tile-1,.photo-tile.tile-2,.photo-tile.tile-3,.photo-tile.tile-4,.photo-tile.tile-5,.photo-tile.tile-6,.photo-tile.tile-7,.photo-tile.tile-8{grid-column:span 3;grid-row:auto}.photo-tile.tile-0,.photo-tile.tile-5{grid-column:span 6;grid-row:auto}}@media(max-width:620px){.site-header{padding:14px 16px}.brand{min-width:0}.brand small{display:none}.hero{min-height:88vh;padding:112px 16px 30px}.hero:after{background:linear-gradient(0deg,#000000bd,#0003)}.hero h1{font-size:clamp(4.1rem,23vw,6rem)}.lead{font-size:1.08rem}.section{padding:62px 16px}.intro h2,.section-heading h2,.about h2,.process h2,.contact h2{font-size:clamp(2rem,12vw,3.25rem)}.portfolio-grid,.shop-grid,.project-grid,.service-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}.photo-tile,.photo-tile.tile-0,.photo-tile.tile-1,.photo-tile.tile-2,.photo-tile.tile-3,.photo-tile.tile-4,.photo-tile.tile-5,.photo-tile.tile-6,.photo-tile.tile-7,.photo-tile.tile-8{grid-column:auto;grid-row:auto}.steps li{grid-template-columns:1fr;gap:4px}.download-item{grid-template-columns:64px minmax(0,1fr)}.download-actions{grid-column:1 / -1;justify-content:stretch;width:100%}.download-actions .button{flex:1 1 120px;justify-content:center}.site-footer{flex-direction:column;align-items:flex-start}main>.section:first-child{padding-top:138px}.cookie-banner{grid-template-columns:1fr;padding:18px}.admin-panel{width:100vw;padding:18px}.admin-image-grid,.admin-photo-item,.admin-project-head,.admin-price-grid,.admin-sale-photo-grid{grid-template-columns:1fr}.project-modal{padding:10px;align-items:start;overflow:hidden}.project-modal-content{width:100%;height:calc(100dvh - 20px);max-height:none;grid-template-rows:minmax(220px,38dvh) auto auto;gap:10px;overflow:auto;overscroll-behavior:contain}.project-viewer{border-radius:16px}.project-sidebar{gap:12px;padding:18px}.project-sidebar-head{gap:6px}.project-sidebar h3{font-size:clamp(2.3rem,12vw,4rem);line-height:.92}.download-option{min-height:auto;padding:14px}.project-purchase-bar{margin-top:8px}.cart-summary{padding:12px 14px}.cart-summary strong{font-size:1.4rem}.project-purchase-bar .primary-button{min-height:56px;padding:0 18px}.project-close{right:10px;top:10px}.project-nav{width:40px;height:40px}.project-nav.previous{left:10px}.project-nav.next{right:10px}.project-nav span{font-size:2.1rem}.project-photo-count{bottom:10px;padding:6px 10px;font-size:.78rem}.project-strip{gap:8px;border-radius:16px;padding:8px}.project-thumb-card{flex-basis:94px;gap:6px;border-radius:12px;padding:6px}.project-thumb{height:58px;border-radius:10px}.thumb-select{min-height:28px;gap:6px;font-size:.78rem}.thumb-select span{width:16px;height:16px;border-radius:5px;font-size:.76rem}.download-options{grid-template-columns:1fr}.project-card{min-height:300px}.cookie-actions,.cookie-actions .button{width:100%}.cart-item{grid-template-columns:64px minmax(0,1fr) auto}.cart-item .text-button{grid-column:2 / -1;justify-self:start}.text-button{justify-self:center}}
