.finish-natural-wood{--finish:#bfac90;--texture-vertical:url(/frames/natural-wood-vertical-v266.svg);--texture-horizontal:url(/frames/natural-wood-horizontal-v266.svg)}.finish-dark-wood{--finish:#52372d;--texture-vertical:url(/frames/dark-wood-vertical-v266.svg);--texture-horizontal:url(/frames/dark-wood-horizontal-v266.svg)}.finish-white-aluminium{--finish:#f1f0eb;--texture-vertical:url(/frames/white-aluminium-vertical-v266.svg);--texture-horizontal:url(/frames/white-aluminium-horizontal-v266.svg)}.finish-black{--finish:#161616;--texture-vertical:url(/frames/black-vertical-v267.svg);--texture-horizontal:url(/frames/black-horizontal-v267.svg)}.finish-brushed-gold{--finish:#cfc293;--texture-vertical:url(/frames/brushed-gold-vertical-v234.svg);--texture-horizontal:url(/frames/brushed-gold-horizontal-v234.svg)}.finish-brushed-silver{--finish:#cbcbc6;--texture-vertical:url(/frames/brushed-silver-vertical-v234.svg);--texture-horizontal:url(/frames/brushed-silver-horizontal-v234.svg)}.portrait-option-section{border:0;padding:0;margin:24px 0;min-width:0}.portrait-option-section legend{font-weight:600;font-size:15px;margin-bottom:12px;padding:0}.portrait-finish-options{grid-template-columns:1fr 1fr}.portrait-finish-options,.portrait-glazing-options{display:grid;grid-gap:10px;gap:10px}.portrait-choice{color:var(--ink);text-align:left;background:#fcf9f3;border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;transition:border-color .15s,background .15s}.portrait-choice span,.portrait-choice strong{display:block}.portrait-choice strong{font-size:15px}.portrait-choice span{font-size:12px;line-height:1.55;margin-top:7px;color:#7a6b5e}.portrait-choice em{font-style:normal;font-size:11px;white-space:nowrap;display:inline-block;margin-left:6px;color:#806138}.portrait-choice.selected{border:2px solid #62482e;padding:15px;background:#f4ebdc}.portrait-choice:hover{border-color:#947b5d}.frame-material-note,.frame-preview-note{font-size:12px;line-height:1.5;color:#807164;margin:0 0 14px}.frame-preview-note{background:#f7f0e5;padding:12px 14px;border-radius:10px}.frame-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.frame-swatch-button{border:0;background:none;color:var(--ink);padding:6px 2px;display:flex;align-items:center;flex-direction:column;gap:10px;font-size:11px;line-height:1.3;cursor:pointer;text-align:center}.frame-swatch{width:52px;max-width:100%;aspect-ratio:1;border-radius:50%;background-color:var(--finish);background-image:linear-gradient(105deg,#ffffff10,transparent 50%,#00000010),var(--texture-vertical);background-size:100% 100%,100% 240px;box-shadow:inset 0 0 0 1px #00000015,0 2px 5px #00000012;position:relative}.frame-swatch-button.selected .frame-swatch{outline:2px solid #62482e;outline-offset:4px}.frame-swatch-button.selected{font-weight:700}.frame-swatch-button.selected .frame-swatch:after{content:"✓";position:absolute;bottom:-3px;right:-3px;background:#62482e;color:white;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:11px;border:2px solid #fff8ef}.portrait-artwork{width:100%;margin:auto}.portrait-frame{position:relative;width:100%;margin:0 auto;padding:0;display:grid;background:var(--finish);box-shadow:0 2px 3px #30271928,0 12px 22px -7px #30271935;isolation:isolate}.portrait-frame-art{position:relative;z-index:1;min-width:0;margin:var(--rail-width,5%);box-shadow:0 0 0 1px #00000060}.portrait-frame .portrait-frame-art img{display:block;width:100%;max-width:none;height:auto;aspect-ratio:auto;object-fit:contain;margin:0;border-radius:0;box-shadow:none}.frame-rail{position:absolute;z-index:2;pointer-events:none;background-color:var(--finish);background-image:linear-gradient(90deg,#00000030 0,#ffffff35 .7px,transparent 1.8px,transparent 88%,#00000018 95%,#00000055 100%),var(--texture-vertical);background-size:100% 100%}.rail-left{inset:0 auto 0 0;-webkit-clip-path:polygon(0 0,100% var(--corner-height),100% calc(100% - var(--corner-height)),0 100%);clip-path:polygon(0 0,100% var(--corner-height),100% calc(100% - var(--corner-height)),0 100%)}.rail-left,.rail-right{width:var(--rail-width)}.rail-right{inset:0 0 0 auto;-webkit-clip-path:polygon(0 var(--corner-height),100% 0,100% 100%,0 calc(100% - var(--corner-height)));clip-path:polygon(0 var(--corner-height),100% 0,100% 100%,0 calc(100% - var(--corner-height)))}.rail-bottom,.rail-top{left:0;right:0;height:0;padding-bottom:var(--rail-width);background-image:linear-gradient(0deg,#00000055 0,#00000018 5%,transparent 12%,transparent calc(100% - 1.8px),#ffffff35 calc(100% - .7px),#00000030 100%),var(--texture-horizontal);background-size:100% 100%}.rail-right{background-image:linear-gradient(90deg,#00000055 0,#00000018 5%,transparent 12%,transparent calc(100% - 1.8px),#ffffff35 calc(100% - .7px),#00000030 100%),var(--texture-vertical)}.rail-bottom{background-image:linear-gradient(0deg,#00000030 0,#ffffff20 .7px,transparent 1.8px,transparent 88%,#00000018 95%,#00000055 100%),var(--texture-horizontal)}.rail-top{top:0;-webkit-clip-path:polygon(0 0,100% 0,calc(100% - var(--rail-width)) 100%,var(--rail-width) 100%);clip-path:polygon(0 0,100% 0,calc(100% - var(--rail-width)) 100%,var(--rail-width) 100%)}.rail-bottom{bottom:0;-webkit-clip-path:polygon(var(--rail-width) 0,calc(100% - var(--rail-width)) 0,100% 100%,0 100%);clip-path:polygon(var(--rail-width) 0,calc(100% - var(--rail-width)) 0,100% 100%,0 100%)}.portrait-preview .portrait-artwork,.portrait-preview .portrait-frame{max-width:520px}.portrait-example .portrait-artwork img{border-radius:0}.basket-preview-trigger .portrait-artwork,.basket-preview-trigger .portrait-frame{width:70px}.basket-preview-trigger .portrait-artwork img,.basket-preview-trigger .portrait-frame img{width:100%;height:auto;border-radius:0;object-fit:contain;aspect-ratio:auto}.basket-preview-modal-card .portrait-artwork,.basket-preview-modal-card .portrait-frame{width:min(100%,460px)}.frame-swatch-button:focus-visible,.portrait-choice:focus-visible{outline:3px solid #a88853;outline-offset:4px}@media(max-width:420px){.frame-swatch{width:42px}.frame-swatch-button{font-size:10px}.portrait-finish-options{grid-template-columns:1fr}.portrait-choice{padding:14px}.portrait-choice.selected{padding:13px}}.basket-preview-trigger .frame-rail{margin:0!important}.portrait-size .portrait-size-price{font-size:18px;font-weight:700;line-height:1.3;opacity:1;margin-top:9px}.portrait-white-border{position:relative;width:100%;background:#fff;overflow:hidden}.portrait-border-crop{position:absolute;overflow:hidden}.portrait-border-crop>img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;margin:0!important;box-shadow:none!important}.portrait-border-widths{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:12px}.portrait-border-widths .portrait-choice{text-align:center}.portrait-frame:is(.finish-natural-wood,.finish-dark-wood) .rail-left{background-image:linear-gradient(90deg,#00000028 0,#ffffff25 1px,transparent 4%,transparent 90%,#00000038 100%),var(--texture-vertical)}.portrait-frame:is(.finish-natural-wood,.finish-dark-wood) .rail-right{background-image:linear-gradient(90deg,#00000038 0,transparent 10%,transparent 96%,#ffffff20 calc(100% - 1px),#00000028 100%),var(--texture-vertical)}.portrait-frame:is(.finish-natural-wood,.finish-dark-wood) .rail-top{background-image:linear-gradient(0deg,#00000038 0,transparent 10%,transparent 96%,#ffffff25 calc(100% - 1px),#00000028 100%),var(--texture-horizontal)}.portrait-frame:is(.finish-natural-wood,.finish-dark-wood) .rail-bottom{background-image:linear-gradient(0deg,#00000028 0,#ffffff20 1px,transparent 4%,transparent 90%,#00000038 100%),var(--texture-horizontal)}.frame-swatch.finish-black{background-image:linear-gradient(105deg,#ffffff05,transparent 50%,#00000010),var(--texture-vertical)}.portrait-frame.finish-black .rail-left{background-image:linear-gradient(90deg,#00000055 0,#ffffff18 .7px,transparent 1.8px,transparent 92%,#00000035 100%),var(--texture-vertical)}.portrait-frame.finish-black .rail-right{background-image:linear-gradient(90deg,#00000035 0,transparent 8%,transparent calc(100% - 1.8px),#ffffff14 calc(100% - .7px),#00000055 100%),var(--texture-vertical)}.portrait-frame.finish-black .rail-top{background-image:linear-gradient(0deg,#00000035 0,transparent 8%,transparent calc(100% - 1.8px),#ffffff18 calc(100% - .7px),#00000055 100%),var(--texture-horizontal)}.portrait-frame.finish-black .rail-bottom{background-image:linear-gradient(0deg,#00000055 0,#ffffff14 .7px,transparent 1.8px,transparent 92%,#00000035 100%),var(--texture-horizontal)}.portrait-mobile-floating-preview{display:none}.portrait-enlarged-preview{border:1px solid #e3d6c4;border-radius:20px;padding:20px;background:#fbf7ef;color:var(--ink);max-width:calc(100vw - 28px);max-height:calc(100svh - 28px);margin:auto;box-shadow:0 18px 60px #21180f40;overscroll-behavior:contain}.portrait-enlarged-preview[open]{display:flex;flex-direction:column;align-items:center;gap:16px}.portrait-enlarged-preview::-webkit-backdrop{background:#21180fa6}.portrait-enlarged-preview::backdrop{background:#21180fa6}.portrait-enlarged-preview h2{font-size:16px;font-weight:600;line-height:20px;margin:0}.portrait-enlarged-preview-art{width:min(calc(100vw - 72px),calc((100svh - 240px) * .69));max-width:480px;flex:none}.portrait-enlarged-preview-art img{display:block;width:100%;height:auto;aspect-ratio:210/297;object-fit:contain;border-radius:0}.portrait-enlarged-preview-close{border:1px solid #62482e;border-radius:999px;background:#5a3b27;color:#fff;padding:12px 20px;min-height:44px;font-size:14px;font-weight:600;cursor:pointer}.portrait-enlarged-preview-close:focus-visible{outline:3px solid #a88853;outline-offset:3px}@media(max-width:760px){.portrait-example>div:has(.portrait-frame),.portrait-preview{transition:opacity .38s ease}.portrait-mobile-floating-preview{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:fixed;left:0;right:0;width:100%;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 16px 10px;background:#fbf7ef;border:0;border-bottom:1px solid #e3d6c4;box-shadow:0 7px 18px #39281916;cursor:zoom-in;color:var(--ink);opacity:0;transform:translateY(-20px);visibility:hidden;pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out,visibility 0s .18s}.portrait-mobile-floating-preview.is-visible{opacity:var(--portrait-dock-progress,1);transform:translateY(var(--portrait-dock-offset,0));visibility:visible;pointer-events:auto;transition-delay:0s}.portrait-mobile-floating-preview:focus-visible{outline:3px solid #a88853;outline-offset:-3px}.portrait-mobile-floating-label{display:flex;align-items:center;gap:12px;font-size:10px;line-height:14px;letter-spacing:.14em;text-transform:uppercase;color:#85786a}.portrait-mobile-enlarge-hint{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:#62482e}.portrait-mobile-floating-art{flex:none;max-width:calc(100vw - 32px)}.portrait-mobile-floating-art img{display:block;width:100%;height:auto;aspect-ratio:210/297;object-fit:contain;border-radius:0}.portrait-mobile-floating-art .portrait-frame{box-shadow:0 2px 8px #30271925}.portrait-result-options{padding-bottom:4px}.portrait-preview.has-generated-portrait .portrait-reveal-art{width:min(100%,calc((100svh - var(--portrait-reveal-header, 80px) - 110px) * .69));margin-inline:auto}.portrait-preview.portrait-reveal-ready .portrait-reveal-art{animation:portrait-first-reveal .55s ease both}}@keyframes portrait-first-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.portrait-example>div:has(.portrait-frame),.portrait-mobile-floating-preview,.portrait-preview{transition:none}.portrait-preview.portrait-reveal-ready .portrait-reveal-art{animation:none}}.portrait-result-enlarge{display:none}@media(max-width:760px){.portrait-mobile-result-panel .portrait-preview{padding:12px;margin-top:0;border-radius:16px}.portrait-mobile-result-panel .preview-title{font-size:10px;line-height:14px;margin-bottom:8px}.portrait-mobile-result-panel .portrait-preview .portrait-reveal-art{width:min(100%,calc((var(--portrait-panel-height, 620px) - var(--portrait-options-height, 220px) - 88px) * .69));margin-inline:auto;cursor:zoom-in}.portrait-mobile-result-panel .portrait-preview .football-preview-team{font-size:12px;line-height:16px;margin:0 0 6px}.portrait-mobile-result-panel .portrait-result-enlarge{display:block;width:100%;border:0;background:transparent;color:#62482e;font-size:11px;line-height:16px;min-height:28px;padding:4px;cursor:zoom-in}.portrait-mobile-result-panel .portrait-option-section{margin:8px 0 0}.portrait-mobile-result-panel .portrait-option-section legend{font-size:12px;line-height:16px;margin-bottom:6px}.portrait-mobile-result-panel .frame-material-note{display:none}.portrait-mobile-result-panel .frame-swatch-button{padding:5px 1px;gap:6px;font-size:10px;line-height:12px;min-height:72px}.portrait-mobile-result-panel .frame-swatch{width:38px}.portrait-mobile-result-panel .frame-swatch-button.selected .frame-swatch{outline-offset:3px}.portrait-mobile-result-panel .portrait-finish-options{grid-template-columns:1fr 1fr;gap:8px}.portrait-mobile-result-panel .portrait-choice{padding:8px 6px;min-height:44px;text-align:center;border-radius:10px}.portrait-mobile-result-panel .portrait-choice.selected{padding:7px 5px}.portrait-mobile-result-panel .portrait-choice strong{font-size:12px;line-height:16px}.portrait-mobile-result-panel .portrait-border-widths{margin-top:6px;gap:8px}.portrait-mobile-result-panel .portrait-result-options{padding-bottom:0}}@media(prefers-reduced-motion:reduce){.portrait-mobile-floating-preview{transform:none!important}}.portrait-enlarged-preview .watermark-note{margin-top:0;max-width:360px}