.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--color-teal: #1a9e9a;--color-teal-soft: #e3f3f2;--color-magenta: #c2456f;--color-ink: #1e3436;--color-ink-soft: #4d6466;--color-light: #ffffff;--color-paper: #f6f8f8;--color-muted: #eef3f3;--color-mat: #e9dcc8;--color-border: rgba(30, 52, 54, .12);--font-display: "Young Serif", Georgia, serif;--font-body: "Figtree", system-ui, sans-serif;--shadow-soft: 0 12px 40px rgba(30, 52, 54, .12);--radius-lg: 22px;--radius-md: 14px;--container: 1100px}@media (min-width: 1440px){:root{--container: 1240px}}@media (min-width: 1920px){:root{--container: 1440px}html{font-size:106.25%}}@media (min-width: 2400px){:root{--container: 1600px}html{font-size:118.75%}}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{font-family:var(--font-body);font-size:1.0625rem;color:var(--color-ink);background:var(--color-paper);line-height:1.6}h1,h2{font-family:var(--font-display);font-weight:400;line-height:1.15;letter-spacing:-.01em}h3{font-weight:650;line-height:1.3}:focus-visible{outline:3px solid var(--color-teal);outline-offset:3px;border-radius:6px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--container),92vw);margin:0 auto}.app-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.page{background:var(--color-paper)}.top-bar{background:var(--color-teal-soft);color:var(--color-ink);font-size:.875rem}.top-bar__content{display:flex;justify-content:space-between;align-items:center;padding:10px 0;gap:16px;flex-wrap:wrap}.top-bar__notice{opacity:.9}.top-bar__meta{display:flex;gap:16px;align-items:center;color:var(--color-ink-soft)}@media (max-width: 700px){.top-bar__contact{display:none}}.lang-switcher{display:flex;align-items:center;gap:4px}.lang-btn{background:none;border:none;color:var(--color-ink);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;opacity:.6;padding:2px 4px;letter-spacing:.05em;transition:opacity .15s}.lang-btn:hover{opacity:1}.lang-btn--active{opacity:1;text-decoration:underline;text-underline-offset:3px}.lang-sep{opacity:.4;font-size:.75rem}.nav-shell{background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.nav-shell__content{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:24px}.brand img{width:52px;height:52px;border-radius:14px;object-fit:cover}.nav-links{display:flex;gap:22px;font-size:.95rem}.nav-link{padding-bottom:4px;border-bottom:2px solid transparent}.nav-link.active,.nav-link:hover{border-bottom-color:var(--color-teal)}.cart-pill{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--color-border);font-size:.9rem}.cart-pill__count{background:var(--color-ink);color:#fff;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:.75rem}.hero{padding:72px 0 88px}.hero__content{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}.hero h1{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:20px;max-width:13ch}.hero__lead{font-size:1.2rem;color:var(--color-ink-soft);max-width:34em;margin-bottom:32px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap}.album-photo{position:relative;background:var(--color-mat);padding:18px 18px 56px;border-radius:4px;transform:rotate(1.6deg);box-shadow:0 1px 2px #1e34361f,0 24px 48px -16px #1e343647}.album-photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:62% 78%;border-radius:2px}.album-photo__corner{position:absolute;width:34px;height:34px;background:var(--color-ink)}.album-photo__corner--tl{top:8px;left:8px;clip-path:polygon(0 0,100% 0,0 100%)}.album-photo__corner--tr{top:8px;right:8px;clip-path:polygon(0 0,100% 0,100% 100%)}.album-photo__corner--bl{bottom:46px;left:8px;clip-path:polygon(0 0,0 100%,100% 100%)}.album-photo__corner--br{bottom:46px;right:8px;clip-path:polygon(100% 0,100% 100%,0 100%)}@media (max-width: 860px){.hero{padding:40px 0 64px}.hero__content{grid-template-columns:1fr;gap:48px}.album-photo{max-width:480px;padding:12px 12px 40px;transform:rotate(1deg)}.album-photo__corner{width:24px;height:24px}.album-photo__corner--tl,.album-photo__corner--tr{top:5px}.album-photo__corner--tl,.album-photo__corner--bl{left:5px}.album-photo__corner--tr,.album-photo__corner--br{right:5px}.album-photo__corner--bl,.album-photo__corner--br{bottom:33px}}.lineage{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;position:relative}.lineage:before{content:"";position:absolute;top:23px;left:24px;right:calc(100% / 3 - 24px);border-top:2px dashed var(--color-teal);opacity:.55}.lineage__step{position:relative}.lineage__node{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--color-paper);border:2px solid var(--color-teal);color:var(--color-teal);font-weight:700;font-size:1.15rem;margin-bottom:20px;position:relative}.lineage__step h3{font-size:1.2rem;margin-bottom:8px}.lineage__step p{color:var(--color-ink-soft);max-width:30ch}@media (max-width: 760px){.lineage{grid-template-columns:1fr;gap:32px}.lineage:before{display:none}.lineage__step{padding-left:72px}.lineage__step:not(:last-child):before{content:"";position:absolute;left:23px;top:48px;bottom:-32px;border-left:2px dashed var(--color-teal);opacity:.55}.lineage__node{position:absolute;left:0;top:0}}.btn{border-radius:999px;padding:13px 26px;font-family:inherit;font-size:1rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;background:transparent}.btn-primary{background:var(--color-teal);color:#fff}.btn-primary:hover{background:#158581}.btn-ghost{border:1.5px solid var(--color-border);color:var(--color-ink);background:#fff}.btn-ghost:hover{border-color:var(--color-teal)}.section{padding:80px 0}.section--muted{background:var(--color-muted)}.section__header{margin-bottom:40px;max-width:600px}.section__header h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:12px}.section__header p{color:var(--color-ink-soft)}.feature-split h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:12px}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:#fff;border-radius:var(--radius-md);padding:26px;box-shadow:0 12px 30px #051e1e14}.card h3{margin-bottom:10px}.product-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 40px #051e1e1f;display:flex;flex-direction:column}.product-card__image img{width:100%;height:220px;object-fit:cover}.product-card__body{padding:24px;display:flex;flex-direction:column;gap:20px;height:100%;justify-content:space-between}.product-card__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.product-card__actions{display:flex;gap:10px}.price{font-size:1.2rem;font-weight:600}.feature-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;align-items:center}.feature-image__frame{border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft)}.list{list-style:none;margin:24px 0;display:grid;gap:10px}.list li:before{content:"●";color:var(--color-teal);margin-right:12px}.list li{display:flex;align-items:center;gap:8px}.cta{background:var(--color-ink);color:#fff;padding:80px 0}.cta__content{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.page-hero{background:var(--color-muted);padding:60px 0}.page-hero p:not(.pill){max-width:62ch}.notice{margin-top:16px;padding:12px 16px;border-radius:10px;background:#23c7c226;color:var(--color-ink)}.notice--error{background:#c7235f26}.notice--success{background:#23c7c233}.product-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;align-items:center}.product-detail__image img{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.product-detail__content{display:grid;gap:18px}.lead{font-size:1.05rem}.pill{padding:6px 14px;background:#23c7c226;border-radius:999px;display:inline-flex;width:fit-content}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{background:var(--color-muted);padding:6px 10px;border-radius:999px;font-size:.8rem}.product-detail__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cart-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px}.cart-list{display:grid;gap:18px}.cart-item{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;padding:16px;border-radius:var(--radius-md);background:#fff;box-shadow:0 10px 20px #051e1e14}.cart-item img{width:120px;height:90px;object-fit:cover;border-radius:12px}.cart-item__actions{display:grid;gap:10px;justify-items:start}.cart-item input{width:70px;padding:6px 8px;border:1px solid var(--color-border);border-radius:8px}.cart-summary{background:#fff;border-radius:var(--radius-md);padding:24px;box-shadow:0 16px 30px #051e1e14;display:grid;gap:12px;height:fit-content}.summary-row{display:flex;justify-content:space-between;font-size:.95rem}.summary-row--total{font-weight:600;font-size:1.1rem;border-top:1px solid var(--color-border);padding-top:10px}.checkout-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:32px}.checkout-form{display:grid;gap:16px;background:#fff;padding:24px;border-radius:var(--radius-md);box-shadow:0 16px 30px #051e1e14}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}label{display:grid;gap:6px;font-size:.9rem}input,textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--color-border);font-family:inherit}input.input--error,textarea.input--error{border-color:var(--color-magenta);outline:none}.field-error{font-size:.78rem;color:var(--color-magenta);margin-top:2px}.notes-counter{font-size:.78rem;color:var(--color-muted, #aaa);text-align:right;opacity:.6}.payment-methods{display:grid;gap:10px}.payment-method-option{display:flex;align-items:center;gap:10px;padding:12px 16px;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.95rem;transition:border-color .2s}.payment-method-option input[type=radio]{width:auto;margin:0}.payment-method-option--active{border-color:var(--color-primary, #0070ba);background:#0070ba0d}.payment-section{display:grid;gap:12px}.empty-state{background:var(--color-muted);padding:30px;border-radius:var(--radius-md);display:grid;gap:16px;justify-items:start}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}.contact-form{display:grid;gap:14px}.site-footer{background:var(--color-ink);color:#fff;padding:60px 0 30px}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;margin-bottom:30px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;font-size:.85rem;opacity:.7;text-align:center}.btn.disabled{pointer-events:none;opacity:.6}.nav-shell__right{display:flex;align-items:center;gap:12px}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.hamburger span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:transform .22s ease,opacity .22s ease;transform-origin:center}.hamburger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:flex;flex-direction:column;border-top:1px solid rgba(0,0,0,.08);animation:mobile-menu-in .18s ease}@keyframes mobile-menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mobile-menu__priority{padding:12px 24px 10px;border-bottom:1px solid rgba(0,0,0,.07);display:flex;flex-direction:column;gap:4px;background:#23c7c20a}.mobile-menu__section{padding:8px 24px 4px;display:flex;flex-direction:column}.mobile-menu__auth{padding:12px 24px 16px;border-top:1px solid rgba(0,0,0,.07)}.mobile-menu__signin{width:100%}.mobile-menu__signout{background:none;border:none;cursor:pointer;font-size:.9rem;color:#051e1e80;padding:0;font-family:inherit;transition:color .15s}.mobile-menu__signout:hover{color:var(--color-magenta)}.mobile-menu .nav-link{padding:10px 0;font-size:1rem;border-bottom:1px solid rgba(0,0,0,.06)}.nav-dropdown{position:relative}.nav-dropdown__trigger{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.95rem;font-family:inherit;color:var(--color-ink);display:flex;align-items:center;gap:4px;padding:0 0 4px}.nav-dropdown__trigger:hover,.nav-dropdown--open.nav-dropdown__trigger,.nav-dropdown__trigger.active{border-bottom-color:var(--color-ink)}.nav-dropdown__caret{font-size:.65em;line-height:1;opacity:.7}.nav-dropdown__menu{position:absolute;top:calc(100% + 10px);left:0;background:#fff;border-radius:var(--radius-md);box-shadow:0 8px 24px #051e1e24;min-width:148px;overflow:hidden;z-index:50;animation:dropdown-in .15s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown__item{display:block;padding:11px 18px;font-size:.92rem;color:var(--color-ink);text-decoration:none;transition:background .12s}.nav-dropdown__item:hover{background:var(--color-muted)}.nav-user-wrap{position:relative}.user-avatar-btn{width:36px;height:36px;border-radius:50%;border:2px solid transparent;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:box-shadow .15s,transform .15s;letter-spacing:.04em}.user-avatar-btn:hover,.user-avatar-btn--open{box-shadow:0 0 0 3px #23c7c24d;transform:scale(1.05)}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:#fff;border-radius:var(--radius-md);box-shadow:0 8px 28px #051e1e29;min-width:180px;overflow:hidden;z-index:50;animation:dropdown-in .15s ease}.user-dropdown__header{padding:12px 16px 10px;border-bottom:1px solid var(--color-border);font-size:.82rem;font-weight:600;color:#051e1e80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown__item{display:flex;align-items:center;gap:8px;padding:11px 16px;font-size:.92rem;color:var(--color-ink);text-decoration:none;width:100%;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .12s}.user-dropdown__item:hover{background:var(--color-muted)}.user-dropdown__item--danger:hover{color:var(--color-magenta);background:#c7235f0d}.nav-link--my-tree{padding:5px 14px!important;border-radius:999px!important;border:2px solid var(--color-teal)!important;border-bottom-color:var(--color-teal)!important;color:var(--color-teal)!important;font-weight:600;white-space:nowrap}.nav-link--my-tree:hover,.nav-link--my-tree.active{background:#23c7c21a!important;border-bottom-color:var(--color-teal)!important}.nav-desktop-only{display:inline-flex}@media (max-width: 900px){.nav-desktop-only{display:none}}@media (max-width: 900px){.nav-links{display:none}.hamburger{display:flex}.cart-grid,.checkout-grid,.cart-item{grid-template-columns:1fr}.cart-item__actions{justify-items:start}}.results-summary{display:grid;gap:24px;max-width:700px;margin:0 auto}.results-summary__chart{display:flex;height:40px;border-radius:var(--radius-md);overflow:hidden;gap:3px}.results-bar__segment{transition:opacity .2s;border-radius:4px}.results-bar__segment:hover{opacity:.85}.results-summary__legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.legend-item{display:flex;align-items:center;gap:8px}.legend-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.legend-label{flex:1;font-size:.9rem}.legend-percent{font-weight:700;font-size:.95rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.result-card{background:#fff;border-radius:var(--radius-md);box-shadow:0 8px 24px #051e1e14;overflow:hidden}.result-card__image{position:relative;height:180px}.result-card__image img{width:100%;height:100%;object-fit:cover}.result-card__badge{position:absolute;top:12px;right:12px;color:#fff;font-weight:700;font-size:1.2rem;padding:6px 12px;border-radius:20px}.result-card__body{padding:20px;display:grid;gap:10px}.result-card__bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.result-card__bar-fill{height:100%;border-radius:4px;transition:width 1s ease}.bar-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:180px;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 8px 24px #0003;pointer-events:none;z-index:10}.bar-tooltip img{width:100%;height:110px;object-fit:cover;display:block}.bar-tooltip__label{color:#fff;font-size:.85rem;font-weight:600;padding:6px 10px;text-align:center}.toast-container{position:fixed;bottom:24px;left:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:var(--radius-md);background:var(--color-ink);color:#fff;font-size:.9rem;font-weight:500;box-shadow:var(--shadow-soft);pointer-events:all;animation:toast-in .25s ease;min-width:240px;max-width:340px}.toast--success{background:var(--color-ink);border-left:4px solid var(--color-teal)}.toast--error{background:var(--color-ink);border-left:4px solid var(--color-magenta)}.toast__close{background:none;border:none;color:#fff9;cursor:pointer;font-size:.8rem;padding:0;line-height:1;flex-shrink:0}.toast__close:hover{color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#051e1e73;z-index:99;animation:fade-in .25s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.auth-panel{position:fixed;top:0;left:50%;transform:translate(-50%) translateY(-110%);width:min(480px,96vw);background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:0 24px 60px #051e1e38;z-index:100;transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .32s ease;opacity:0}.auth-panel--open{transform:translate(-50%) translateY(0);opacity:1}.auth-panel--exit{transform:translate(-50%) translateY(-110%);opacity:0;transition:transform .38s cubic-bezier(.4,0,1,1),opacity .3s ease}.auth-panel__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.auth-tabs{display:flex;gap:4px;background:var(--color-muted);border-radius:999px;padding:4px}.auth-tab{background:none;border:none;padding:8px 20px;border-radius:999px;font-size:.9rem;font-weight:500;cursor:pointer;color:var(--color-ink);opacity:.55;transition:all .18s ease}.auth-tab--active{background:#fff;opacity:1;box-shadow:0 2px 8px #051e1e1a}.auth-panel__close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--color-ink);opacity:.45;padding:4px 8px;transition:opacity .15s}.auth-panel__close:hover{opacity:1}.auth-panel__body{padding:20px 24px 24px;display:grid;gap:20px}.auth-form{display:grid;gap:14px}.auth-label{display:grid;gap:5px;font-size:.88rem;font-weight:500}.auth-submit{width:100%;margin-top:4px;font-size:.95rem;letter-spacing:.02em}.auth-trust{border-top:1px solid var(--color-border);padding-top:16px}.auth-trust__title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.45;margin-bottom:10px}.auth-trust__list{list-style:none;display:grid;gap:7px}.auth-trust__list li{font-size:.82rem;color:var(--color-ink);opacity:.7;display:flex;align-items:flex-start;gap:8px;line-height:1.4}.auth-trust__icon{font-size:.95rem;flex-shrink:0}.auth-success{padding:40px 28px 36px;text-align:center;display:grid;gap:10px;justify-items:center;animation:auth-success-in .35s ease}@keyframes auth-success-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.auth-success__icon{font-size:2.6rem;width:64px;height:64px;display:grid;place-items:center;background:#23c7c226;border-radius:50%;margin-bottom:6px}.auth-success__title{font-size:1.3rem;font-weight:700}.auth-success__sub{font-size:.88rem;opacity:.65;max-width:340px;line-height:1.5}.btn-signin{background:none;border:1px solid var(--color-border);border-radius:999px;padding:8px 16px;font-size:.88rem;font-weight:500;cursor:pointer;color:var(--color-ink);transition:all .18s ease;white-space:nowrap}.btn-signin:hover{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.auth-user-pill{display:flex;align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:999px;padding:6px 14px;font-size:.88rem}.auth-user-pill__name{font-weight:500}.auth-user-pill__out{background:none;border:none;font-size:.8rem;cursor:pointer;opacity:.5;padding:0;transition:opacity .15s}.auth-user-pill__out:hover{opacity:1}.checkout-gate{max-width:480px;margin:0 auto;text-align:center;display:grid;gap:16px;justify-items:center;padding:40px 0}.checkout-gate__icon{font-size:3rem;width:80px;height:80px;display:grid;place-items:center;background:var(--color-muted);border-radius:50%}.checkout-gate__title{font-size:1.5rem;font-weight:700}.checkout-gate__desc{font-size:1rem;opacity:.75;line-height:1.6;max-width:380px}.checkout-gate__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:4px}.checkout-gate__note{font-size:.8rem;opacity:.5;max-width:360px;line-height:1.5}.auth-free-banner{background:linear-gradient(135deg,#23c7c21f,#23c7c20f);border:1px solid rgba(35,199,194,.3);border-radius:var(--radius-md);padding:14px 16px}.auth-free-banner__title{font-weight:700;font-size:.9rem;margin-bottom:8px;color:var(--color-ink)}.auth-free-banner__list{list-style:none;display:grid;gap:5px}.auth-free-banner__list li{font-size:.82rem;display:flex;align-items:center;gap:7px;opacity:.8}.gedcom-page{padding:48px 0 80px}.gedcom-header{text-align:center;margin-bottom:32px}.gedcom-header__title{font-size:2rem;font-weight:700;color:var(--color-ink)}.gedcom-header__sub{margin-top:8px;color:#5a7070;font-size:1.05rem}.gedcom-privacy{display:flex;gap:16px;background:#eafaf9;border:1.5px solid var(--color-teal);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:28px}.gedcom-privacy__icon{font-size:1.6rem;flex-shrink:0}.gedcom-privacy__title{font-weight:700;font-size:.95rem;color:var(--color-ink);margin-bottom:8px}.gedcom-privacy__list{list-style:none;display:flex;flex-direction:column;gap:5px}.gedcom-privacy__list li{font-size:.88rem;color:#3a5555;padding-left:14px;position:relative}.gedcom-privacy__list li:before{content:"✓";position:absolute;left:0;color:var(--color-teal);font-weight:700}.gedcom-warning{display:flex;gap:16px;background:#fff8ec;border:1.5px solid #e0a11c;border-radius:var(--radius-md);padding:18px 24px;margin-bottom:20px}.gedcom-warning__icon{font-size:1.4rem;flex-shrink:0}.gedcom-warning__title{font-weight:700;font-size:.92rem;color:#8a5a00;margin-bottom:6px}.gedcom-warning__text{font-size:.85rem;color:#6b5326;line-height:1.5}.gedcom-consent{display:flex;align-items:flex-start;gap:10px;background:#fafbfb;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:20px;font-size:.88rem;color:#3a5555;cursor:pointer}.gedcom-consent input[type=checkbox]{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--color-teal);cursor:pointer}.gedcom-consent a{color:var(--color-teal);font-weight:600}.gedcom-dropzone{border:2.5px dashed var(--color-border);border-radius:var(--radius-lg);padding:56px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:#fafbfb}.gedcom-dropzone:hover,.gedcom-dropzone--drag{border-color:var(--color-teal);background:#eafaf9}.gedcom-dropzone--loading{cursor:default;opacity:.7}.gedcom-dropzone--disabled{cursor:not-allowed;opacity:.55}.gedcom-dropzone--disabled:hover{border-color:var(--color-border);background:#fafbfb}.gedcom-dropzone__icon{font-size:3rem;margin-bottom:12px}.gedcom-dropzone__label{font-size:1.05rem;font-weight:600;color:var(--color-ink)}.gedcom-dropzone__sub{margin-top:6px;font-size:.85rem;color:#7a9090}.gedcom-dropzone__spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-teal);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}.gedcom-uploads{margin-top:40px}.gedcom-uploads__title{font-size:1.2rem;font-weight:700;margin-bottom:16px;color:var(--color-ink)}.gedcom-result{border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:16px;background:#fff}.gedcom-result__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.gedcom-result__filename{font-weight:700;font-size:.97rem;color:var(--color-ink)}.gedcom-result__meta{font-size:.83rem;color:#7a9090;margin-top:3px}.gedcom-result__delete{background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.5;transition:opacity .15s;padding:4px}.gedcom-result__delete:hover{opacity:1}.gedcom-result__actions{display:flex;gap:10px;flex-wrap:wrap}.btn-outline-sm{border:1.5px solid var(--color-teal);background:none;color:var(--color-teal);font-size:.84rem;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.btn-outline-sm:hover,.btn-outline-sm.active{background:var(--color-teal);color:#fff}.btn-outline-sm:disabled{opacity:.5;cursor:default}.gedcom-table-wrap{margin-top:16px;overflow-x:auto}.gedcom-table{width:100%;border-collapse:collapse;font-size:.84rem}.gedcom-table th{text-align:left;padding:8px 12px;background:var(--color-muted);font-weight:600;color:var(--color-ink);border-bottom:1.5px solid var(--color-border)}.gedcom-table td{padding:7px 12px;border-bottom:1px solid var(--color-border);color:#3a5555}.gedcom-table tr:last-child td{border-bottom:none}.gedcom-locked{text-align:center;padding:80px 24px}.gedcom-locked__icon{font-size:3rem;margin-bottom:16px}.gedcom-locked__title{font-size:1.5rem;font-weight:700;color:var(--color-ink);margin-bottom:10px}.gedcom-locked__sub{color:#5a7070;margin-bottom:28px;font-size:1rem}.notice--success{background:#eafaf9;border:1.5px solid var(--color-teal);color:#1a6b67;border-radius:var(--radius-md);padding:12px 16px;font-size:.92rem;font-weight:500}.dna-profile-section{margin-bottom:8px}.dna-profile-card{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:20px 24px}.dna-profile-card__icon{font-size:2rem;flex-shrink:0}.dna-profile-card__body{flex:1;min-width:0}.dna-profile-card__filename{font-weight:600;color:var(--color-dark);font-size:1rem;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dna-profile-card__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#5a7070;font-size:.88rem;margin:0}.dna-profile-card__badge{background:linear-gradient(135deg,var(--color-teal),var(--color-dark));color:#fff;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600;letter-spacing:.02em}.dna-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1e1e8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.dna-modal{background:#fff;border-radius:var(--radius-lg);padding:36px 32px 28px;max-width:440px;width:100%;text-align:center;box-shadow:0 8px 40px #0000002e}.dna-modal__icon{font-size:2.4rem;margin-bottom:12px}.dna-modal__title{font-size:1.2rem;font-weight:700;color:var(--color-dark);margin:0 0 12px}.dna-modal__body{color:#5a7070;font-size:.95rem;line-height:1.6;margin:0 0 28px}.dna-modal__actions{display:flex;gap:12px;justify-content:center}.btn-danger{background:#d94040;color:#fff;border:none;border-radius:var(--radius-md);padding:10px 20px;font-weight:600;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#b83232}.dna-format-selector{margin-bottom:16px}.dna-format-selector__label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:6px;opacity:.75;text-transform:uppercase;letter-spacing:.04em}.dna-format-selector__select{width:100%;padding:10px 14px;border-radius:10px;border:1.5px solid var(--color-border);background:var(--color-surface, #fff);font-family:inherit;font-size:.95rem;color:var(--color-text);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;transition:border-color .2s}.dna-format-selector__select:focus{outline:none;border-color:var(--color-teal)}.dna-format-selector__hint{font-size:.8rem;color:var(--color-muted, #aaa);margin-top:6px}.ft-container{width:100%;height:80vh;min-height:600px;border-radius:var(--radius-md);border:1.5px solid var(--color-border);overflow:hidden;margin-top:16px;background:#f8fafc}.ft-person{display:flex;align-items:center;gap:9px;padding:8px 12px;background:#fff;border:2px solid;border-radius:40px;width:160px;height:72px;box-shadow:0 2px 8px #00000012;box-sizing:border-box}.ft-person__avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;flex-shrink:0}.ft-person__body{overflow:hidden}.ft-person__name{font-size:12px;font-weight:600;color:#1e293b;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}.ft-person__years{font-size:10px;color:#64748b;margin-top:2px}.ft-family{width:18px;height:18px;background:#e2e8f0;border:2px solid #94a3b8;border-radius:50%;box-sizing:border-box}.nav-link--highlight{color:var(--color-magenta);font-weight:600}.gh-hero{background:linear-gradient(135deg,#1e3436,#1d4a4a 60%,#24506a);color:#fff}.gh-coming-badge{display:inline-block;margin-top:18px;padding:8px 16px;border-radius:999px;background:#23c7c226;border:1px solid rgba(35,199,194,.4);color:#8fe3df;font-size:.88rem;font-weight:500}.gh-generator{display:grid;gap:40px}.gh-step{display:grid;gap:16px}.gh-step__label{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:700}.gh-step__num{width:32px;height:32px;border-radius:50%;background:var(--color-ink);color:#fff;display:grid;place-items:center;font-size:.9rem;font-weight:700;flex-shrink:0}.gh-step__hint{font-size:.82rem;font-weight:400;color:#051e1e8c;margin-left:4px}.gh-gender-row{display:flex;gap:14px;flex-wrap:wrap}.gh-gender-btn{display:flex;align-items:center;gap:10px;padding:14px 28px;border-radius:var(--radius-md);border:2px solid var(--color-border);background:#fff;cursor:pointer;font-size:1rem;font-weight:600;color:var(--color-ink);transition:all .18s ease}.gh-gender-btn:hover{border-color:var(--color-ink);transform:translateY(-1px);box-shadow:0 6px 18px #051e1e1a}.gh-gender-btn--active{border-color:var(--color-teal);background:#23c7c214;box-shadow:0 0 0 3px #23c7c233}.gh-gender-icon{font-size:1.3rem;line-height:1}.gh-selected-tags{display:flex;flex-wrap:wrap;gap:8px}.gh-tag{padding:6px 14px;border-radius:999px;background:var(--color-ink);color:#fff;font-size:.88rem;font-weight:500;border:none;cursor:pointer;transition:background .15s}.gh-tag:hover{background:var(--color-magenta)}.gh-search{padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;width:100%;max-width:360px;outline:none;transition:border-color .15s}.gh-search:focus{border-color:var(--color-teal)}.gh-country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.gh-country-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:var(--radius-md);border:2px solid var(--color-border);background:#fff;cursor:pointer;position:relative;transition:all .15s ease;text-align:center}.gh-country-card:hover:not(.gh-country-card--disabled){border-color:var(--color-teal);transform:translateY(-2px);box-shadow:0 6px 18px #051e1e1a}.gh-country-card--selected{border-color:var(--color-teal);background:#23c7c212}.gh-country-card--disabled{opacity:.38;cursor:not-allowed}.gh-country-flag{font-size:1.8rem;line-height:1}.gh-country-name{font-size:.82rem;font-weight:600;color:var(--color-ink);line-height:1.2}.gh-country-region{font-size:.7rem;color:#051e1e80;line-height:1.2}.gh-country-check{position:absolute;top:6px;right:8px;width:18px;height:18px;background:var(--color-teal);color:#fff;border-radius:50%;font-size:.7rem;display:grid;place-items:center;font-weight:700}.gh-generate-btn{padding:16px 40px;font-size:1.05rem;border-radius:999px;border:2px solid var(--color-border);background:#051e1e0f;color:#051e1e66;cursor:not-allowed;transition:all .2s ease;justify-self:start}.gh-generate-btn--ready{background:linear-gradient(135deg,var(--color-teal),#1a9e9a);border-color:transparent;color:#fff;cursor:pointer;box-shadow:0 8px 24px #23c7c24d}.gh-generate-btn--ready:hover{transform:translateY(-2px);box-shadow:0 12px 32px #23c7c266}.gh-result-section{animation:gh-fade-up .4s ease}@keyframes gh-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gh-result-card{display:grid;grid-template-columns:280px 1fr;gap:40px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:36px;align-items:start}@media (max-width: 680px){.gh-result-card{grid-template-columns:1fr;padding:24px}}.gh-avatar-wrap{display:flex;justify-content:center}.gh-avatar-svg{width:100%;max-width:280px;border-radius:var(--radius-lg);box-shadow:0 8px 28px #051e1e24;filter:drop-shadow(0 4px 12px rgba(5,30,30,.12))}.gh-avatar-photo{position:relative;width:100%;max-width:300px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 48px #051e1e47,0 4px 16px #23c7c21f;aspect-ratio:1 / 1;background:#1e1e2e}.gh-avatar-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.gh-avatar-photo-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(35,199,194,.08) 100%);pointer-events:none}.gh-character-info{display:grid;gap:20px}.gh-character-name{font-size:2rem;font-weight:800;line-height:1.1;margin:0}.gh-character-gender-badge{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--color-muted);font-size:.85rem;font-weight:600;color:var(--color-ink)}.gh-info-block{display:grid;gap:8px}.gh-info-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#051e1e80}.gh-origins-row,.gh-langs-row{display:flex;flex-wrap:wrap;gap:8px}.gh-origin-pill{padding:5px 12px;border-radius:999px;background:#051e1e0f;font-size:.88rem;font-weight:500}.gh-lang-pill{padding:5px 12px;border-radius:999px;background:#23c7c21f;border:1px solid rgba(35,199,194,.3);font-size:.85rem;font-weight:500;color:#0d6b68}.gh-dna-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px}.gh-dna-segment{border-radius:4px;transition:width .6s ease}.gh-dna-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.gh-dna-legend-item{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#051e1eb3}.gh-dna-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.gh-traits-row{display:flex;gap:16px;flex-wrap:wrap}.gh-trait{display:flex;align-items:center;gap:8px}.gh-trait-swatch{width:26px;height:26px;border-radius:50%;border:2px solid rgba(5,30,30,.12);display:block;flex-shrink:0}.gh-trait-label{font-size:.82rem;color:#051e1e99}.gh-actions{display:flex;gap:12px;flex-wrap:wrap}.gh-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:16px}.gh-gallery-card{background:#fff;border-radius:var(--radius-md);box-shadow:0 4px 16px #051e1e14;overflow:hidden;position:relative;transition:transform .15s ease}.gh-gallery-card:hover{transform:translateY(-3px)}.gh-gallery-avatar{padding:0;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.gh-gallery-avatar .gh-avatar-photo{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;aspect-ratio:4 / 3}.gh-gallery-avatar .gh-avatar-img{object-position:center 20%}.gh-gallery-info{padding:10px 12px 14px;display:grid;gap:3px}.gh-gallery-info strong{font-size:.88rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gh-gallery-flags{font-size:1rem}.gh-gallery-langs{font-size:.75rem;color:#051e1e80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gh-gallery-del{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:#051e1e8c;color:#fff;border:none;cursor:pointer;font-size:.95rem;line-height:1;display:grid;place-items:center;opacity:0;transition:opacity .15s}.gh-gallery-card:hover .gh-gallery-del{opacity:1}.gh-map-wrap{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:#e8f3f8;-webkit-user-select:none;user-select:none}.gh-map-tooltip{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#051e1ed1;color:#fff;padding:5px 14px;border-radius:999px;font-size:.88rem;font-weight:600;pointer-events:none;white-space:nowrap;z-index:4;opacity:0;transition:opacity .15s}.gh-map-tooltip--visible{opacity:1}.gh-map-controls{position:absolute;top:10px;right:10px;z-index:4;display:flex;flex-direction:column;gap:4px}.gh-map-ctrl-btn{width:30px;height:30px;border-radius:6px;border:1px solid rgba(5,30,30,.18);background:#ffffffe6;color:var(--color-ink);font-size:1rem;font-weight:700;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 6px #051e1e1f;transition:background .12s;line-height:1}.gh-map-ctrl-btn:hover{background:#fff}.gh-map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;background:#ffffffbf;border-top:1px solid var(--color-border);font-size:.8rem}.gh-map-legend-item{display:flex;align-items:center;gap:6px;font-weight:500}.gh-map-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.gh-map-legend-hint{color:#051e1e73;font-size:.75rem;margin-left:auto}.gh-view-tabs{display:flex;gap:4px;background:var(--color-muted);border-radius:999px;padding:4px;align-self:start}.gh-view-tab{padding:7px 18px;border-radius:999px;border:none;background:transparent;font-size:.88rem;font-weight:600;cursor:pointer;color:#051e1e8c;transition:all .15s}.gh-view-tab--active{background:#fff;color:var(--color-ink);box-shadow:0 2px 8px #051e1e1a}.gh-country-grid--scrollable{max-height:380px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px}.nav-link--results{color:var(--color-teal);font-weight:700;border-bottom-color:var(--color-teal)!important}.nav-link--results:hover,.nav-link--results.active{border-bottom-color:var(--color-teal)!important}.dnar-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dnar-badge--pending{background:#f1c40f22;color:#b7950b}.dnar-badge--processing{background:#3498db22;color:#1a5276}.dnar-badge--completed{background:#2ecc7122;color:#1e8449}.dnar-badge--failed{background:#e74c3c22;color:#922b21}.dnar-processing-banner{display:flex;align-items:center;gap:20px;background:#eaf6ff;border:1px solid #aad4f5;border-radius:var(--radius-md);padding:20px 28px;margin:32px auto;width:min(var(--container),92vw)}.dnar-processing-banner__title{font-weight:600;margin-bottom:4px}.dnar-processing-banner__sub{font-size:.88rem;opacity:.7}.dnar-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.dnar-stat-card{background:var(--color-muted);border-radius:var(--radius-md);padding:24px 20px;text-align:center}.dnar-stat-card__value{font-size:1.8rem;font-weight:700;color:var(--color-teal);line-height:1.1}.dnar-stat-card__label{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:6px;opacity:.65}.dnar-stat-card__sub{font-size:.78rem;opacity:.5;margin-top:4px}.dnar-ancestry-cards{display:flex;flex-direction:column;gap:10px;margin-top:32px}.dnar-ancestry-card{display:flex;align-items:center;gap:16px;background:var(--color-muted);border-radius:var(--radius-md);padding:14px 18px}.dnar-ancestry-card__bar-wrap{width:120px;height:8px;background:var(--color-border);border-radius:4px;flex-shrink:0;overflow:hidden}.dnar-ancestry-card__bar{height:100%;border-radius:4px;transition:width .6s ease}.dnar-ancestry-card__body{flex:1;display:flex;flex-direction:column;gap:2px}.dnar-ancestry-card__pop{font-weight:600;font-size:.95rem}.dnar-ancestry-card__region{font-size:.8rem;opacity:.55}.dnar-ancestry-card__pct{font-size:1.2rem;font-weight:700;min-width:54px;text-align:right}.dnar-haplo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 640px){.dnar-haplo-grid{grid-template-columns:1fr}}.dnar-haplo-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px 24px;display:flex;gap:18px}.dnar-haplo-card__icon{font-size:2rem;line-height:1;flex-shrink:0}.dnar-haplo-card__title{font-weight:700;font-size:1rem}.dnar-haplo-card__sub{font-size:.8rem;opacity:.55;margin-top:2px}.dnar-haplo-card__value{font-size:2.4rem;font-weight:800;color:var(--color-teal);margin-top:10px;letter-spacing:-.02em}.dnar-haplo-card__null{font-size:.85rem;opacity:.5;margin-top:10px;font-style:italic}.dnar-haplo-card__confidence{display:flex;align-items:center;gap:10px;margin-top:8px}.dnar-haplo-card__conf-bar{flex:1;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.dnar-haplo-card__conf-fill{height:100%;background:var(--color-teal);border-radius:3px;transition:width .6s ease}.dnar-haplo-card__conf-label{font-size:.78rem;opacity:.6;white-space:nowrap}.dnar-haplo-card__snps{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.dnar-haplo-source{font-size:.78rem;opacity:.5;margin-top:16px;text-align:center}.dnar-haplo-source a{color:inherit;text-decoration:underline}.dnar-paywall{max-width:420px;margin:0 auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:36px 28px;text-align:center}.dnar-paywall__icon{font-size:2rem;margin-bottom:8px}.dnar-paywall__title{font-weight:700;font-size:1.15rem;color:var(--color-ink)}.dnar-paywall__sub{font-size:.88rem;opacity:.6;margin-top:8px}.dnar-paywall__price{font-weight:700;color:var(--color-teal);margin-top:18px;margin-bottom:18px}.dnar-paywall__paypal{max-width:260px;margin:0 auto}.dnar-paywall__consent{display:flex;gap:10px;align-items:flex-start;text-align:left;font-size:.85rem;line-height:1.45;color:var(--color-ink-soft);margin:0 0 16px;cursor:pointer}.dnar-paywall__consent input{flex-shrink:0;width:18px;height:18px;margin-top:1px;accent-color:var(--color-teal)}.dnar-paywall__consent a{text-decoration:underline}.dnar-paywall__status{font-size:.85rem;opacity:.6;margin-top:10px}.dnar-relatives{display:flex;flex-direction:column;gap:10px}.dnar-relative-row{display:flex;align-items:center;gap:14px;background:var(--color-muted);border-radius:var(--radius-md);padding:16px 20px}.dnar-relative-row__icon{font-size:1.5rem;flex-shrink:0}.dnar-relative-row__body{flex:1}.dnar-relative-row__rel{font-weight:600;font-size:.95rem}.dnar-relative-row__meta{font-size:.82rem;opacity:.55;margin-top:2px}.dnar-relative-row__id{font-family:monospace;font-size:.78rem;opacity:.4}.dna-history{margin-top:48px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.dna-history__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--surface);border:none;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--text);transition:background .15s}.dna-history__toggle:hover{background:var(--surface-hover, #f3f4f6)}.dna-history__chevron{font-size:.75rem;opacity:.6}.dna-history__body{padding:0 20px 16px;background:var(--bg)}.dna-history__empty{padding:16px 0;color:var(--text-muted);font-size:.88rem;text-align:center}.dna-history__table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:12px}.dna-history__table th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600}.dna-history__table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text)}.dna-history__table tr:last-child td{border-bottom:none}.dna-history__badge{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.legal-page__notice{margin-top:10px;font-style:italic;opacity:.75}.legal-page__body{max-width:760px;display:flex;flex-direction:column;gap:32px}.legal-page__section h2{margin-bottom:10px;font-size:1.2rem}.legal-page__section p{margin-bottom:10px}.legal-page__form{margin-top:12px;padding:16px 20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-muted)}.legal-page__form p{margin-bottom:8px}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:var(--container);margin:0 auto;z-index:200;background:#fff;color:var(--color-ink);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.cookie-banner .container{width:auto;padding:0 20px}.cookie-banner__content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}.cookie-banner__content p{max-width:640px;font-size:.9rem}.cookie-banner__content a{text-decoration:underline}.cookie-banner__actions{display:flex;gap:12px;flex-shrink:0}.cookie-banner__actions .btn{padding:10px 20px;font-size:.92rem}.journey__tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.journey__tab{display:inline-flex;align-items:baseline;gap:8px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--color-border);background:#fff;color:var(--color-ink);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.journey__tab[aria-pressed=true]{border-color:var(--color-teal);background:var(--color-teal-soft)}.journey__tab-hg{font-weight:700}.journey__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:start}.journey__frame{position:relative;background:var(--color-mat);padding:16px 16px 44px;border-radius:4px;transform:rotate(-.8deg);box-shadow:0 1px 2px #1e34361f,0 24px 48px -16px #1e343647}.journey__frame .album-photo__corner--bl,.journey__frame .album-photo__corner--br{bottom:34px}.journey__map{border-radius:2px;overflow:hidden}.journey__share{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}.journey__privacy{flex-basis:100%;font-size:.85rem;color:var(--color-ink-soft)}.journey__steps{list-style:none;position:relative;display:grid;gap:22px}.journey__steps:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;border-left:2px dashed var(--color-teal);opacity:.55}.journey__step{position:relative;padding-left:36px}.journey__step:before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--color-paper);border:2.5px solid var(--color-teal)}.journey__step--branch:before{background:var(--color-teal)}.journey__step-head{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.journey__step-hg{font-weight:700;font-size:1.2rem;line-height:1.2}.journey__step--branch .journey__step-hg{font-size:1.45rem}.journey__step-badge{font-size:.8rem;font-weight:600;color:var(--color-teal)}.journey__step-meta{font-weight:600;font-size:.95rem}.journey__step-text{color:var(--color-ink-soft);font-size:.95rem;max-width:46ch}.journey__note{margin-top:48px;font-size:.82rem;color:var(--color-ink-soft);max-width:80ch}.journey__note a{text-decoration:underline}@media (max-width: 900px){.journey__layout{grid-template-columns:1fr;gap:40px}.journey__frame{padding:10px 10px 32px;transform:rotate(-.5deg)}.journey__frame .album-photo__corner--bl,.journey__frame .album-photo__corner--br{bottom:25px}}.dnar-paywall__found{margin-top:10px;font-weight:600;color:var(--color-teal)}.journey__demo-note{margin-top:12px;padding:10px 14px;border-left:3px solid var(--color-teal);background:var(--color-teal-soft);font-size:.95rem}.news__block{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:40px 72px;align-items:start}.news__block--prices{margin-top:96px}.news__intro{position:sticky;top:96px}.news__intro h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:12px}.news__intro p{color:var(--color-ink-soft);max-width:34ch}.news__updated{margin-top:16px;font-size:.9rem}.news-branch{list-style:none;position:relative}.news-branch__item{position:relative;padding:0 0 48px 40px}.news-branch__item:last-child{padding-bottom:0}.news-branch__item:not(:last-child):before{content:"";position:absolute;left:6px;top:22px;bottom:-2px;border-left:2px dashed var(--color-teal);opacity:.55}.news-branch__node{position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:var(--color-muted);border:2px solid var(--color-teal)}.news-branch__item:first-child .news-branch__node{background:var(--color-teal)}.news-branch__when{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.92rem;font-weight:600;margin-bottom:8px}.news-branch__category{color:var(--color-teal)}.news-branch__item h3{font-family:var(--font-display);font-weight:400;font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.3;max-width:36ch;margin-bottom:10px}.news-branch__item:first-child h3{font-size:clamp(1.4rem,2.6vw,1.85rem)}.news-branch__summary{color:var(--color-ink-soft);max-width:65ch}.news-branch__source{display:inline-block;margin-top:10px;color:var(--color-ink);font-weight:600;text-decoration-color:var(--color-teal);text-decoration-thickness:2px;text-underline-offset:4px}.news-branch__source:hover{color:var(--color-teal)}.price-list__group+.price-list__group{margin-top:40px}.price-list__group h3{font-size:1rem;padding-bottom:10px;border-bottom:2px solid var(--color-ink)}.price-list ul{list-style:none}.price-list__row{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto;gap:4px 24px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--color-border)}.price-list__provider{font-weight:600}.price-list__product a{color:var(--color-ink-soft);text-decoration-color:var(--color-border);text-underline-offset:3px}.price-list__product a:hover{color:var(--color-ink);text-decoration-color:var(--color-teal)}.price-list__offer{display:block;font-size:.88rem;color:var(--color-magenta)}.price-list__group--efteja .price-list__row{padding-left:13px;padding-right:16px;border-left:3px solid var(--color-teal);background:var(--color-teal-soft)}@media (min-width: 901px){.price-list__group--efteja .price-list__row{margin:0 -16px}}.price-list__group--efteja .price-list__product a{color:var(--color-ink);font-weight:600}.price-list__note{display:block;font-size:.88rem;color:var(--color-ink-soft);max-width:46ch}.price-list__price{font-size:1.2rem;font-weight:650;font-variant-numeric:lining-nums tabular-nums;text-align:right;white-space:nowrap}@media (max-width: 900px){.news__block{grid-template-columns:1fr}.news__intro{position:static}.news__block--prices{margin-top:72px}}@media (max-width: 560px){.price-list__row{grid-template-columns:minmax(0,1fr) auto}.price-list__product{grid-column:1;grid-row:2}.price-list__price{grid-row:1 / span 2;align-self:center}}
