|
- :root {
- --purple-950: #24103a;
- --purple-900: #32134f;
- --purple-800: #4d1d78;
- --purple-700: #6529a0;
- --purple-600: #7c3bc0;
- --purple-500: #9658d5;
- --purple-200: #dcc9ef;
- --purple-100: #f0e7f8;
- --purple-50: #faf7fd;
- --ink: #201a27;
- --muted: #6d6574;
- --line: #e4dce9;
- --surface: #ffffff;
- --surface-soft: #f8f5fa;
- --success: #247a50;
- --shadow-sm: 0 10px 30px rgba(52, 25, 76, 0.08);
- --shadow-lg: 0 28px 80px rgba(52, 25, 76, 0.18);
- --radius-sm: 12px;
- --radius-md: 20px;
- --radius-lg: 32px;
- --container: 1180px;
- }
-
- * {
- box-sizing: border-box;
- }
-
- html {
- scroll-behavior: smooth;
- }
-
- body {
- margin: 0;
- color: var(--ink);
- background: var(--surface);
- font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
- line-height: 1.6;
- }
-
- button,
- input,
- select,
- textarea {
- font: inherit;
- }
-
- a {
- color: inherit;
- text-decoration: none;
- }
-
- img {
- max-width: 100%;
- }
-
- .container {
- width: min(calc(100% - 40px), var(--container));
- margin-inline: auto;
- }
-
- .site-header {
- position: sticky;
- top: 0;
- z-index: 50;
- background: rgba(255, 255, 255, 0.93);
- border-bottom: 1px solid rgba(228, 220, 233, 0.8);
- backdrop-filter: blur(16px);
- }
-
- .nav-wrap {
- min-height: 78px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 28px;
- }
-
- .brand {
- display: inline-flex;
- align-items: center;
- gap: 12px;
- }
-
- .brand-mark {
- width: 44px;
- height: 44px;
- display: grid;
- place-items: center;
- color: white;
- background: linear-gradient(135deg, var(--purple-800), var(--purple-500));
- border-radius: 14px;
- font-weight: 800;
- letter-spacing: -0.04em;
- box-shadow: 0 8px 18px rgba(101, 41, 160, 0.24);
- }
-
- .brand strong,
- .brand small {
- display: block;
- }
-
- .brand strong {
- font-size: 0.98rem;
- line-height: 1.25;
- }
-
- .brand small {
- margin-top: 2px;
- color: var(--muted);
- font-size: 0.72rem;
- }
-
- .main-nav {
- display: flex;
- align-items: center;
- gap: 30px;
- color: #4c4352;
- font-size: 0.92rem;
- font-weight: 600;
- }
-
- .main-nav a:hover {
- color: var(--purple-700);
- }
-
- .button {
- min-height: 50px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- padding: 0 24px;
- border: 1px solid transparent;
- border-radius: 999px;
- cursor: pointer;
- font-weight: 700;
- transition:
- transform 160ms ease,
- box-shadow 160ms ease,
- background-color 160ms ease;
- }
-
- .button:hover {
- transform: translateY(-2px);
- }
-
- .button-small {
- min-height: 42px;
- padding-inline: 18px;
- font-size: 0.88rem;
- }
-
- .button-primary {
- color: white;
- background: linear-gradient(135deg, var(--purple-800), var(--purple-600));
- box-shadow: 0 12px 24px rgba(101, 41, 160, 0.2);
- }
-
- .button-primary:hover {
- box-shadow: 0 16px 30px rgba(101, 41, 160, 0.28);
- }
-
- .button-secondary {
- color: var(--purple-800);
- background: var(--purple-100);
- }
-
- .button-outline {
- color: var(--purple-800);
- border-color: var(--purple-200);
- background: white;
- }
-
- .button-light {
- color: var(--purple-900);
- background: white;
- }
-
- .button-full {
- width: 100%;
- }
-
- .hero {
- position: relative;
- overflow: hidden;
- padding: 95px 0 105px;
- background:
- radial-gradient(circle at 76% 22%, rgba(150, 88, 213, 0.18), transparent 30%),
- linear-gradient(180deg, #fff 0%, var(--purple-50) 100%);
- }
-
- .hero::before {
- content: "";
- position: absolute;
- width: 520px;
- height: 520px;
- left: -260px;
- bottom: -320px;
- border: 70px solid rgba(124, 59, 192, 0.06);
- border-radius: 50%;
- }
-
- .hero-grid {
- display: grid;
- grid-template-columns: 1.03fr 0.97fr;
- align-items: center;
- gap: 72px;
- }
-
- .eyebrow {
- display: inline-block;
- color: var(--purple-700);
- font-size: 0.75rem;
- font-weight: 800;
- letter-spacing: 0.14em;
- text-transform: uppercase;
- }
-
- .hero h1 {
- max-width: 760px;
- margin: 18px 0 22px;
- font-size: clamp(2.65rem, 5vw, 4.65rem);
- line-height: 1.02;
- letter-spacing: -0.055em;
- }
-
- .hero-lead {
- max-width: 665px;
- margin: 0;
- color: var(--muted);
- font-size: 1.1rem;
- }
-
- .hero-actions {
- display: flex;
- flex-wrap: wrap;
- gap: 14px;
- margin-top: 34px;
- }
-
- .trust-list {
- display: flex;
- flex-wrap: wrap;
- gap: 18px 28px;
- margin: 32px 0 0;
- padding: 0;
- list-style: none;
- color: #514859;
- font-size: 0.87rem;
- font-weight: 600;
- }
-
- .trust-list li::before {
- content: "✓";
- margin-right: 8px;
- color: var(--success);
- font-weight: 800;
- }
-
- .hero-visual {
- position: relative;
- min-height: 480px;
- display: grid;
- place-items: center;
- }
-
- .envelope-card {
- position: relative;
- width: min(100%, 550px);
- aspect-ratio: 1.56 / 1;
- overflow: hidden;
- padding: 38px;
- color: white;
- background:
- linear-gradient(160deg, rgba(255,255,255,0.11), transparent 30%),
- linear-gradient(135deg, #5c238f, #7c3bc0 54%, #512079);
- border: 1px solid rgba(255,255,255,0.34);
- border-radius: 24px;
- box-shadow: var(--shadow-lg);
- transform: rotate(-3deg);
- }
-
- .envelope-card::after {
- content: "";
- position: absolute;
- inset: 0;
- background-image:
- linear-gradient(rgba(255,255,255,0.028) 1px, transparent 1px),
- linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px);
- background-size: 16px 16px;
- pointer-events: none;
- }
-
- .envelope-top {
- display: flex;
- align-items: flex-start;
- justify-content: space-between;
- gap: 20px;
- font-size: 0.52rem;
- letter-spacing: 0.05em;
- }
-
- .permit {
- text-align: right;
- line-height: 1.25;
- }
-
- .recipient-block {
- position: absolute;
- left: 38%;
- top: 46%;
- display: flex;
- flex-direction: column;
- font-size: clamp(0.55rem, 1.25vw, 0.82rem);
- letter-spacing: 0.08em;
- line-height: 1.55;
- }
-
- .barcode {
- position: absolute;
- left: 38%;
- bottom: 28%;
- height: 33px;
- display: flex;
- align-items: flex-end;
- gap: 2px;
- }
-
- .barcode span {
- width: 2px;
- height: 20px;
- display: block;
- background: rgba(255,255,255,0.92);
- }
-
- .barcode span:nth-child(3n) {
- height: 31px;
- }
-
- .barcode span:nth-child(4n) {
- height: 13px;
- }
-
- .barcode span:nth-child(7n) {
- height: 25px;
- }
-
- .envelope-seal {
- position: absolute;
- inset: auto -8% -42% -8%;
- height: 65%;
- border-top: 1px solid rgba(255,255,255,0.22);
- transform: rotate(-3deg);
- }
-
- .stat-card {
- position: absolute;
- min-width: 165px;
- padding: 16px 18px;
- background: rgba(255,255,255,0.95);
- border: 1px solid var(--line);
- border-radius: 16px;
- box-shadow: var(--shadow-sm);
- }
-
- .stat-card strong,
- .stat-card span {
- display: block;
- }
-
- .stat-card strong {
- color: var(--purple-800);
- font-size: 1.15rem;
- }
-
- .stat-card span {
- color: var(--muted);
- font-size: 0.72rem;
- }
-
- .stat-card-one {
- left: -2%;
- bottom: 11%;
- }
-
- .stat-card-two {
- top: 11%;
- right: -2%;
- }
-
- .service-strip {
- color: white;
- background: var(--purple-950);
- }
-
- .service-strip-grid {
- display: grid;
- grid-template-columns: repeat(4, 1fr);
- }
-
- .service-strip-grid > div {
- min-height: 112px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- padding: 24px;
- border-right: 1px solid rgba(255,255,255,0.11);
- }
-
- .service-strip-grid > div:last-child {
- border-right: 0;
- }
-
- .service-strip strong {
- font-size: 0.95rem;
- }
-
- .service-strip span {
- color: rgba(255,255,255,0.65);
- font-size: 0.78rem;
- }
-
- .section {
- padding: 105px 0;
- }
-
- .section-muted {
- background: var(--surface-soft);
- }
-
- .section-heading {
- max-width: 730px;
- margin-bottom: 48px;
- }
-
- .section-heading.centered {
- margin-inline: auto;
- text-align: center;
- }
-
- .section-heading h2 {
- margin: 12px 0 14px;
- font-size: clamp(2rem, 3.5vw, 3.25rem);
- line-height: 1.08;
- letter-spacing: -0.045em;
- }
-
- .section-heading p {
- margin: 0;
- color: var(--muted);
- font-size: 1rem;
- }
-
- .card-grid {
- display: grid;
- grid-template-columns: repeat(4, 1fr);
- gap: 22px;
- }
-
- .feature-card {
- min-height: 300px;
- padding: 30px;
- background: white;
- border: 1px solid var(--line);
- border-radius: var(--radius-md);
- box-shadow: 0 10px 30px rgba(52, 25, 76, 0.035);
- }
-
- .feature-number {
- display: inline-flex;
- width: 48px;
- height: 48px;
- align-items: center;
- justify-content: center;
- color: var(--purple-700);
- background: var(--purple-100);
- border-radius: 14px;
- font-size: 0.82rem;
- font-weight: 800;
- }
-
- .feature-card h3 {
- margin: 35px 0 12px;
- font-size: 1.18rem;
- }
-
- .feature-card p {
- margin: 0;
- color: var(--muted);
- font-size: 0.9rem;
- }
-
- .process-grid {
- display: grid;
- grid-template-columns: repeat(4, 1fr);
- gap: 1px;
- overflow: hidden;
- background: var(--line);
- border: 1px solid var(--line);
- border-radius: var(--radius-md);
- }
-
- .process-step {
- min-height: 270px;
- padding: 34px;
- background: white;
- }
-
- .process-step > span {
- width: 42px;
- height: 42px;
- display: inline-grid;
- place-items: center;
- color: white;
- background: var(--purple-800);
- border-radius: 50%;
- font-weight: 800;
- }
-
- .process-step h3 {
- margin: 48px 0 10px;
- font-size: 1.05rem;
- }
-
- .process-step p {
- margin: 0;
- color: var(--muted);
- font-size: 0.88rem;
- }
-
- .order-section {
- background:
- radial-gradient(circle at 100% 30%, rgba(124, 59, 192, 0.08), transparent 25%),
- white;
- }
-
- .order-layout {
- display: grid;
- grid-template-columns: minmax(0, 1fr) 370px;
- align-items: start;
- gap: 32px;
- }
-
- .form-panel {
- overflow: hidden;
- border: 1px solid var(--line);
- border-radius: var(--radius-md);
- background: white;
- box-shadow: var(--shadow-sm);
- }
-
- .form-section {
- margin: 0;
- padding: 34px;
- border: 0;
- border-bottom: 1px solid var(--line);
- }
-
- .form-section:last-child {
- border-bottom: 0;
- }
-
- .form-section legend {
- width: 100%;
- display: flex;
- align-items: center;
- gap: 13px;
- margin-bottom: 28px;
- padding: 0;
- font-size: 1.08rem;
- font-weight: 800;
- }
-
- .form-section legend span {
- width: 32px;
- height: 32px;
- display: inline-grid;
- place-items: center;
- color: white;
- background: var(--purple-800);
- border-radius: 50%;
- font-size: 0.76rem;
- }
-
- .form-grid {
- display: grid;
- gap: 22px;
- }
-
- .two-columns {
- grid-template-columns: repeat(2, minmax(0, 1fr));
- }
-
- label {
- color: #3e3545;
- font-size: 0.84rem;
- font-weight: 700;
- }
-
- input,
- select,
- textarea {
- width: 100%;
- margin-top: 8px;
- color: var(--ink);
- background: white;
- border: 1px solid #d9cfe0;
- border-radius: 12px;
- outline: none;
- transition:
- border-color 160ms ease,
- box-shadow 160ms ease;
- }
-
- input,
- select {
- height: 50px;
- padding: 0 14px;
- }
-
- textarea {
- resize: vertical;
- padding: 14px;
- }
-
- input:focus,
- select:focus,
- textarea:focus {
- border-color: var(--purple-500);
- box-shadow: 0 0 0 4px rgba(124, 59, 192, 0.1);
- }
-
- label small {
- display: block;
- margin-top: 7px;
- color: var(--muted);
- font-size: 0.71rem;
- font-weight: 500;
- }
-
- .option-grid {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 14px;
- }
-
- .option-card {
- min-height: 104px;
- display: grid;
- grid-template-columns: auto 1fr auto;
- align-items: start;
- gap: 12px;
- padding: 18px;
- background: white;
- border: 1px solid var(--line);
- border-radius: 14px;
- cursor: pointer;
- }
-
- .option-card:has(input:checked) {
- background: var(--purple-50);
- border-color: var(--purple-300, #c8afe2);
- box-shadow: inset 0 0 0 1px rgba(124,59,192,0.08);
- }
-
- .option-card input {
- width: 18px;
- height: 18px;
- margin: 2px 0 0;
- accent-color: var(--purple-700);
- }
-
- .option-card span,
- .option-card strong,
- .option-card small {
- display: block;
- }
-
- .option-card strong {
- color: var(--ink);
- font-size: 0.85rem;
- }
-
- .option-card small {
- margin-top: 4px;
- line-height: 1.35;
- }
-
- .option-card b {
- color: var(--purple-800);
- font-size: 0.73rem;
- white-space: nowrap;
- }
-
- .upload-grid {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 16px;
- }
-
- .upload-box {
- position: relative;
- min-height: 165px;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- padding: 24px;
- text-align: center;
- background: var(--purple-50);
- border: 1px dashed #b99bd7;
- border-radius: 16px;
- cursor: pointer;
- }
-
- .upload-box:hover {
- background: var(--purple-100);
- }
-
- .upload-box input {
- position: absolute;
- width: 1px;
- height: 1px;
- opacity: 0;
- pointer-events: none;
- }
-
- .upload-icon {
- width: 42px;
- height: 42px;
- display: grid;
- place-items: center;
- margin-bottom: 12px;
- color: var(--purple-800);
- background: white;
- border-radius: 50%;
- box-shadow: var(--shadow-sm);
- font-size: 1.3rem;
- }
-
- .upload-box strong {
- font-size: 0.86rem;
- }
-
- .upload-box small {
- margin-top: 4px;
- }
-
- .full-width {
- display: block;
- margin-top: 22px;
- }
-
- .agreement {
- display: flex;
- align-items: flex-start;
- gap: 10px;
- margin-top: 22px;
- color: var(--muted);
- line-height: 1.45;
- font-size: 0.77rem;
- font-weight: 500;
- }
-
- .agreement input {
- flex: 0 0 18px;
- width: 18px;
- height: 18px;
- margin: 2px 0 0;
- accent-color: var(--purple-700);
- }
-
- .summary-sticky {
- position: sticky;
- top: 105px;
- padding: 30px;
- color: white;
- background:
- radial-gradient(circle at 100% 0%, rgba(255,255,255,0.1), transparent 28%),
- var(--purple-950);
- border-radius: var(--radius-md);
- box-shadow: var(--shadow-lg);
- }
-
- .summary-sticky .eyebrow {
- color: #cfaeea;
- }
-
- .summary-sticky h3 {
- margin: 8px 0 24px;
- font-size: 1.55rem;
- }
-
- .summary-line {
- display: flex;
- justify-content: space-between;
- gap: 18px;
- padding: 12px 0;
- color: rgba(255,255,255,0.72);
- border-bottom: 1px solid rgba(255,255,255,0.11);
- font-size: 0.82rem;
- }
-
- .summary-line strong {
- color: white;
- }
-
- .service-summary:empty {
- display: none;
- }
-
- .summary-total {
- display: flex;
- justify-content: space-between;
- align-items: flex-end;
- gap: 18px;
- padding: 24px 0 10px;
- }
-
- .summary-total span {
- color: rgba(255,255,255,0.74);
- font-size: 0.8rem;
- }
-
- .summary-total strong {
- font-size: 2rem;
- letter-spacing: -0.04em;
- }
-
- .summary-note,
- .secure-note {
- color: rgba(255,255,255,0.58);
- font-size: 0.69rem;
- line-height: 1.5;
- }
-
- .summary-note {
- margin: 0 0 22px;
- }
-
- .secure-note {
- margin: 14px 0 0;
- text-align: center;
- }
-
- .faq-layout {
- display: grid;
- grid-template-columns: 0.78fr 1.22fr;
- gap: 70px;
- }
-
- .faq-list {
- display: grid;
- gap: 12px;
- }
-
- details {
- padding: 22px 24px;
- background: white;
- border: 1px solid var(--line);
- border-radius: 14px;
- }
-
- summary {
- cursor: pointer;
- font-weight: 750;
- }
-
- details p {
- margin: 14px 0 0;
- color: var(--muted);
- font-size: 0.87rem;
- }
-
- .cta-section {
- padding: 0 0 90px;
- background: var(--surface-soft);
- }
-
- .cta-card {
- min-height: 250px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 40px;
- padding: 52px;
- color: white;
- background:
- radial-gradient(circle at 85% 20%, rgba(255,255,255,0.13), transparent 25%),
- linear-gradient(135deg, var(--purple-950), var(--purple-700));
- border-radius: var(--radius-lg);
- }
-
- .cta-card .eyebrow {
- color: #d8bcea;
- }
-
- .cta-card h2 {
- max-width: 700px;
- margin: 10px 0 0;
- font-size: clamp(1.8rem, 3vw, 2.8rem);
- line-height: 1.1;
- letter-spacing: -0.04em;
- }
-
- .site-footer {
- padding: 65px 0 26px;
- color: rgba(255,255,255,0.68);
- background: #170b24;
- }
-
- .footer-grid {
- display: grid;
- grid-template-columns: 1.6fr repeat(3, 1fr);
- gap: 48px;
- }
-
- .footer-grid > div {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- gap: 10px;
- font-size: 0.78rem;
- }
-
- .footer-grid > div:first-child {
- padding-right: 50px;
- }
-
- .footer-grid strong {
- color: white;
- }
-
- .footer-brand {
- color: white;
- margin-bottom: 8px;
- }
-
- .footer-brand small {
- color: rgba(255,255,255,0.5);
- }
-
- .footer-grid p {
- margin: 0;
- }
-
- .footer-grid a:hover {
- color: white;
- }
-
- .footer-bottom {
- display: flex;
- justify-content: space-between;
- gap: 30px;
- margin-top: 45px;
- padding-top: 24px;
- border-top: 1px solid rgba(255,255,255,0.1);
- font-size: 0.72rem;
- }
-
- dialog {
- width: min(calc(100% - 32px), 500px);
- padding: 0;
- border: 0;
- border-radius: 22px;
- box-shadow: var(--shadow-lg);
- }
-
- dialog::backdrop {
- background: rgba(21, 9, 32, 0.68);
- backdrop-filter: blur(4px);
- }
-
- .dialog-content {
- position: relative;
- padding: 42px;
- text-align: center;
- }
-
- .dialog-close {
- position: absolute;
- top: 12px;
- right: 14px;
- width: 36px;
- height: 36px;
- color: var(--muted);
- background: transparent;
- border: 0;
- border-radius: 50%;
- cursor: pointer;
- font-size: 1.5rem;
- }
-
- .dialog-icon {
- width: 62px;
- height: 62px;
- display: grid;
- place-items: center;
- margin: 0 auto 18px;
- color: white;
- background: var(--success);
- border-radius: 50%;
- font-size: 1.5rem;
- }
-
- .dialog-content h2 {
- margin: 0 0 10px;
- }
-
- .dialog-content p {
- margin: 0 0 24px;
- color: var(--muted);
- font-size: 0.9rem;
- }
-
- @media (max-width: 1020px) {
- .main-nav {
- display: none;
- }
-
- .hero-grid,
- .faq-layout {
- grid-template-columns: 1fr;
- }
-
- .hero-copy {
- max-width: 780px;
- }
-
- .hero-visual {
- min-height: 430px;
- }
-
- .card-grid,
- .process-grid {
- grid-template-columns: repeat(2, 1fr);
- }
-
- .order-layout {
- grid-template-columns: 1fr;
- }
-
- .summary-sticky {
- position: static;
- }
-
- .footer-grid {
- grid-template-columns: repeat(2, 1fr);
- }
- }
-
- @media (max-width: 720px) {
- .container {
- width: min(calc(100% - 26px), var(--container));
- }
-
- .site-header .button-outline {
- display: none;
- }
-
- .hero {
- padding: 68px 0 75px;
- }
-
- .hero h1 {
- font-size: 2.65rem;
- }
-
- .hero-visual {
- min-height: 330px;
- }
-
- .envelope-card {
- padding: 24px;
- border-radius: 18px;
- }
-
- .recipient-block,
- .barcode {
- left: 33%;
- }
-
- .barcode {
- transform: scale(0.72);
- transform-origin: left bottom;
- }
-
- .stat-card {
- display: none;
- }
-
- .service-strip-grid,
- .card-grid,
- .process-grid,
- .two-columns,
- .option-grid,
- .upload-grid,
- .footer-grid {
- grid-template-columns: 1fr;
- }
-
- .service-strip-grid > div {
- min-height: 90px;
- border-right: 0;
- border-bottom: 1px solid rgba(255,255,255,0.11);
- }
-
- .section {
- padding: 74px 0;
- }
-
- .feature-card,
- .process-step {
- min-height: auto;
- }
-
- .process-step h3 {
- margin-top: 25px;
- }
-
- .form-section {
- padding: 25px 20px;
- }
-
- .option-card {
- grid-template-columns: auto 1fr;
- }
-
- .option-card b {
- grid-column: 2;
- }
-
- .cta-card {
- min-height: 0;
- align-items: flex-start;
- flex-direction: column;
- padding: 36px 26px;
- border-radius: 22px;
- }
-
- .footer-grid > div:first-child {
- padding-right: 0;
- }
-
- .footer-bottom {
- align-items: flex-start;
- flex-direction: column;
- }
- }
|