:root{
  --ivory:#f7f4ef;--paper:#fbfaf7;--white:#fff;--ink:#342f2b;--muted:#766d65;
  --taupe:#b2a18a;--taupe-dark:#8a7861;--sage:#8e9887;--line:rgba(73,62,54,.15);
  --serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",Georgia,"Times New Roman",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif;
  --shadow:0 22px 70px rgba(61,49,40,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:9999;background:var(--ink);color:#fff;padding:8px 12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(247,244,239,.85);backdrop-filter:blur(15px);border-bottom:1px solid rgba(62,51,43,.08);transition:.3s}.site-header.scrolled{box-shadow:0 7px 30px rgba(54,44,36,.08)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;line-height:1}.brand-word{font:400 32px/1 var(--serif);letter-spacing:.06em}.brand-sub{font-size:8px;letter-spacing:.34em;margin-top:8px;color:var(--muted)}.global-nav{display:flex;align-items:center;gap:30px;font-size:13px;letter-spacing:.06em}.global-nav>a:not(.nav-cta){position:relative}.global-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--taupe-dark);transition:.25s}.global-nav>a:hover::after{right:0}.nav-cta{padding:13px 23px;border-radius:999px;background:var(--taupe-dark);color:#fff}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:var(--ink);margin:6px}
.hero{position:relative;min-height:780px;display:flex;align-items:center;overflow:hidden;background:#eee8de}.hero-bg{position:absolute;inset:0;background:url('assets/hero-flatlay.png') center/cover no-repeat}.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,240,.98) 0%,rgba(248,245,240,.92) 37%,rgba(248,245,240,.15) 65%,rgba(248,245,240,0) 100%)}.hero-inner{position:relative;padding-top:82px}.hero-copy{width:54%;padding:70px 0}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.32em;font-size:11px;color:var(--taupe-dark)}.hero h1,.section h2,.closing h2{font-family:var(--serif);font-weight:400;letter-spacing:.04em}.hero h1{font-size:clamp(46px,5.4vw,76px);line-height:1.35;margin:0 0 25px}.hero h1 em{font-style:normal;color:var(--taupe-dark);position:relative}.hero h1 em::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--taupe)}.hero-lead{font-family:var(--serif);font-size:19px;line-height:2;color:#554c46}.hero-actions{display:flex;gap:14px;margin:34px 0 20px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:999px;border:1px solid transparent;font-size:14px;letter-spacing:.06em;transition:.25s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--taupe-dark);color:#fff;box-shadow:0 14px 35px rgba(115,95,73,.22)}.button-primary:hover{background:#75644f}.button-ghost,.button-outline{border-color:rgba(69,57,48,.25);background:rgba(255,255,255,.45)}.button-ghost:hover,.button-outline:hover{background:#fff}.microcopy{font-size:11px;letter-spacing:.09em;color:var(--muted)}.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:8px;letter-spacing:.28em}.scroll-cue i{display:block;width:1px;height:48px;background:linear-gradient(var(--taupe-dark),transparent)}
.trust-strip{position:relative;margin-top:-28px;z-index:5}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.trust-grid article{padding:28px 24px;text-align:center;border-right:1px solid var(--line)}.trust-grid article:last-child{border-right:0}.line-icon{display:flex;width:46px;height:46px;border:1px solid rgba(138,120,97,.24);border-radius:50%;align-items:center;justify-content:center;margin:0 auto 13px;color:var(--taupe-dark);font-family:var(--serif)}.trust-grid h2{font-family:var(--serif);font-size:15px;font-weight:400;margin:0 0 4px}.trust-grid p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}
.section{padding:120px 0}.section-heading h2,.center-heading h2,.split-heading h2,.story-copy h2{font-size:clamp(34px,4vw,54px);line-height:1.5;margin:0 0 25px}.section-heading>p:last-child,.center-heading>p:last-child,.split-heading>p,.story-copy>p{color:var(--muted)}.concerns{background:url('assets/paper-texture.jpg') repeat}.concern-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:110px;align-items:start}.concern-list{display:grid;grid-template-columns:1fr 1fr;gap:0 38px}.concern-list div{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:23px 0;border-bottom:1px solid var(--line)}.concern-list span{font:italic 20px/1 var(--serif);color:var(--taupe)}.concern-list p{margin:0;font-size:14px;line-height:1.85}
.service{background:var(--paper);overflow:hidden}.service-layout{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:90px}.service-copy p:not(.eyebrow){color:var(--muted)}.service-copy h2{font-size:clamp(36px,4vw,57px);line-height:1.48;margin:0 0 30px}.text-link{display:inline-flex;align-items:center;gap:14px;margin-top:16px;color:var(--taupe-dark);font-size:13px;border-bottom:1px solid var(--taupe);padding-bottom:5px}.paper-composition{height:570px;position:relative;background:radial-gradient(circle at 70% 15%,#f5eee2,transparent 38%),linear-gradient(145deg,#ded5c7,#f6f1ea);border-radius:4px;box-shadow:var(--shadow)}.paper-composition::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.45),transparent 48%);pointer-events:none}.paper-card{position:absolute;background:#fbfaf6;box-shadow:0 24px 45px rgba(66,54,45,.17);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#554c46}.paper-one{width:270px;height:380px;left:70px;top:75px;transform:rotate(-5deg)}.paper-two{width:235px;height:350px;right:55px;top:105px;transform:rotate(7deg);background:#f1ede4}.mini-label{font-size:9px;letter-spacing:.35em;margin-bottom:42px}.demo-monogram{font:400 80px/1 var(--serif);letter-spacing:-.18em;margin-right:.18em}.demo-monogram span{font-size:28px;vertical-align:middle;margin:0 5px}.paper-card small{font:10px/1.8 var(--serif);letter-spacing:.17em;margin-top:50px}.modern{font-size:62px;letter-spacing:.04em;margin:0}.botanical{font-size:44px;color:var(--sage);margin-bottom:25px}.wax-seal{position:absolute;width:96px;height:96px;right:210px;bottom:38px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#e5dac7,#b4a084);color:#f9f6f0;font:37px var(--serif);box-shadow:0 8px 16px rgba(58,45,34,.25),inset 0 0 0 4px rgba(255,255,255,.18)}.ribbon{position:absolute;width:420px;height:60px;left:-80px;bottom:34px;border:18px solid rgba(246,241,232,.8);border-left-color:transparent;border-right-color:transparent;transform:rotate(19deg);filter:drop-shadow(0 10px 6px rgba(80,62,49,.08))}
.styles{background:var(--ivory)}.center-heading{text-align:center;max-width:760px;margin:0 auto 60px}.style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.style-card{background:rgba(255,255,255,.62);border:1px solid rgba(74,62,52,.11);padding:34px 24px 26px;text-align:center;min-height:310px;transition:.3s}.style-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(67,55,46,.09);background:#fff}.monogram{height:150px;display:flex;align-items:center;justify-content:center;color:#4a423d;font-family:var(--serif)}.monogram.classic{font-size:78px;position:relative}.monogram.classic span{margin-left:-24px;margin-top:40px;font-style:italic}.monogram.script{font-size:45px;font-style:italic}.botanical-mark{font-size:44px;gap:4px}.botanical-mark i{font-size:25px;color:var(--sage)}.botanical-mark span{font-size:20px}.monogram.minimal{font-size:58px;letter-spacing:.06em}.monogram.romantic{font-size:63px;font-style:italic}.monogram.romantic small{font-size:15px;margin:0 8px}.monogram.deco{border:1px solid var(--taupe);height:118px;width:118px;margin:16px auto;position:relative;font-size:50px}.monogram.deco b,.monogram.deco span{font-weight:400;position:absolute}.monogram.deco b{left:22px;top:17px}.monogram.deco span{right:22px;bottom:17px}.monogram.editorial{font-size:53px;letter-spacing:-.09em}.monogram.japan{font-size:56px}.style-card h3{font:400 17px var(--serif);letter-spacing:.08em;margin:12px 0 6px}.style-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.style-note{text-align:center;font-size:11px;color:var(--muted);margin-top:28px}
.applications{padding-top:100px;background:#fff}.split-heading{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:80px;margin-bottom:54px}.application-track{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.application-track article{text-align:center}.application-track h3{font-size:12px;font-weight:400}.use-visual{aspect-ratio:4/5;border-radius:3px;display:grid;place-items:center;overflow:hidden;background:#eee8df;box-shadow:0 10px 28px rgba(60,48,39,.08);font-family:var(--serif);position:relative}.use-visual::before{content:"";position:absolute;inset:14px;border:1px solid rgba(89,73,60,.18)}.invitation span{font-size:32px;border-bottom:1px solid var(--taupe);padding:15px}.welcome{background:linear-gradient(rgba(255,255,255,.75),rgba(255,255,255,.75)),radial-gradient(circle at 50% 12%,#d8d8c2,#9ea491)}.welcome span{font-size:11px;letter-spacing:.18em}.welcome b{font-size:31px;font-weight:400}.menu{background:linear-gradient(140deg,#f5f0e7,#ddd0bd)}.menu span{font-size:12px;letter-spacing:.25em}.menu b{font-size:30px;font-weight:400}.stamp{background:#e9e1d5}.stamp span{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#c6b59d;color:#fff;font-size:42px;box-shadow:inset 0 0 0 4px rgba(255,255,255,.35)}.tapestry{background:#e7ded2}.tapestry span{width:73%;height:85%;border-top:8px solid #af9879;background:#f5f0e7;display:grid;place-items:center;font-size:32px;box-shadow:0 12px 25px rgba(62,50,41,.14)}.digital{background:#d6d0c8}.digital span{width:86%;height:58%;display:grid;place-items:center;background:#faf9f6;border:9px solid #4e4945;font-size:30px;box-shadow:0 18px 24px rgba(45,40,36,.22)}
.story{background:var(--paper)}.story-panel{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:#fff;box-shadow:var(--shadow)}.story-image{background:url('assets/story-detail.jpg') center/cover no-repeat}.story-copy{padding:75px 70px}.story-copy>p{font-size:14px}.credential-list{list-style:none;padding:0;margin:35px 0 0}.credential-list li{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:19px 0;border-top:1px solid var(--line)}.credential-list strong{font:400 16px var(--serif);color:var(--taupe-dark)}.credential-list span{font-size:12px;color:var(--muted)}
.deliverables{background:url('assets/paper-texture.jpg') repeat}.deliverables-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}
.file-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.file-grid article{padding:28px 22px;background:rgba(255,255,255,.68);border:1px solid rgba(68,56,47,.08);min-height:100px}.file-grid article>span{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--taupe);color:var(--taupe-dark);font:14px var(--serif);margin-bottom:20px}.file-grid h3{font:400 17px var(--serif);margin:0 0 8px}.file-grid p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}

/* ========================================
   PRICE & PLAN
======================================== */

.price {
  background: var(--paper);
}


/* heading */

.price .center-heading {
  max-width: 820px;
  margin-bottom: 55px;
}

.campaign-strip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
  padding: 10px 22px;
  border-top: 1px solid rgba(138, 120, 97, .22);
  border-bottom: 1px solid rgba(138, 120, 97, .22);
  color: var(--taupe-dark);
}

.campaign-strip span {
  font-size: 9px;
  letter-spacing: .22em;
}

.campaign-strip strong {
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .04em;
}

.campaign-strip small {
  font-size: 9px;
  color: var(--muted);
}


/* grid */

.price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
}


