:root{--cream:#f7f2e9;--ink:#36291f;--rose:#eedad3;--sage:#dce2d2;--green:#3b4d38;--line:#c9bdad;--accent:#754638}
body.modal-open{overflow:hidden}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}figure{margin:0}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-family:Georgia,serif;font-weight:normal}h2{font-size:43px;line-height:1.18;letter-spacing:-1.4px;margin:14px 0 23px}h3{font-size:24px;line-height:1.3}em{color:var(--accent);font-weight:normal}.wrap{max-width:1240px;margin:auto;padding-inline:6%}.section{padding-block:78px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:bold}.skip-link{position:absolute;left:15px;top:-100px;z-index:20;background:var(--cream);padding:12px 20px}.skip-link:focus{top:15px}.notice{text-align:center;background:var(--green);color:var(--cream);font-size:11px;letter-spacing:.11em;padding:9px 20px}header{border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;justify-content:space-between;min-height:105px;gap:24px}.brand{font-family:Georgia,serif;font-size:27px;text-decoration:none;letter-spacing:-1px;line-height:1.2;white-space:nowrap}.brand em{color:inherit}.brand>span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.32em;margin-top:7px;text-align:center}.navlinks{display:flex;align-items:center;gap:28px;font-size:13px}.navlinks a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.navlinks a:hover{text-decoration:underline}.small-button{border:1px solid var(--ink);border-radius:30px;padding:9px 21px}.menu-toggle{border:1px solid var(--line);border-radius:5px;min-height:44px;background:transparent;color:var(--ink);padding:8px 12px;font-size:13px}.menu-toggle span{margin-left:8px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding-block:52px 65px}.hero h1{font-size:clamp(47px,5.1vw,72px);line-height:1.08;letter-spacing:-2.8px;margin:23px 0 25px}.hero-copy>p{max-width:380px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--green);color:var(--cream);padding:13px 23px;border:1px solid var(--green);border-radius:28px;text-decoration:none;font-size:14px;min-height:48px;line-height:1.45}.button:hover{background:#283525}.button.secondary{background:transparent;color:var(--green)}.button.secondary:hover{background:var(--sage)}.button:disabled{opacity:.65;cursor:wait}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:13px;margin-top:27px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration:underline}.hero .hero-foot{font-size:12px;color:#594b3e;margin-top:20px}.photo{position:relative}.hero-preview{display:block;position:relative;border-radius:220px 220px 8px 8px;border:1px solid #c2b09b;background:#eae1d1;overflow:hidden;padding:38px 30px 55px}.hero-preview:hover{background:#e3dacb}.hero-preview img{display:block;width:100%;height:430px;object-fit:contain}.photo-hint{position:absolute;left:0;right:0;bottom:20px;font-size:12px;text-align:center}.photo figcaption{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:15px}.photo figcaption span{text-transform:uppercase;font-size:10px;letter-spacing:.08em}.ribbon{background:var(--sage);border-block:1px solid #b6bfaa;display:flex;justify-content:center;gap:42px;padding:20px 5%;font-family:Georgia,serif;font-size:16px}.ribbon span::before{content:'✧';padding-right:12px}.heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.heading h2{margin-bottom:0}.heading>p{font-size:14px;max-width:330px;margin-bottom:2px}.catalog-tools{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-top:35px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{min-height:44px;border:1px solid #968d7f;border-radius:24px;padding:9px 17px;background:transparent;color:var(--ink);font-size:13px}.filters button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--cream)}.filters button:hover{box-shadow:inset 0 0 0 1px var(--green)}.search-label{font-size:12px;min-width:235px}.search-label input{font-size:13px;min-height:44px;padding:9px 12px;margin-top:5px}.result-count{font-size:12px;color:#594b3e;margin:18px 0}.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.design-card{border:1px solid #d6cbbd;border-radius:7px;overflow:hidden;background:#fffcf7;min-width:0}.design-image{position:relative;background:#ece7dd;display:block;padding:25px 22px 34px;aspect-ratio:1}.design-image:hover{background:#e6dfd2}.design-image img{display:block;height:100%;width:100%;object-fit:contain}.zoom-hint{position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:11px}.card-copy{padding:20px}.category{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 7px}.card-copy h3{font-size:23px;margin:0 0 10px}.design-description{font-size:13px;line-height:1.6;margin:0 0 14px;min-height:62px}.choose-design{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-top:1px solid var(--line);padding-top:8px;font-size:13px;text-decoration:none;color:var(--green);font-weight:600}.choose-design:hover{text-decoration:underline}.empty-state{text-align:center;padding:30px;border:1px dashed var(--line);border-radius:6px}.empty-state h3{margin-top:0}.how-it-works{background:var(--rose);border-block:1px solid #d0b6a8}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:35px}.steps article{border-top:1px solid #b89687;padding-top:20px}.step-number{font-family:Georgia,serif;font-style:italic;font-size:22px;color:var(--accent)}.steps h3{margin:12px 0 9px}.steps p{font-size:14px;margin:0}.steps .text-link{margin-top:12px;font-size:13px}.request-section{display:grid;grid-template-columns:1fr 1.35fr;gap:8%;align-items:start}.request-intro>p{font-size:15px}.request-note{border-block:1px solid var(--line);padding:20px 0;margin-block:25px}.request-note strong{font-family:Georgia,serif;font-weight:normal;font-size:22px}.request-note p{font-size:13px;margin-bottom:0}.request-intro .text-link{font-size:13px}.request-panel{border:1px solid #d6cbbd;background:#fffcf7;padding:28px;border-radius:8px}.form-intro{margin:0 0 23px;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 17px}.form-grid>label{font-size:13px;font-weight:600;min-width:0}.form-grid label span{font-weight:normal}.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #9c917f;border-radius:4px;background:#fffdf9;color:var(--ink);padding:11px 12px;min-height:46px;margin-top:7px;font-size:16px}textarea{resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#75685d;font-size:13px;opacity:1}.form-actions,.review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 17px;margin-top:24px}.plain-button{background:transparent;border:0;padding:8px 0;min-height:44px;color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:4px}.saved-status,.action-status{font-size:12px;line-height:1.5;margin:16px 0 0;color:#594b3e}.request-review{border-top:1px solid var(--line);margin-top:28px;padding-top:23px}.request-review h3{font-size:25px;margin:0 0 12px}.request-review>p{font-size:13px}.summary-label{font-size:12px;font-weight:bold}#request-summary{font-size:13px;background:#f3eee5;line-height:1.6}#review-heading:focus{outline:none}.faq-section{background:var(--sage);border-block:1px solid #b6bfaa}.faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:8%}.faq-list details{border-bottom:1px solid #a4ad96;padding-block:16px}.faq-list details:first-child{border-top:1px solid #a4ad96}.faq-list summary{cursor:pointer;font-size:15px;min-height:44px;align-content:center;line-height:1.5;padding-block:9px}.faq-list p{font-size:14px;padding-right:20px}.closing{text-align:center;padding-block:60px}.closing .button{margin-top:10px}footer{border-top:1px solid var(--line);padding-block:28px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-links{display:flex;flex-wrap:wrap;gap:0 20px;max-width:310px}.footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}footer p{font-size:11px;text-align:right}dialog{border:1px solid #b4a38e;border-radius:12px;background:var(--cream);color:var(--ink);max-width:620px;width:calc(100% - 32px);max-height:90dvh;padding:0;overscroll-behavior:contain}dialog::backdrop{background:rgb(32 25 20 / .7)}.dialog-inner{padding:25px}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.close-dialog{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:22px;min-height:44px;padding:8px 15px;font-size:13px}.dialog-top p{margin:0}dialog h2{font-size:30px;letter-spacing:-.6px;margin-top:16px}.dialog-art{background:#ebe4d8;border-radius:5px;padding:20px}.dialog-art img{display:block;max-height:44dvh;height:380px;width:100%;object-fit:contain}dialog #dialog-description{font-size:14px}dialog .button{width:100%}
@media(max-width:1000px){.navlinks{gap:16px}.brand{font-size:24px}.hero{gap:6%}.ribbon{gap:22px;font-size:14px}.catalog-tools{align-items:start;flex-direction:column}.search-label{width:100%}.request-section{gap:5%}.request-panel{padding:22px}.footer-inner{flex-wrap:wrap}.design-description{min-height:83px}}
@media(max-width:760px){nav{min-height:86px;flex-wrap:wrap;gap:16px;padding-block:18px}.brand{font-size:24px}.navlinks{width:100%;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;justify-content:space-between;gap:8px}.navlinks .small-button{padding:9px 16px}.hero{grid-template-columns:1fr;gap:32px;padding-block:37px 45px}.hero h1{font-size:58px;letter-spacing:-2.5px}.hero-copy>p{max-width:100%;font-size:15px}.hero-preview{padding:30px 23px 48px}.hero-preview img{height:360px}.photo{margin-inline:12px}.ribbon{gap:7px 22px;flex-wrap:wrap;padding-block:16px}.section{padding-block:50px}.heading{display:block}.heading>p{max-width:100%;margin-top:19px}h2{font-size:37px}.catalog-tools{margin-top:24px;gap:20px}.design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.design-image{padding:15px 12px 29px}.card-copy{padding:14px}.card-copy h3{font-size:21px}.design-description{min-height:0}.choose-design{font-size:12px;gap:5px}.steps{grid-template-columns:1fr;gap:23px}.request-section{grid-template-columns:1fr;gap:28px}.request-panel{padding:23px}.faq-layout{grid-template-columns:1fr;gap:20px}.footer-inner{align-items:start}.footer-links{max-width:none;width:100%;order:3}footer p{max-width:150px}.closing h2{font-size:37px}.dialog-inner{padding:18px}}
@media(max-width:420px){.wrap{padding-inline:6%}.hero h1{font-size:50px}.hero-preview img{height:300px}.filters{gap:7px}.filters button{padding:8px 13px;font-size:12px}.design-grid{grid-template-columns:1fr}.design-image{aspect-ratio:1.15;padding:23px 25px 35px}.design-description{min-height:0}.form-grid{grid-template-columns:1fr}.form-actions,.review-actions{align-items:stretch;flex-direction:column}.form-actions .button,.review-actions .button{width:100%}.plain-button{text-align:left}.request-panel{padding:19px}.brand{font-size:23px}footer p{text-align:left}.footer-inner{gap:20px}h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
