.home-approach{background:linear-gradient(90deg,var(--surface),var(--white))}
.home-services .grid-4{align-items:stretch}
.home-services .card{display:flex;flex-direction:column}
.home-services .card .text-link{margin-top:auto;padding-top:20px}

.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.principle{padding:28px;border-top:3px solid var(--gold-500);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--surface)}
.principle p{margin-top:10px;color:var(--text-muted);font-size:.9rem}
.do-dont-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.do-dont-card{padding:34px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--white)}
.do-dont-card--dont{color:var(--white);background:var(--navy-900);border-color:rgba(228,193,120,.2)}
.do-dont-card h2{font-size:1.8rem}
.do-dont-card ul{margin-top:20px}
.do-dont-card--dont .cross-list li::before{color:var(--gold-400);background:rgba(228,193,120,.1)}

.service-detail{display:grid;grid-template-columns:100px 1fr;gap:36px;padding:48px 0;border-bottom:1px solid var(--border)}
.service-detail:last-child{border-bottom:0}
.service-detail__number{font-family:var(--font-serif);color:var(--gold-500);font-size:4rem;line-height:1}
.service-detail__content h2{font-size:2rem}
.service-detail__intro{max-width:800px;margin-top:15px;color:var(--text-muted)}
.service-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.service-meta>div{padding:22px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}
.service-meta h3{margin-bottom:8px;font-size:.95rem}
.service-meta p,.service-meta li{color:var(--text-muted);font-size:.84rem}
.service-detail .button{margin-top:24px}

.timeline{position:relative;max-width:980px;margin-inline:auto}
.timeline::before{position:absolute;top:0;bottom:0;left:38px;width:1px;content:"";background:linear-gradient(var(--gold-500),rgba(213,170,82,.12))}
.timeline-step{position:relative;display:grid;grid-template-columns:78px 1fr;gap:28px;padding-bottom:44px}
.timeline-step__number{position:relative;z-index:1;display:grid;width:76px;height:76px;place-items:center;border:1px solid var(--gold-500);border-radius:50%;color:var(--gold-500);background:var(--white);font-weight:900}
.timeline-step__body{padding:28px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);box-shadow:0 8px 24px rgba(4,17,31,.04)}
.timeline-step__body h2{font-size:1.45rem}
.timeline-step__body>p{margin-top:10px;color:var(--text-muted)}
.timeline-details{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.timeline-details div{padding:15px;border-radius:10px;background:var(--surface)}
.timeline-details strong{display:block;margin-bottom:5px;font-size:.75rem}
.timeline-details p{color:var(--text-muted);font-size:.77rem}

.application-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start}
.wizard-card{padding:38px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm)}
.application-aside{position:sticky;top:104px;display:grid;gap:18px}
.aside-card{padding:24px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white)}
.aside-card--dark{color:var(--white);background:var(--navy-900)}
.aside-card h3{font-size:1.05rem}
.aside-card p,.aside-card li{margin-top:8px;color:var(--text-muted);font-size:.8rem}
.aside-card--dark p,.aside-card--dark li{color:rgba(255,255,255,.68)}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}
.contact-cards{display:grid;gap:14px}
.contact-card{padding:22px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white)}
.contact-card span{display:block;color:var(--text-muted);font-size:.72rem}
.contact-card a,.contact-card strong{color:var(--navy-800);font-weight:850;text-decoration:none}
.map-placeholder{display:grid;min-height:300px;margin-top:24px;padding:40px;place-items:center;border:1px dashed var(--gold-500);border-radius:var(--radius-lg);color:var(--text-muted);background:var(--ivory-100);text-align:center}

