*:focus{outline:none}*:focus-visible{outline:3px solid var(--th-gold);outline-offset:2px;border-radius:4px}.btn:focus-visible{outline-offset:3px}.mobile-bar{display:none;background:var(--th-blue-deep);color:#fff;padding:0.7rem 1rem;align-items:center;justify-content:space-between;border-bottom:3px solid var(--th-gold)}.mobile-bar .brand{color:#fff}.mobile-bar .brand-mark{width:30px;height:30px;font-size:0.9rem}.mobile-bar .burger{background:transparent;border:none;color:#fff;font-size:1.4rem;cursor:pointer;padding:0.4rem 0.6rem;border-radius:8px}.mobile-bar .burger:hover{background:rgba(255,255,255,0.08)}.mobile-bar .burger:focus-visible{outline-offset:0}.mobile-bar .burger-icon{display:inline-block;width:22px;height:2px;background:#fff;position:relative;vertical-align:middle}.mobile-bar .burger-icon::before,.mobile-bar .burger-icon::after{content:"";position:absolute;left:0;width:22px;height:2px;background:#fff}.mobile-bar .burger-icon::before{top:-7px}.mobile-bar .burger-icon::after{top:7px}@media (max-width:800px){.mobile-bar{display:none !important}.dash-side{position:fixed;top:0;left:-300px;bottom:0;width:280px;z-index:200;transition:left 0.25s ease;box-shadow:0 0 30px rgba(0,0,0,0.4)}.dash-side.open{left:0;display:block}.dash-shell.menu-open::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:199}.dash-main{padding:1.2rem 1rem}.dash-shell{grid-template-columns:1fr}}.toast-stack{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:0.5rem;max-width:380px;pointer-events:none}.toast{pointer-events:auto;background:#fff;color:var(--th-text);border-radius:12px;padding:0.85rem 1rem;box-shadow:0 8px 26px rgba(13,43,78,0.18),0 2px 6px rgba(0,0,0,0.06);border-left:4px solid var(--th-blue-soft);animation:th-toast-in 0.25s ease;display:flex;gap:0.7rem;align-items:flex-start;font-size:0.93rem}.toast.toast-leaving{animation:th-toast-out 0.25s ease forwards}.toast.toast-success{border-left-color:var(--th-success)}.toast.toast-error{border-left-color:var(--th-danger)}.toast.toast-warning{border-left-color:var(--th-warning)}.toast.toast-info{border-left-color:var(--th-blue-soft)}.toast .toast-icon{flex:0 0 24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.8rem;color:#fff;background:var(--th-blue-soft)}.toast.toast-success .toast-icon{background:var(--th-success)}.toast.toast-error .toast-icon{background:var(--th-danger)}.toast.toast-warning .toast-icon{background:var(--th-warning)}.toast .toast-body{flex:1;line-height:1.4}.toast .toast-close{background:transparent;border:none;cursor:pointer;color:var(--th-grey-400);font-size:1.1rem;padding:0;line-height:1}@keyframes th-toast-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes th-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}.btn[aria-busy="true"]{pointer-events:none;opacity:0.85;position:relative;color:transparent !important}.btn[aria-busy="true"]::after{content:"";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;width:18px;height:18px;margin:auto;animation:th-spin 0.7s linear infinite;color:var(--th-blue-deep)}.btn-primary[aria-busy="true"]::after{color:var(--th-blue-deep)}.btn-secondary[aria-busy="true"]::after,.btn-outline[aria-busy="true"]::after{color:var(--th-blue)}@keyframes th-spin{to{transform:rotate(360deg)}}.password-field .pw-input-wrap{position:relative}.password-field .toggle-pw{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:0.78rem;font-weight:600;color:var(--th-blue-soft);padding:0.4rem 0.5rem;border-radius:6px;line-height:1}.password-field .toggle-pw:hover{background:var(--th-cream)}.password-strength{margin-top:0.4rem;display:flex;gap:4px}.password-strength .seg{flex:1;height:4px;border-radius:999px;background:var(--th-grey-100);transition:background 0.2s}.password-strength.s1 .seg:nth-child(-n+1){background:var(--th-danger)}.password-strength.s2 .seg:nth-child(-n+2){background:var(--th-warning)}.password-strength.s3 .seg:nth-child(-n+3){background:var(--th-warning)}.password-strength.s4 .seg:nth-child(-n+4){background:var(--th-success)}.password-strength-label{font-size:0.78rem;color:var(--th-grey-700);margin-top:0.25rem}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--th-grey-400)}.empty-state .icon{width:60px;height:60px;border-radius:50%;background:var(--th-cream);color:var(--th-gold);display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:700;margin-bottom:0.8rem}.empty-state h3{color:var(--th-blue-deep);font-family:var(--th-serif);margin-bottom:0.4rem}.empty-state p{max-width:380px;margin:0 auto 1.2rem}.save-indicator{position:fixed;bottom:1rem;right:1rem;z-index:50;background:rgba(13,43,78,0.92);color:#fff;padding:0.6rem 1rem;border-radius:999px;font-size:0.85rem;display:none;align-items:center;gap:0.5rem;box-shadow:0 8px 18px rgba(0,0,0,0.2)}.save-indicator.visible{display:inline-flex;animation:th-toast-in 0.2s ease}.save-indicator.saving::before{content:"";width:12px;height:12px;border:2px solid var(--th-gold);border-top-color:transparent;border-radius:50%;animation:th-spin 0.7s linear infinite}.save-indicator.saved::before{content:"\2713";color:var(--th-success);font-weight:700}.trust-strip{background:#fff;padding:1.5rem 0;border-top:1px solid var(--th-grey-100);border-bottom:1px solid var(--th-grey-100)}.trust-strip .row{display:flex;gap:0.9rem;align-items:center;justify-content:center;flex-wrap:nowrap}.trust-pill{display:inline-flex;align-items:center;gap:0.45rem;padding:0.45rem 0.9rem;border-radius:999px;background:var(--th-cream);font-size:0.85rem;color:var(--th-blue-deep);font-weight:600;white-space:nowrap;flex-shrink:0}.trust-pill::before{content:"\2713";color:var(--th-gold);font-size:0.9rem;font-weight:700}@media (max-width:900px){.trust-strip .row{flex-wrap:wrap;gap:0.6rem}}.faq-item{border-bottom:1px solid var(--th-grey-100);padding:1.1rem 0}.faq-item summary{font-family:var(--th-serif);font-size:1.15rem;color:var(--th-blue-deep);cursor:pointer;padding:0.2rem 0;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";font-size:1.4rem;color:var(--th-gold);font-weight:300;transition:transform 0.2s}.faq-item[open] summary::after{content:"\2212"}.faq-item p{margin-top:0.6rem;color:var(--th-grey-700);line-height:1.6}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.testimonial{background:#fff;border-radius:var(--th-radius-lg);padding:1.5rem;border:1px solid var(--th-grey-100);box-shadow:var(--th-shadow)}.testimonial blockquote{font-family:var(--th-serif);font-size:1.1rem;line-height:1.5;color:var(--th-blue-deep);margin:0 0 1rem;font-style:italic}.testimonial blockquote::before{content:"\201C";font-size:2.5rem;line-height:0;vertical-align:-0.5rem;color:var(--th-gold);margin-right:0.2rem}.testimonial cite{font-style:normal;font-size:0.88rem;color:var(--th-grey-700)}.testimonial cite::before{content:"\2014 ";color:var(--th-gold)}.sticky-cta{position:sticky;bottom:1rem;margin:2rem 1rem 0;z-index:30}.form-control:invalid:not(:placeholder-shown):not(:focus){border-color:var(--th-danger)}.form-control+.field-error{display:block;margin-top:0.3rem;color:var(--th-danger);font-size:0.85rem}.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;padding:0.6rem 1rem;background:var(--th-gold);color:var(--th-blue-deep);font-weight:600;z-index:1001;border-radius:0 0 8px 0}.skip-link:focus{left:0}@media (max-width:600px){h1{font-size:1.9rem}h2{font-size:1.5rem}.hero{padding:3rem 0}.hero h1{font-size:2rem}.hero p.lede{font-size:1.05rem}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.pricing-grid{grid-template-columns:1fr}.builder-actions{flex-direction:column-reverse;align-items:stretch}.builder-actions .btn{width:100%;text-align:center}}@media (pointer:coarse){.btn{min-height:44px}.form-control{min-height:44px}.nav a,.step-list a{padding:0.7rem 0.8rem}.entity-list .btn-link{padding:0.4rem 0.6rem}}.brand-logo{display:block;height:56px;width:auto;max-width:200px;background:transparent;padding:0;border-radius:0}.site-header .brand{gap:0}.site-header .brand-logo{height:56px;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.45)) drop-shadow(0 0 14px rgba(201,169,97,0.35))}.brand-logo--footer{height:70px;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4))}.brand--dash{display:inline-block;margin-bottom:1rem}.brand-logo--dash{height:64px;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.45)) drop-shadow(0 0 14px rgba(201,169,97,0.3))}.mobile-bar .brand-logo{height:42px;filter:drop-shadow(0 1px 4px rgba(0,0,0,0.45))}@media (max-width:600px){.site-header .brand-logo{height:46px}}.site-header{background:linear-gradient(180deg,rgba(255,255,255,0.10) 0%,rgba(255,255,255,0.04) 38%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.18) 100%),linear-gradient(180deg,#15406f 0%,#0d2b4e 100%) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,0.16),inset 0 -1px 0 rgba(0,0,0,0.25),0 6px 18px rgba(13,43,78,0.28);position:sticky;top:0;z-index:50;overflow:hidden}.site-header::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% -20%,rgba(201,169,97,0.18) 0%,rgba(201,169,97,0) 55%);pointer-events:none}.site-header::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent);pointer-events:none}.site-header .container{position:relative;z-index:1}.site-header .nav a{position:relative;transition:color 0.18s ease,text-shadow 0.18s ease;text-shadow:0 1px 1px rgba(0,0,0,0.25)}.site-header .nav a:not(.btn)::after{content:"";position:absolute;left:50%;right:50%;bottom:-6px;height:2px;background:var(--th-gold);border-radius:2px;transition:left 0.18s ease,right 0.18s ease,opacity 0.18s ease;opacity:0}.site-header .nav a:not(.btn):hover::after,.site-header .nav a:not(.btn):focus-visible::after{left:0;right:0;opacity:1}.site-header .btn-primary{background:linear-gradient(180deg,#e1c47b 0%,var(--th-gold) 55%,#ad8b48 100%);border:1px solid rgba(255,255,255,0.25);box-shadow:inset 0 1px 0 rgba(255,255,255,0.6),inset 0 -1px 0 rgba(0,0,0,0.18),0 4px 10px rgba(0,0,0,0.2);color:var(--th-blue-deep)}.site-header .btn-primary:hover{background:linear-gradient(180deg,#ecd697 0%,var(--th-gold-soft) 55%,#b8954e 100%)}.site-header .btn-secondary{background:linear-gradient(180deg,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0) 100%);border-color:rgba(201,169,97,0.85);box-shadow:inset 0 1px 0 rgba(255,255,255,0.12)}.hero--with-image .container{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.5rem;align-items:center}.hero-art{position:relative;border-radius:var(--th-radius-lg);overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,0.35);border:2px solid rgba(201,169,97,0.4);aspect-ratio:4/3}.hero-art img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width:800px){.hero--with-image .container{grid-template-columns:1fr;gap:1.5rem}.hero-art{max-width:520px;margin:0 auto}}.banner-image{width:100%;height:320px;object-fit:cover;display:block;border-top:4px solid var(--th-gold);border-bottom:4px solid var(--th-gold)}@media (max-width:600px){.banner-image{height:200px}}.media-row{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.media-row.media-row--reverse{direction:rtl}.media-row.media-row--reverse>*{direction:ltr}.media-row .media-art{border-radius:var(--th-radius-lg);overflow:hidden;box-shadow:0 12px 30px rgba(13,43,78,0.18);aspect-ratio:4/3}.media-row .media-art img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width:800px){.media-row{grid-template-columns:1fr;gap:1.5rem}.media-row.media-row--reverse{direction:ltr}}.service-tile{background:#fff;border:1px solid var(--th-grey-100);border-radius:var(--th-radius-lg);overflow:hidden;box-shadow:var(--th-shadow);display:flex;flex-direction:column;transition:transform 0.18s ease,box-shadow 0.18s ease}.service-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(13,43,78,0.14)}.service-tile .tile-art{aspect-ratio:16/10;overflow:hidden;background:var(--th-cream)}.service-tile .tile-art img{width:100%;height:100%;object-fit:cover;display:block}.service-tile .tile-body{padding:1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}.service-tile h3{color:var(--th-blue-deep);margin-bottom:0.4rem;font-weight:700}.service-tile p{color:var(--th-grey-700);margin-bottom:1rem}.service-tile .tile-body .btn{align-self:flex-start;margin-top:auto}.service-tile .tile-body:has(p+p) p:last-of-type{margin-top:auto;margin-bottom:0.6rem}.service-tile .tile-body:has(p+p) .btn{margin-top:0}.price-card{display:flex;flex-direction:column}.price-card .btn{margin-top:auto}.feature-card .card-head{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem}.feature-card .card-head h3{margin:0}.feature-card .card-icon{width:40px;height:40px;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--th-cream);color:var(--th-gold)}.feature-card .card-icon svg{width:22px;height:22px;display:block}.btn-pill{display:inline-flex;align-items:center;padding:0.35rem 0.85rem;border-radius:999px;font-size:0.78rem;font-weight:700;letter-spacing:0.02em;background:#fff;border:1px solid currentColor;cursor:pointer;text-decoration:none;line-height:1;transition:background 0.15s ease,color 0.15s ease;margin-right:0.3rem}.btn-pill:last-child{margin-right:0}.btn-pill-success{color:#198754}.btn-pill-success:hover{background:#198754;color:#fff}.btn-pill-danger{color:var(--th-danger)}.btn-pill-danger:hover{background:var(--th-danger);color:#fff}.confirm-modal{border:0;border-radius:var(--th-radius-lg,12px);padding:0;max-width:460px;width:calc(100% - 2rem);box-shadow:0 24px 60px rgba(13,43,78,0.25)}.confirm-modal::backdrop{background:rgba(13,43,78,0.55)}.confirm-modal-inner{padding:1.5rem 1.5rem 1.2rem;margin:0;position:relative}.confirm-modal h3{margin:0 0 0.6rem;color:var(--th-blue-deep)}.confirm-modal-close{position:absolute;top:0.6rem;right:0.8rem;background:transparent;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--th-grey-700)}.confirm-modal-close:hover{color:var(--th-blue-deep)}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:0.6rem;flex-wrap:wrap;margin-top:1.2rem}.btn-mark-signed{background:#198754;color:#fff;border:1px solid #146c43;padding:0.7rem 1.4rem;border-radius:var(--th-radius);font-weight:700;font-size:0.95rem;text-decoration:none !important;cursor:pointer;transition:all 0.18s ease}.btn-mark-signed:hover{background:#146c43;color:#fff}.btn-small{padding:0.4rem 0.85rem;font-size:0.82rem;font-weight:600}@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(201,169,97,0.7);transform:scale(1)}50%{box-shadow:0 0 0 12px rgba(201,169,97,0);transform:scale(1.05)}}.pulse-glow{animation:pulseGlow 1.2s ease-in-out 4}.back-to-top{position:fixed;bottom:1.4rem;right:1.4rem;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--th-blue-deep);color:#fff;border:0;border-radius:50%;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity 0.2s ease,transform 0.2s ease,background 0.18s ease;z-index:55;box-shadow:0 6px 18px rgba(13,43,78,0.28)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--th-gold);color:var(--th-blue-deep)}.back-to-top svg{width:20px;height:20px}@media (max-width:720px){.back-to-top{bottom:1rem;right:1rem;width:40px;height:40px}}.locale-switch{background:transparent;border:1px solid var(--th-grey-100);border-radius:999px;padding:0.35rem 0.7rem;display:inline-flex;align-items:center;gap:0.4rem;cursor:pointer;color:inherit;font:inherit;line-height:1}.locale-switch:hover{border-color:var(--th-gold)}.locale-switch>*{display:inline-flex;align-items:center;justify-content:center;height:18px;line-height:1}.locale-switch .locale-flag{width:22px;height:14px;object-fit:cover;border-radius:2px;display:block}.locale-switch .locale-flag-emoji{font-size:0.92rem;margin-top:-2px}.locale-switch .locale-code{font-size:0.85rem;font-weight:700;letter-spacing:0.08em}.locale-modal{border:0;border-radius:var(--th-radius-lg,12px);padding:0;max-width:420px;width:calc(100% - 2rem);box-shadow:0 24px 60px rgba(13,43,78,0.25)}.locale-modal::backdrop{background:rgba(13,43,78,0.55)}.locale-modal-inner{padding:1.5rem 1.5rem 1.2rem;margin:0}.locale-modal-close{position:absolute;top:0.6rem;right:0.8rem;background:transparent;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--th-grey-700)}.locale-modal h3{margin:0 0 0.8rem;color:var(--th-blue-deep)}.locale-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.4rem}.locale-option{display:flex;align-items:center;gap:0.8rem;padding:0.7rem 0.8rem;border:1px solid var(--th-grey-100);border-radius:8px;text-decoration:none;color:inherit;transition:background 0.12s ease,border-color 0.12s ease}.locale-option:hover{background:var(--th-cream);border-color:var(--th-gold)}.locale-option.is-current{border-color:var(--th-gold);background:var(--th-cream)}.locale-option-flag{display:inline-flex;align-items:center;justify-content:center;width:36px;height:26px;flex:0 0 36px}.locale-option-flag img{width:36px;height:26px;object-fit:cover;border-radius:3px}.locale-option-flag .emoji{font-size:1.4rem;line-height:1}.locale-option-flag code{font-size:0.85rem}.locale-option-text{display:flex;flex-direction:column;line-height:1.2}.locale-option-text .muted{font-size:0.82rem;color:var(--th-grey-700)}.locale-option-tick{margin-left:auto;color:var(--th-gold);font-size:1.1rem;font-weight:700}.price-card .price-art{width:88px;height:88px;margin:0 auto 1rem;border-radius:50%;overflow:hidden;border:3px solid var(--th-gold);background:var(--th-cream)}.price-card .price-art img{width:100%;height:100%;object-fit:cover;display:block}@media print{body{background:#fff !important}.site-header,.site-footer,.cookie-banner,.toast-stack,.save-indicator,.mobile-bar{display:none !important}.print-page{box-shadow:none;padding:0 !important;max-width:none !important}.clause-heading{page-break-after:avoid}.signature-block{page-break-inside:avoid}p,.gift-line{orphans:3;widows:3}}