/* card */

.price-card {
  position: relative;
  display: flex;
  flex-direction: column;

  padding: 42px 34px 36px;

  background: #fff;
  border: 1px solid rgba(70, 58, 49, .12);

  box-shadow: 0 8px 32px rgba(60, 48, 39, .05);

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}


/* Recommended / Signature */

.price-card.featured {
  z-index: 2;

  background:
    linear-gradient(
      180deg,
      rgba(250, 247, 241, .9) 0%,
      #fff 34%
    );

  border-color: var(--taupe);

  transform: translateY(-10px);

  box-shadow:
    0 25px 60px rgba(79, 64, 51, .13);
}

.price-card.featured:hover {
  transform: translateY(-14px);
}


/* badge */

.recommend {
  position: absolute;
  top: 18px;
  right: 20px;

  padding: 7px 11px;

  background: var(--taupe-dark);
  color: #fff;

  font-size: 8px;
  letter-spacing: .2em;
}


/* plan labels */

.plan-label {
  margin: 0;

  color: var(--taupe-dark);

  font-size: 9px;
  letter-spacing: .3em;
}

.price-card h3 {
  margin: 9px 0 14px;

  font: 400 27px var(--serif);
}


/* who is this for */

.plan-for {
  min-height: 58px;

  margin: 0;

  color: var(--ink);

  font-size: 114px;
  font-weight: 600;

  line-height: 1.9;
  letter-spacing: .02em;
}


