#cursor{background:var(--gold);pointer-events:none;mix-blend-mode:difference;opacity:0;visibility:hidden;border-radius:50%;width:10px;height:10px;transition:transform .1s,width .3s,height .3s,background .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%);z-index:999999!important}#cursor-ring{border:1px solid var(--gold);pointer-events:none;opacity:0;visibility:hidden;border-radius:50%;width:36px;height:36px;transition:transform .18s ease-out,width .3s,height .3s,opacity .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%);z-index:999998!important}body.cursor-ready #cursor{opacity:1;visibility:visible}body.cursor-ready #cursor-ring{opacity:.5;visibility:visible}body.cursor-ready:hover #cursor-ring{opacity:1}@media (hover:none){#cursor,#cursor-ring{display:none!important}body,a,button,.gallery-item{cursor:auto!important}}body.modal-open,body.modal-open *{cursor:auto!important}body.modal-open button,body.modal-open a,body.modal-open select,body.modal-open .star-btn,body.modal-open .feedback-modal-close,body.modal-open .form-submit{cursor:pointer!important}body.modal-open input,body.modal-open textarea{cursor:text!important}body.modal-open #cursor,body.modal-open #cursor-ring{opacity:0!important;visibility:hidden!important;display:none!important}.cursor-focus #cursor{background:var(--gold)!important;width:4px!important;height:4px!important}.cursor-focus #cursor-ring{border:1px solid var(--gold)!important;opacity:1!important;border-radius:4px!important;width:44px!important;height:44px!important}.cursor-focus #cursor-ring:before,.cursor-focus #cursor-ring:after{content:"";background:var(--gold);position:absolute}.cursor-focus #cursor-ring:before{background:linear-gradient(to bottom, var(--gold) 2px, transparent 2px, transparent calc(100% - 2px), var(--gold) calc(100% - 2px));width:1px;top:-4px;bottom:-4px;left:50%;transform:translate(-50%)}.cursor-focus #cursor-ring:after{background:linear-gradient(to right, var(--gold) 2px, transparent 2px, transparent calc(100% - 2px), var(--gold) calc(100% - 2px));height:1px;top:50%;left:-4px;right:-4px;transform:translateY(-50%)}input,textarea{cursor:text!important}select,button,input[type=submit],input[type=button],.star-btn,.feedback-modal-close{cursor:pointer!important}:is(body:has(input:hover) #cursor,body:has(input:hover) #cursor-ring,body:has(textarea:hover) #cursor,body:has(textarea:hover) #cursor-ring,body:has(select:hover) #cursor,body:has(select:hover) #cursor-ring,body:has(button:hover) #cursor,body:has(button:hover) #cursor-ring){opacity:0!important;visibility:hidden!important;display:none!important}
.shutter-wrapper{z-index:10000;pointer-events:all;-webkit-user-select:none;user-select:none;will-change:transform, opacity;background:#080806;flex-direction:column;justify-content:center;align-items:center;transition:opacity .9s cubic-bezier(.25,1,.5,1),transform .9s cubic-bezier(.25,1,.5,1);display:flex;position:fixed;inset:0;overflow:hidden;transform:scale(1)}.shutter-wrapper:before{content:"";pointer-events:none;background:radial-gradient(circle,#c9a84c0f 0%,#0000 70%);position:absolute;inset:0}.shutter-wrapper.fade-out{opacity:0;pointer-events:none;transform:scale(1.04)}.viewfinder-metrics{pointer-events:none;font-family:var(--font-mono);color:var(--gold);opacity:.45;letter-spacing:2px;text-transform:uppercase;padding:40px;font-size:clamp(9px,1.2vw,11px);position:absolute;inset:0}.metric-top-left{position:absolute;top:40px;left:40px}.metric-top-right{position:absolute;top:40px;right:40px}.metric-bottom-left{position:absolute;bottom:40px;left:40px}.metric-bottom-right{position:absolute;bottom:40px;right:40px}.shutter-center-group{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:36px;display:flex}.viewfinder-focus-box{pointer-events:none;justify-content:center;align-items:center;width:280px;height:280px;display:flex;position:relative}.focus-bracket{will-change:transform, border-color, border-width, filter;border-style:solid;width:30px;height:30px;position:absolute}.bracket-tl{border-bottom:none;border-right:none;animation:2.2s cubic-bezier(.16,1,.3,1) both focusBracketTL;top:0;left:0}.bracket-tr{border-bottom:none;border-left:none;animation:2.2s cubic-bezier(.16,1,.3,1) both focusBracketTR;top:0;right:0}.bracket-bl{border-top:none;border-right:none;animation:2.2s cubic-bezier(.16,1,.3,1) both focusBracketBL;bottom:0;left:0}.bracket-br{border-top:none;border-left:none;animation:2.2s cubic-bezier(.16,1,.3,1) both focusBracketBR;bottom:0;right:0}@keyframes focusBracketTL{0%{box-shadow:none;border-width:1px;border-color:#c9a84c26;transform:translate(-18px,-18px)}15%{box-shadow:none;border-width:1px;border-color:#c9a84c26;transform:translate(-18px,-18px)}to{border-color:var(--gold);border-width:1.5px;transform:translate(0);box-shadow:0 0 15px #c9a84c59}}@keyframes focusBracketTR{0%{box-shadow:none;border-width:1px;border-color:#c9a84c26;transform:translate(18px,-18px)}15%{box-shadow:none;border-width:1px;border-color:#c9a84c26;transform:translate(18px,-18px)}to{border-color:var(--gold);border-width:1.5px;transform:translate(0);box-shadow:0 0 15px #c9a84c59}}@keyframes focusBracketBL{0%{box-shadow:none;border-width:1px;border-color:#c9a84c26;transform:translate(-18px,18px)}15%{box-shadow:none;border-width:1px;border-color:#c9a84c26;transform:translate(-18px,18px)}to{border-color:var(--gold);border-width:1.5px;transform:translate(0);box-shadow:0 0 15px #c9a84c59}}@keyframes focusBracketBR{0%{box-shadow:none;border-width:1px;border-color:#c9a84c26;transform:translate(18px,18px)}15%{box-shadow:none;border-width:1px;border-color:#c9a84c26;transform:translate(18px,18px)}to{border-color:var(--gold);border-width:1.5px;transform:translate(0);box-shadow:0 0 15px #c9a84c59}}.focus-logo-container{pointer-events:none;will-change:transform, opacity, filter;justify-content:center;align-items:center;width:65%;height:65%;animation:2.4s cubic-bezier(.34,1.56,.64,1) both logoFocus;display:flex;position:absolute}@keyframes logoFocus{0%{opacity:0;filter:blur(6px);transform:scale(.5)rotate(-35deg)}15%{opacity:.1;filter:blur(5px);transform:scale(.6)rotate(-25deg)}to{opacity:.65;filter:blur();transform:scale(1)rotate(0)}}.focus-svg-logo{width:100%;height:100%;animation:4s ease-in-out infinite alternate logoGlow}.focus-svg-logo circle:first-of-type{stroke-dasharray:1131;stroke-dashoffset:1131px;animation:2.2s cubic-bezier(.16,1,.3,1) .1s both drawCircle1}.focus-svg-logo circle:nth-of-type(2){stroke-dasharray:1056;stroke-dashoffset:1056px;animation:2.2s cubic-bezier(.16,1,.3,1) .2s both drawCircle2}.focus-svg-logo circle:nth-of-type(3){stroke-dasharray:785;stroke-dashoffset:785px;animation:2.2s cubic-bezier(.16,1,.3,1) .3s both drawCircle3}.focus-svg-logo text{transform-origin:50%;will-change:transform, opacity, filter;animation:2s cubic-bezier(.16,1,.3,1) .4s both logoTextFocus}@keyframes drawCircle1{0%{stroke-dashoffset:1131px}to{stroke-dashoffset:0}}@keyframes drawCircle2{0%{stroke-dashoffset:1056px}to{stroke-dashoffset:0}}@keyframes drawCircle3{0%{stroke-dashoffset:785px}to{stroke-dashoffset:0}}@keyframes logoTextFocus{0%{opacity:0;filter:blur(5px);letter-spacing:-6px;transform:scale(.92)}20%{opacity:0;filter:blur(5px);letter-spacing:-6px;transform:scale(.92)}to{opacity:1;filter:blur();letter-spacing:2px;transform:scale(1)}}@keyframes logoGlow{0%{filter:drop-shadow(0 0 2px #c9a84c1a)}to{filter:drop-shadow(0 0 8px #c9a84c59)}}.brand-focus-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.brand-focus-logo{font-family:var(--font-head);color:var(--white);letter-spacing:8px;word-spacing:16px;text-transform:uppercase;will-change:filter, opacity, transform;margin-bottom:12px;font-size:clamp(20px,3.5vw,28px);font-weight:300;animation:2.4s cubic-bezier(.16,1,.3,1) both textFocus}.brand-focus-subtitle{font-family:var(--font-mono);color:var(--gold);letter-spacing:4px;text-transform:uppercase;will-change:filter, opacity, transform;font-size:9px;font-weight:300;animation:2.4s cubic-bezier(.16,1,.3,1) both subtitleFocus}@keyframes textFocus{0%{filter:blur(8px);opacity:0;transform:scale(.96)}15%{filter:blur(8px);opacity:0;transform:scale(.96)}to{filter:blur();opacity:1;text-shadow:0 0 20px #fafaf826;transform:scale(1)}}@keyframes subtitleFocus{0%{filter:blur(6px);opacity:0;transform:scale(.96)}25%{filter:blur(6px);opacity:0;transform:scale(.96)}to{filter:blur();opacity:.8;transform:scale(1)}}@media (max-width:768px){.viewfinder-metrics{padding:24px}.metric-top-left{top:24px;left:24px}.metric-top-right{top:24px;right:24px}.metric-bottom-left{bottom:24px;left:24px}.metric-bottom-right{bottom:24px;right:24px}.shutter-center-group{gap:28px}.viewfinder-focus-box{width:55vw;max-width:220px;height:55vw;max-height:220px}.brand-focus-logo{letter-spacing:5px;word-spacing:10px;white-space:nowrap;font-size:clamp(12px,4.5vw,18px)}}@media (max-width:480px){.viewfinder-metrics{opacity:.35;padding:16px;font-size:8px}.metric-top-left{top:16px;left:16px}.metric-top-right{top:16px;right:16px}.metric-bottom-left{bottom:16px;left:16px}.metric-bottom-right{bottom:16px;right:16px}.shutter-center-group{gap:20px}.viewfinder-focus-box{width:60vw;max-width:170px;height:60vw;max-height:170px}.brand-focus-logo{letter-spacing:4px;word-spacing:6px;white-space:nowrap;margin-bottom:8px;font-size:clamp(10px,4.2vw,14px)}.brand-focus-subtitle{letter-spacing:3px;white-space:nowrap;font-size:clamp(7px,2.2vw,9px)}}
:root{--bg:#0a0a08;--bg2:#111110;--bg3:#161614;--gold:#c9a84c;--gold-dim:#8a6e2e;--gold-glow:#c9a84c1f;--cream:#f2e8d5;--muted:#7a756c;--white:#fafaf8;--font-head:"Cormorant Garamond", Georgia, serif;--font-head-italic:"Cormorant Garamond", Georgia, serif;--font-body:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace;--radius:4px;--transition:.4s cubic-bezier(.25, .46, .45, .94);--page-edge:clamp(24px, 5vw, 72px);--section-y:clamp(88px, 9vw, 136px);--surface-soft:#fafaf809;--surface-strong:#fafaf811;--line-soft:#c9a84c24;--line-strong:#c9a84c3d;--text-soft:#f2e8d5d1;--text-faint:#f2e8d594}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;width:100%;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text-soft);font-family:var(--font-body);cursor:none;width:100%;max-width:100%;letter-spacing:.015em;background:radial-gradient(circle at 18% 12%, #c9a84c0b, transparent 28rem), var(--bg);font-synthesis:none;font-size:1rem;font-weight:400;line-height:1.76;overflow-x:hidden}p{max-width:66ch}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg);border-left:1px dashed #c9a84c26}::-webkit-scrollbar-thumb{background:var(--gold-dim);border:2px solid var(--bg);border-radius:4px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:var(--gold)}::selection{background:var(--gold);color:var(--bg)}.section-heading,.about-heading,.contact-heading{font-family:var(--font-head);color:var(--cream);letter-spacing:-.01em;font-size:clamp(2.2rem,5.5vw,3.5rem);font-weight:300;line-height:1.16}.section-heading em,.about-heading em,.contact-heading em{font-family:var(--font-head-italic);color:var(--gold);font-style:italic;font-weight:300}@media (max-width:1200px){.section-heading,.about-heading,.contact-heading{font-size:clamp(2rem,5vw,3.15rem)}}@media (max-width:768px){.section-heading,.about-heading,.contact-heading{font-size:clamp(1.85rem,8vw,2.35rem);line-height:1.12}}@media (max-width:480px){.section-heading,.about-heading,.contact-heading{font-size:1.75rem;line-height:1.15}}.hero-title,.about-heading,.section-heading,.contact-heading,.stat-num,.service-num,.service-title,.step-title,.footer-logo,.nav-logo{font-synthesis:none}.hero-title em,.about-heading em,.section-heading em,.contact-heading em,.testimonial-text,.gallery-title{font-family:var(--font-head-italic);font-style:italic;font-weight:300}.hero-eyebrow,.stat-label,.filter-btn,.gallery-cat,.service-desc,.step-desc,.contact-sub,.footer-links a{font-weight:300}.gold{color:var(--gold)}.muted{color:var(--muted)}.serif{font-family:var(--font-head)}.section-label{font-family:var(--font-mono);letter-spacing:4px;color:var(--gold);text-transform:uppercase;letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:16px;margin-bottom:1rem;font-size:.7rem;font-weight:300;display:flex}.section-label:before{content:"";background:var(--gold);width:30px;height:1px;display:block}.btn-primary,.btn-outline,.form-submit{font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;cursor:none;transition:all var(--transition);letter-spacing:.16em;border-radius:6px;padding:.95rem 1.55rem;font-size:.72rem;font-weight:600;text-decoration:none}.btn-primary,.form-submit{background:var(--gold);color:var(--bg);background:linear-gradient(135deg, #e3c768, var(--gold));border:none;box-shadow:0 1rem 2.5rem #c9a84c2e}.btn-primary:hover,.form-submit:hover{background:#dbbf6e;transform:translateY(-2px);box-shadow:0 12px 32px #c9a84c4d}.btn-outline{color:var(--cream);background:#fafaf809;border:1px solid #f2e8d538}.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}.social-link{width:40px;height:40px;color:var(--muted);transition:all var(--transition);cursor:none;background:#0a0a0857;border:1px solid #c9a84c3d;border-radius:50%;justify-content:center;align-items:center;width:2.65rem;height:2.65rem;font-size:15px;text-decoration:none;display:flex}.social-link:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.15s}.reveal-delay-2{transition-delay:.3s}.reveal-delay-3{transition-delay:.45s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}button,a,input[type=submit],input[type=button],.social-link,.filter-btn,.btn-primary,.btn-outline,.form-submit,.lightbox-close{min-width:44px;min-height:44px}img{object-fit:cover;max-width:100%}body{font-size:14px}@media (max-width:768px){input,textarea,select{font-size:16px!important}}
