@charset "UTF-8";
:root {
  --paper: #fbf9f5;
  --cream: #f5f0e9;
  --cream-2: #eee6dc;
  --ink: #302b27;
  --muted: #6e645c;
  --accent: #8a715e;
  --line: #dfd5ca;
  --font-sans: "Poppins", "poppins", Arial, sans-serif;
  --font-script: "Pinyon Script", "bickham-script-pro-3", "Bickham Script Pro 3", cursive;
  --font-serif: "Cormorant Garamond", Georgia, serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
body::selection { background: #dfc9b3; color: var(--ink); }
a { color: inherit; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.skip-link { position:absolute; left:12px; top:-100px; z-index:999; background:var(--ink); color:#fff; padding:10px 16px; }
.skip-link:focus { top:12px; }
.masthead { background:var(--cream); height:77px; max-width:none; border-bottom: 1px solid rgba(123,105,87,.16); display:flex; align-items:center; justify-content:space-between; padding:0 max(6%,calc((100vw - 1270px)/2)); }
.masthead span:first-child { font-family:var(--font-serif); font-size:25px; line-height:1; letter-spacing:3px; }
.masthead span:last-child { font-weight:400; font-size:10px; text-transform:uppercase; letter-spacing:3px; color:var(--muted); }
.hero { position:relative; background:var(--cream); text-align:center; padding:82px 24px 91px; overflow:hidden; }
.hero::before, .hero::after { content:""; position:absolute; pointer-events:none; border:1px solid rgba(155,135,115,.18); border-radius:50%; width:640px; height:640px; top:-258px; }
.hero::before { left:-520px; } .hero::after { right:-520px; }
.hero-inner { max-width:900px; margin:auto; position:relative; z-index:1; }
.eyebrow, .section-overline { font-size:10px; letter-spacing:4px; font-weight:500; line-height:1.6; color:var(--accent); }
.eyebrow { display:flex; align-items:center; justify-content:center; gap:15px; margin:0 0 35px; }
.tiny-line { display:inline-block; height:1px; width:33px; background:#bda996; }
.hero-pretitle { margin:0; font-family:var(--font-serif); font-style:italic; font-size:32px; font-weight:400; letter-spacing:.2px; color:#756b61; }
h1 { margin:5px 0 0; font-size:clamp(78px,11.4vw,160px); line-height:1.06; font-family:var(--font-script); font-weight:400; letter-spacing:-3px; color:#42372e; }
h1 em { font-style:normal; font-size:.77em; margin:0 .04em; }
.flourish { display:flex; justify-content:center; color:#aa9180; margin:24px 0 34px; }
.flourish svg { width:160px; height:28px; }
.hero h2 { font-family:var(--font-serif); font-size:clamp(29px,3.3vw,44px); font-weight:500; line-height:1.2; margin:0 0 11px; }
.hero-copy { font-size:13px; line-height:1.95; max-width:540px; margin:0 auto; color:var(--muted); font-weight:300; }
.hero-cta { display:inline-flex; gap:32px; align-items:center; border-bottom:1px solid #846d58; text-decoration:none; text-transform:uppercase; letter-spacing:2.2px; font-size:10px; padding:15px 0 11px; margin-top:29px; transition:gap .2s, color .2s; }
.hero-cta:hover { gap:40px; color:var(--accent); }
.hero-cta span { font-size:18px; }
.hero-bottom-border { position:absolute; bottom:8px; height:1px; width:100%; left:0; background:rgba(120,103,87,.13); }
.section-container { max-width:1250px; padding:0 34px; margin:0 auto; }
.pix-section { padding:82px 0 94px; background:var(--paper); }
.pix-grid { display:grid; grid-template-columns: 1fr 1fr; gap:clamp(30px,7vw,125px); align-items:center; }
.section-overline { margin:0 0 13px; }
.pix-intro h2, .section-heading h2, .delivery-text h2 { font-family:var(--font-serif); font-weight:500; letter-spacing:-.8px; line-height:1.05; font-size:clamp(43px,5vw,68px); margin:0 0 20px; }
.pix-intro h2 span, .section-heading h2 span, .delivery-text h2 span { font-style:italic; font-weight:400; }
.pix-intro>p:last-child, .section-heading>p:nth-of-type(2), .delivery-text>p:nth-of-type(2) { margin:0; max-width:430px; font-size:13px; line-height:2; font-weight:300; color:var(--muted); }
.pix-card { border:1px solid var(--line); background:#f6f2ec; padding:32px 38px 29px; box-shadow:0 17px 40px rgba(65,47,33,.035); position:relative; }
.pix-card::after { content:""; position:absolute; inset:7px; pointer-events:none; border:1px solid rgba(157,136,116,.16); }
.pix-card-top { display:flex; align-items:center; justify-content:space-between; color:var(--accent); margin-bottom:22px; }
.pix-card-top span { font-size:10px; letter-spacing:2.5px; text-transform:uppercase; }
.pix-number { font-family:var(--font-serif); font-weight:500; font-size:clamp(36px,4.2vw,57px); letter-spacing:.8px; line-height:1; margin:0 0 9px; }
.pix-owner { color:#817267; font-size:12px; margin:0 0 29px; }
.copy-button { display:flex; justify-content:center; align-items:center; width:100%; gap:11px; color:#f8f4ee; background:#42382f; border:1px solid #42382f; padding:15px 17px; text-transform:uppercase; font-size:10px; letter-spacing:2px; cursor:pointer; position:relative; z-index:1; transition:background .2s; }
.copy-button:hover { background:#6e594a; }
.copy-hint { text-align:center; font-size:10px; color:#8c7f73; margin:15px 0 0; position:relative; z-index:1; }
.gifts-section { background:#f1ebe3; padding:85px 0 104px; scroll-margin-top:10px; }
.section-heading { text-align:center; margin:0 auto 48px; }
.section-heading h2 { margin-bottom:13px; }
.section-heading>p:nth-of-type(2) { margin:0 auto; }
.small-ornament { font-family:serif; line-height:1; color:#a58e7b; font-size:17px; margin-top:21px; }
.gift-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:25px 19px; }
.gift-card { background:#fffdfb; display:flex; flex-direction:column; border:1px solid rgba(127,110,92,.12); transition:transform .22s ease,box-shadow .22s ease; min-width:0; }
.gift-card:hover { transform:translateY(-4px); box-shadow:0 16px 35px rgba(68,55,43,.09); }
.gift-image { width:100%; aspect-ratio:1 / .94; background:#fdfcf9; display:flex; justify-content:center; align-items:center; border-bottom:1px solid rgba(127,110,92,.11); overflow:hidden; }
.gift-image img { width:100%; height:100%; object-fit:contain; display:block; mix-blend-mode:multiply; }
.gift-info { display:flex; flex-direction:column; flex:1; padding:22px 20px 22px; }
.gift-info h3 { font-family:var(--font-serif); font-weight:600; font-size:27px; line-height:1.13; margin:0 0 15px; min-height:60px; }
.gift-price { font-family:var(--font-sans); font-size:17px; font-weight:500; letter-spacing:.2px; color:#3e342c; margin:0 0 25px; }
.gift-shop { border-top:1px solid #e9e0d7; padding-top:15px; margin:auto 0 0; font-size:10px; line-height:1.8; color:#73675c; }
.gift-shop a { white-space:nowrap; display:inline-block; font-weight:600; text-underline-offset:3px; color:#57473a; }
.gift-shop a:hover { color:#9b7b61; }
.delivery-section { background:var(--paper); padding:95px 0; }
.delivery-container { display:grid; grid-template-columns:1fr 1.4fr; align-items:center; gap:6vw; max-width:1100px; }
.delivery-decoration { display:flex; justify-content:center; align-items:center; color:#b6a08b; border-radius:50%; width:280px; height:280px; border:1px solid #e4d7cb; position:relative; justify-self:center; }
.delivery-decoration::after { content:""; position:absolute; border:1px solid #ede1d5; inset:9px; border-radius:50%; }
.delivery-decoration svg { width:94px; height:128px; transform:rotate(-20deg); }
.delivery-text h2 { margin-bottom:13px; }
.delivery-text address { font-style:normal; font-size:15px; font-weight:400; line-height:1.95; color:var(--ink); margin:21px 0 18px; }
.delivery-text address strong { font-weight:500; }
.address-button { border:0; border-bottom:1px solid #8f7765; background:transparent; padding:8px 0; cursor:pointer; text-transform:uppercase; font-size:10px; letter-spacing:1.7px; }
.address-button span { margin-left:17px; }
.address-button:hover { color:var(--accent); }
.footer { background:#ece3d8; text-align:center; border-top:1px solid #dcd0c4; padding:55px 20px 45px; }
.footer-message { margin:0; font-family:var(--font-serif); font-style:italic; font-size:22px; }
.footer-names { font-family:var(--font-script); font-size:73px; line-height:1.15; margin:0; color:#514234; }
.footer-caption { margin:3px 0 0; font-size:10px; color:#796d62; letter-spacing:1px; }
.toast { position:fixed; z-index:100; left:50%; bottom:28px; transform:translate(-50%,20px); background:#383026; color:white; padding:12px 20px; font-size:12px; letter-spacing:.3px; border-radius:3px; opacity:0; pointer-events:none; transition:transform .25s,opacity .25s; box-shadow:0 10px 28px rgba(0,0,0,.12); text-align:center; }
.toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:1120px) { .gift-grid {grid-template-columns:repeat(3,minmax(0,1fr));} .gift-info h3 {min-height:0;} }
@media (max-width:820px) { .gift-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .pix-grid { gap:40px; } .pix-card { padding:28px 24px; } .section-container {padding:0 25px;} .pix-section,.delivery-section {padding:65px 0;} .delivery-decoration {width:210px;height:210px;} .hero {padding:75px 20px 83px;} }
@media (max-width:600px) {
  .masthead {height:63px; padding:0 23px;} .masthead span:first-child {font-size:21px;} .masthead span:last-child {font-size:9px; letter-spacing:1.6px;}
  .hero {padding:68px 16px 75px;} .hero::before,.hero::after {display:none;} .eyebrow {gap:9px; font-size:8px; letter-spacing:2.3px; margin-bottom:37px;} .tiny-line {width:21px;}
  .hero-pretitle {font-size:27px;} h1 {font-size:clamp(72px,13.7vw,101px); letter-spacing:-2px; line-height:1.15; margin-top:7px;} h1 em {display:inline;} .flourish {margin:16px 0 25px;} .hero h2 {font-size:34px; max-width:310px; margin:0 auto 13px;} .hero-copy {font-size:12px; max-width:330px;} .hero-cta {margin-top:23px;}
  .pix-grid {grid-template-columns:1fr; gap:29px;} .pix-section {padding:60px 0 70px;} .pix-intro h2,.section-heading h2,.delivery-text h2 {font-size:47px;} .pix-intro>p:last-child {font-size:12px;} .pix-number {font-size:51px;} .pix-owner {font-size:11px;}
  .gifts-section {padding:64px 0 76px;} .section-heading {margin-bottom:31px;} .section-heading>p:nth-of-type(2) {font-size:12px;} .gift-grid {gap:13px;} .gift-info {padding:16px 14px 17px;} .gift-info h3 {font-size:25px; min-height:56px; margin-bottom:12px;} .gift-price {font-size:15px; margin-bottom:15px;} .gift-shop {padding-top:12px; font-size:9px;} .gift-image {aspect-ratio: 1/.97;}
  .delivery-container {grid-template-columns:1fr; text-align:center; gap:12px;} .delivery-decoration {width:150px; height:150px; grid-row:2; margin-top:18px;} .delivery-decoration svg {width:72px;height:100px;} .delivery-text>p:nth-of-type(2) {margin:0 auto;} .delivery-text address {font-size:13px;}
  .footer {padding:42px 16px 35px;} .footer-names {font-size:64px;}
}
@media (max-width:385px) { h1 {font-size:64px;} .section-container {padding:0 17px;} .gift-grid {gap:10px;} .gift-info {padding:14px 10px;} .gift-info h3 {font-size:22px;} .gift-shop {font-size:9px;} .pix-card {padding:28px 18px;} .pix-number {font-size:45px;} }
@media (prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} *,*::before,*::after {animation-duration:.01ms !important;transition-duration:.01ms !important;} }