/* normal price */

.price-value {
  min-height: 128px;

  display: flex;
  align-items: center;

  margin: 0;

  font: 400 42px/1.1 var(--serif);
}

.price-value > span {
  margin-right: 2px;
  font-size: 20px;
}

.price-value small {
  margin-left: 8px;

  font: 10px var(--sans);

  color: var(--muted);
}


/* Opening Special */

.opening-price {
  min-height: 128px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  margin: 0;
}

.opening-label {
  margin: 0 0 5px;

  color: var(--taupe-dark);

  font-size: 9px;
  letter-spacing: .22em;
}

.regular-price {
  display: flex;
  align-items: center;
  gap: 8px;

  margin-bottom: 5px;

  color: #999;

  font-size: 11px;
}

.regular-price del {
  text-decoration-color: #9c8a76;
  text-decoration-thickness: 1px;
}

.special-price {
  color: var(--ink);

  font: 400 48px/1.1 var(--serif);
}

.special-price > span {
  margin-right: 2px;
  font-size: 22px;
}

.special-price small {
  margin-left: 8px;

  color: var(--muted);

  font: 10px var(--sans);
}


/* description */

.plan-desc {
  min-height: 76px;

  margin: 0;

  color: var(--muted);

  font-size: 12px;
  line-height: 1.9;
}