.legal-content h2{margin-top:42px;font-size:1.65rem}
.legal-content h3{margin-top:28px;font-size:1.2rem}
.legal-content p,.legal-content li{color:var(--text-muted)}
.legal-content p{margin-top:12px}
.legal-content ul,.legal-content ol{padding-left:22px}
.legal-content li+li{margin-top:8px}
.draft-field{padding:2px 6px;border-radius:5px;color:#7a4b00;background:#fff0c2;font-weight:800}
.error-page{display:grid;min-height:calc(100vh - var(--header-height));place-items:center;padding:80px 20px;color:var(--white);background:var(--navy-950);text-align:center}
.error-code{font-family:var(--font-serif);color:var(--gold-400);font-size:clamp(7rem,20vw,14rem);line-height:.8}
.error-page p{max-width:600px;margin:22px auto;color:rgba(255,255,255,.68)}

/* V2 page compositions */
.home-approach{background:radial-gradient(circle at 92% 20%,rgba(213,170,82,.06),transparent 25%),linear-gradient(90deg,var(--surface),#fff)}
.home-services{background:linear-gradient(180deg,#fff,#f9fafc)}
.safe-data-v2{color:#fff;background:linear-gradient(125deg,var(--navy-975),var(--navy-900));overflow:hidden}
.safe-data-v2::before{position:absolute;top:-220px;left:-180px;width:560px;height:560px;content:"";border:1px solid rgba(228,193,120,.08);border-radius:50%;box-shadow:0 0 0 80px rgba(228,193,120,.018)}
.safe-data-v2__grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.safe-data-v2 .lead{margin-top:20px;color:rgba(255,255,255,.65)}
.text-link--light{margin-top:28px;color:var(--gold-400)}
.safe-data-v2__vault{position:relative;min-height:440px;border:1px solid rgba(228,193,120,.16);border-radius:30px;background:radial-gradient(circle at 50% 50%,rgba(228,193,120,.09),transparent 30%),rgba(255,255,255,.025);overflow:hidden}
.safe-data-v2__vault::before,.safe-data-v2__vault::after{position:absolute;top:50%;left:50%;content:"";border:1px solid rgba(228,193,120,.12);border-radius:50%;transform:translate(-50%,-50%)}
.safe-data-v2__vault::before{width:290px;height:290px}.safe-data-v2__vault::after{width:390px;height:390px;border-style:dashed;animation:orbitSpin 48s linear infinite}
.vault-core{position:absolute;z-index:2;top:50%;left:50%;display:grid;width:150px;height:150px;place-items:center;border:1px solid rgba(228,193,120,.45);border-radius:42px;color:var(--gold-400);background:linear-gradient(145deg,var(--navy-800),var(--navy-950));box-shadow:0 24px 60px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);transform:translate(-50%,-50%) rotate(4deg)}
.vault-core .icon-v2{font-size:2.6rem}.vault-core span{margin-top:-26px;font-size:.66rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.vault-chip{position:absolute;z-index:3;padding:10px 14px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:rgba(255,255,255,.7);background:rgba(255,255,255,.045);backdrop-filter:blur(8px);font-size:.7rem;font-weight:750;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.vault-chip--one{top:13%;left:10%}.vault-chip--two{top:17%;right:10%}.vault-chip--three{right:5%;bottom:19%}.vault-chip--four{bottom:12%;left:17%}.vault-chip--five{top:46%;left:4%}
.principle{position:relative;overflow:hidden;border-top-width:1px;border:1px solid rgba(16,32,51,.08);border-top-color:rgba(213,170,82,.55);border-radius:var(--radius-md);background:linear-gradient(145deg,#fff,var(--surface));box-shadow:0 10px 30px rgba(4,17,31,.04)}
.principle::after{position:absolute;right:-28px;bottom:-40px;width:110px;height:110px;content:"";border:1px solid rgba(213,170,82,.11);border-radius:50%}
.do-dont-card{box-shadow:0 18px 55px rgba(4,17,31,.07)}
.service-detail__number{position:sticky;top:120px;width:82px;height:82px;padding-top:8px;border:1px solid rgba(213,170,82,.25);border-radius:24px;background:var(--ivory-100);text-align:center}
.timeline-step__body{position:relative;overflow:hidden}
.timeline-step__body::after{position:absolute;top:0;right:0;width:130px;height:1px;content:"";background:linear-gradient(90deg,transparent,var(--gold-500))}
.wizard-card{box-shadow:0 24px 70px rgba(4,17,31,.09)}
.aside-card{box-shadow:0 10px 30px rgba(4,17,31,.04)}
.contact-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.contact-card:hover{border-color:rgba(213,170,82,.38);box-shadow:0 14px 34px rgba(4,17,31,.07);transform:translateX(4px)}
.about-photo-v3{position:relative;isolation:isolate;min-height:520px;padding:0 0 30px 30px}
.about-photo-v3::before{position:absolute;z-index:-1;inset:28px 30px 0 0;content:"";border:1px solid rgba(213,170,82,.34);border-radius:var(--radius-lg);background:var(--navy-900)}
.about-photo-v3 img{width:100%;min-height:520px;border-radius:var(--radius-lg);object-fit:cover;filter:saturate(.82) contrast(1.03);box-shadow:0 34px 90px rgba(4,17,31,.2)}
.about-photo-v3 figcaption{position:absolute;right:-12px;bottom:2px;display:grid;max-width:320px;padding:18px 22px;border:1px solid rgba(228,193,120,.28);border-radius:16px;color:#fff;background:rgba(4,17,31,.95);box-shadow:0 20px 50px rgba(0,0,0,.22);backdrop-filter:blur(12px)}
.about-photo-v3 figcaption small{color:var(--gold-400);font-size:.58rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.about-photo-v3 figcaption strong{margin-top:5px;font-family:var(--font-serif);font-size:1.25rem;font-weight:600;line-height:1.15}
