button.quote-link{border:0;background:none;color:inherit;padding:0;font:inherit;cursor:pointer}.quote-drawer{position:fixed;inset:0 calc(-1 * var(--qd-gutter, 0px)) 0 auto;width:min(640px,var(--qd-viewport-width,100vw));height:100dvh;max-width:var(--qd-viewport-width,100vw);max-height:100dvh;margin:0;padding:0;border:0;color:var(--ink);background:#fafaf8;overflow:hidden;box-shadow:-24px 0 100px #0003}.quote-drawer::backdrop{background:#10121699;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.quote-drawer[open]{animation:quote-drawer-in .38s cubic-bezier(.2,.75,.2,1) both}.quote-drawer[open]::backdrop{animation:quote-backdrop-in .3s ease both}.qd-shell{display:flex;flex-direction:column;height:100%}.qd-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:32px 34px 26px;background:var(--ink);color:white;border-top:4px solid var(--red);flex-shrink:0}.qd-eyebrow{display:block;font-size:10px;letter-spacing:1.7px;font-weight:600}.qd-header .qd-eyebrow{color:#aeb0b5}.qd-header h2{font:600 clamp(36px,4vw,46px)/1.05 var(--heading);margin:10px 0 0;letter-spacing:-.5px}.qd-header h2:focus{outline:none}.qd-close{width:42px;height:42px;border:1px solid #ffffff45;border-radius:50%;display:grid;place-items:center;background:transparent;color:white;cursor:pointer;transition:background .2s,transform .2s;flex-shrink:0}.qd-close:hover{background:var(--red);border-color:var(--red);transform:rotate(90deg)}.qd-steps{gap:18px;padding:20px 34px;border-bottom:1px solid var(--line);background:white;flex-shrink:0}.qd-steps,.qd-steps span{display:flex;align-items:center}.qd-steps span{gap:8px;font-size:12px;color:#74777c}.qd-steps b{width:25px;height:25px;border:1px solid #d4d4d2;border-radius:50%;display:grid;place-items:center;font-size:10px}.qd-steps i{width:44px;height:1px;background:var(--line)}.qd-steps .is-current{color:var(--ink);font-weight:700}.qd-steps .is-current b{color:white;background:var(--red);border-color:var(--red)}.qd-steps .is-complete b{color:white;background:var(--ink);border-color:var(--ink)}.qd-scroll{min-height:0;flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:0 34px;scrollbar-width:thin}.qd-scroll [hidden]{display:none!important}.qd-list-heading{display:flex;justify-content:space-between;padding:23px 0 16px;color:#6b6e73;font-size:11px;text-transform:uppercase;letter-spacing:1px}.qd-item{display:grid;grid-template-columns:118px minmax(0,1fr);gap:22px;padding:22px 0;border-top:1px solid var(--line)}.qd-photo{display:grid;place-items:center;width:118px;height:128px;background:#edede9;overflow:hidden}.qd-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s}.qd-photo:hover img{transform:scale(1.06)}.qd-brand{font-size:9px;letter-spacing:1.3px;color:var(--red-dark);font-weight:700}.qd-item h3{font:600 27px/1.08 var(--heading);margin:7px 0 8px}.qd-item h3 a{color:inherit}.qd-item-info>p{font-size:11px;color:#6b6e73;line-height:1.55;margin:0}.qd-item-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:18px}.qd-item-controls label{display:flex;align-items:center;gap:10px;font-size:10px;color:#6b6e73}.qd-item-controls input{width:65px;height:38px;border:1px solid #d2d3d0;border-radius:0;background:white;padding:6px 8px;color:var(--ink);font:500 13px var(--body)}.qd-remove{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#65696e;font-size:10px;cursor:pointer;padding:10px 0 10px 8px}.qd-remove:hover{color:var(--red-dark)}.qd-continue{margin:12px 0 28px;font-size:12px}.qd-assurance{display:flex;align-items:flex-start;gap:14px;padding:20px;margin-bottom:28px;background:#eeefeb}.qd-assurance>svg{flex-shrink:0;color:var(--red-dark)}.qd-assurance p{font-size:11px;line-height:1.7;color:#6b6e73;margin:0}.qd-assurance strong{display:block;color:var(--ink);font-weight:600}.qd-footer{color:var(--ink);display:flex;gap:20px;align-items:center;justify-content:space-between;padding:22px 34px max(22px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:white;flex-shrink:0;box-shadow:0 -12px 32px #1b1e2207}.qd-summary span{display:block;color:#75787c;font-size:10px;margin-bottom:5px}.qd-summary strong{color:var(--ink);display:block;font-size:12px;font-weight:600}.qd-next{flex-shrink:0;min-height:50px;font-size:12px;padding:15px 23px}.qd-next:disabled{opacity:.45;cursor:not-allowed}.qd-message{min-height:100%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;padding:42px 6px}.qd-empty-icon{width:86px;height:86px;display:grid;place-items:center;border:1px solid #d4d6d0;border-radius:50%;margin-bottom:30px;position:relative;color:var(--red)}.qd-empty-icon:after{content:"";position:absolute;inset:-9px;border:1px dashed #d4d6d0;border-radius:50%}.qd-message .qd-eyebrow{color:#73777b;font-size:9px}.qd-message h3{font:600 clamp(46px,5vw,62px)/.98 var(--heading);margin:17px 0 18px;letter-spacing:-.6px}.qd-message>p{max-width:400px;font-size:13px;line-height:1.8;color:#686d72;margin:0 0 25px}.qd-message .text-link{font-size:11px;margin-top:22px}.qd-success>svg{color:var(--red);margin-bottom:24px}.qd-message .qd-small{margin-top:15px;font-size:11px}.qd-status{padding:22px 0;font-size:12px;color:#73777c}.qd-load-error{padding:22px 0;font-size:13px}.qd-load-error .text-link{font-size:12px}.qd-back{margin:24px 0 18px;font-size:11px}.qd-form-intro{font-size:13px;color:#6b6e73;margin:0 0 24px}.qd-form{padding:0 0 25px;background:transparent}.qd-form fieldset{border:0;margin:0;padding:0;min-width:0}.qd-form .form-grid{gap:18px}.qd-form label{font-size:11px}.qd-form input:not([type=checkbox]),.qd-form textarea{padding:12px;font-size:13px;background:white;border:1px solid #d5d6d1;border-radius:0}.qd-form textarea{resize:vertical;min-height:100px}.qd-form input:focus,.qd-form textarea:focus{outline:2px solid var(--red);outline-offset:2px}.qd-form .check-label{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.6;margin:20px 0}.qd-form .check-label input{margin:3px 0 0;flex-shrink:0;accent-color:var(--red)}.qd-form .check-label a{text-decoration:underline}.qd-small{font-size:10px;color:#6b6e73;line-height:1.7}.qd-small a{text-decoration:underline}.quote-entry{min-height:70vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.quote-entry h1{font:600 clamp(56px,7vw,90px)/.95 var(--heading);margin:20px 0}.quote-entry>p{max-width:440px;color:#6b6e73;line-height:1.7;font-size:15px}.quote-entry-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:25px}@keyframes quote-drawer-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes quote-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes quote-backdrop-in{0%{opacity:0}to{opacity:1}}@media (max-width:640px){.quote-drawer{inset:auto calc(-1 * var(--qd-gutter, 0px)) 0 auto;width:var(--qd-viewport-width,100vw);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:16px 16px 0 0}.quote-drawer[open]{animation-name:quote-sheet-in}.qd-header{padding:23px 22px 22px;border-top:0;position:relative}.qd-header:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:34px;height:3px;border-radius:2px;background:#ffffff40}.qd-header h2{font-size:36px}.qd-header .qd-eyebrow{font-size:8px}.qd-close{width:36px;height:36px}.qd-scroll{padding:0 22px}.qd-steps{padding:15px 22px}.qd-item{grid-template-columns:84px minmax(0,1fr);gap:16px;padding:20px 0}.qd-photo{width:84px;height:100px}.qd-item h3{font-size:24px}.qd-item-info>p{font-size:10px}.qd-item-controls{flex-wrap:wrap;gap:6px;margin-top:13px}.qd-item-controls input{width:58px}.qd-footer{display:block;padding:16px 22px max(16px,env(safe-area-inset-bottom))}.qd-summary{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}.qd-summary span{margin:0}.qd-summary strong{font-size:11px}.qd-next{width:100%;justify-content:space-between;min-height:48px}.qd-message{padding:34px 0}.qd-message h3{font-size:50px}.qd-message>p{font-size:12px}.qd-message .button{width:100%;justify-content:space-between}.qd-form .form-grid{grid-template-columns:1fr;gap:14px}.qd-form input:not([type=checkbox]),.qd-form textarea{font-size:16px}.qd-form label{font-size:12px}.qd-form .check-label{font-size:11px}}@media (prefers-reduced-motion:reduce){.quote-drawer[open],.quote-drawer[open]::backdrop{animation:none}.qd-close,.qd-photo img{transition:none}}.photo-hero{position:relative;isolation:isolate;overflow:hidden;min-height:540px;display:flex;align-items:center;background:#1b2024;color:white;padding:90px 5vw}.photo-hero-image{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 52%}.photo-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,18,22,.88),rgba(13,18,22,.68) 45%,rgba(13,18,22,.24)),linear-gradient(0deg,rgba(13,18,22,.35),transparent 60%)}.photo-hero-content{width:100%;max-width:1120px}.photo-hero .eyebrow{color:#e6e8e8;font-size:10px;letter-spacing:2px;margin:0 0 23px}.photo-hero h1{max-width:1040px;margin:0;color:white;font:600 clamp(64px,6.5vw,104px)/.97 var(--heading);letter-spacing:-1.25px;text-wrap:balance}.photo-hero h1 span{color:white}.photo-hero-description{max-width:610px;color:#e0e2e2;font-size:15px;line-height:1.8;margin-top:26px}.photo-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:32px}.photo-hero-actions .text-link{color:white;border-color:#ffffff60;font-size:13px}.photo-hero-actions .text-link:hover{color:#ff8693}.photo-hero--compact{min-height:340px;padding-top:65px;padding-bottom:65px}.photo-hero--compact h1{font-size:clamp(56px,5.6vw,84px)}.photo-hero--compact .photo-hero-description{margin-top:20px;font-size:14px}.services-photographic{background:#f3f3ef}.services-photographic>.services-photo-section{padding-top:50px}@media (max-width:800px){.photo-hero{min-height:450px;padding:65px 6%}.photo-hero:after{background:linear-gradient(90deg,rgba(13,18,22,.84),rgba(13,18,22,.5)),linear-gradient(0deg,rgba(13,18,22,.4),transparent 70%)}.photo-hero-image{object-position:60% center}.photo-hero .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:20px}.photo-hero h1{font-size:clamp(48px,9vw,76px);letter-spacing:-.65px}.photo-hero-description{font-size:13px;margin-top:22px;max-width:540px}.photo-hero-actions{margin-top:27px;gap:22px}.photo-hero-actions .text-link{font-size:12px}.photo-hero--compact{min-height:280px;padding-top:52px;padding-bottom:52px}.photo-hero--compact h1{font-size:clamp(48px,8vw,66px)}.photo-hero--compact .photo-hero-description{font-size:13px}.services-photographic>.services-photo-section{padding-top:30px}}