/* included items */

.price-card ul,
.price-card .plan-list {
  flex: 1;

  list-style: none;

  margin: 18px 0 30px;
  padding: 21px 0 0;

  border-top: 1px solid var(--line);
}

.price-card li {
  position: relative;

  padding: 7px 0 7px 22px;

  font-size: 12px;
  line-height: 1.7;
}

.price-card li::before {
  content: "✓";

  position: absolute;
  left: 0;

  color: var(--taupe-dark);
}


/* buttons */

.price-actions {
  display: grid;
  gap: 10px;

  margin-top: auto;
}

.price-actions .button {
  width: 100%;
}

.price-actions .button-outline {
  background: transparent;
}


/* disclaimer */

.price-disclaimer {
  max-width: 930px;

  margin: 38px auto 0;

  text-align: center;

  color: var(--muted);

  font-size: 10px;
  line-height: 1.9;
}


/* ========================================
   Tablet
======================================== */

@media (max-width: 980px) {

  .price-grid {
    grid-template-columns: 1fr;

    max-width: 680px;
    margin-inline: auto;
  }

  .price-card.featured {
    transform: none;
  }

  .price-card.featured:hover {
    transform: none;
  }

}


/* ========================================
   Smartphone
======================================== */

@media (max-width: 640px) {

  .price .center-heading {
    margin-bottom: 40px;
  }

  .campaign-strip {
    display: flex;
    flex-wrap: wrap;

    gap: 4px 8px;

    padding: 10px 12px;
  }

  .campaign-strip span {
    width: 100%;
  }

  .price-card {
    padding: 35px 24px 30px;
  }

  .price-card h3 {
    font-size: 26px;
  }

  .plan-for {
    min-height: 0;

    margin-bottom: 10px;
  }

  .opening-price,
  .price-value {
    min-height: auto;

    margin: 18px 0 24px;
  }

  .price-value {
    font-size: 39px;
  }

  .special-price {
    font-size: 44px;
  }

  .plan-desc {
    min-height: 0;
  }

  .price-card ul,
  .price-card .plan-list {
    margin-top: 22px;
  }

  .recommend {
    top: 16px;
    right: 16px;
  }

}



/* ========================================
   BENEFITS
======================================== */

.benefits {
  background: #faf8f4;
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 56px;
  background: rgba(160, 145, 125, 0.22);
  border: 1px solid rgba(160, 145, 125, 0.18);
}

.benefit-card {
  position: relative;
  min-height: 330px;
  padding: 38px 30px 34px;
  background: #faf8f4;
}

.benefit-number {
  display: block;
  margin-bottom: 28px;
  color: #a28f78;
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 12px;
  letter-spacing: 0.18em;
}

.benefit-card h3 {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.08em;
}

.benefit-card p {
  margin: 0;
  color: #746c64;
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.045em;
}

.sp-only {
  display: none;
}


/* Tablet */
@media (max-width: 1000px) {

  .benefit-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .benefit-card {
    min-height: 300px;
  }

}


/* Smartphone */
@media (max-width: 600px) {

  .benefit-grid {
    grid-template-columns: 1fr;
    margin-top: 38px;
  }

  .benefit-card {
    min-height: auto;
    padding: 32px 25px 30px;
  }

  .benefit-number {
    margin-bottom: 18px;
  }

  .benefit-card h3 {
    font-size: 17px;
    margin-bottom: 14px;
  }

  .benefit-card p {
    font-size: 12px;
    line-height: 1.95;
  }

  .sp-only {
    display: inline;
  }

}