:root{--ink:#1c2925;--muted:#75817b;--paper:#f7f7f2;--line:#d9dfd9;--green:#2c6b54;--pale:#e6eee5;--orange:#d37a4b;--sand:#eee9dc;--serif:'Playfair Display',Georgia,serif;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}.app-shell{max-width:1440px;margin:auto;padding:0 44px}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:700;font-size:18px;text-decoration:none;letter-spacing:-.04em}.brand-mark{font-size:25px;line-height:0;color:var(--green);transform:rotate(-10deg);display:inline-block}.topbar-meta{font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;gap:10px;align-items:center}.status-dot,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7da667}.ghost-button{background:none;border:0;font:11px var(--mono);color:var(--muted);cursor:pointer}.section-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px}.intro{padding:83px 0 76px;align-items:end}.eyebrow{font:10px var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--green);margin:0 0 21px}.intro h1,.export-copy h2{font:700 clamp(44px,6vw,74px)/.98 var(--serif);letter-spacing:-.055em;margin:0}.intro h1 em,.export-copy h2 em{font-weight:600;color:var(--green)}.intro-copy{max-width:355px;padding-bottom:8px;font-size:16px;line-height:1.55;color:#5b6861}.intro-note{display:flex;gap:14px;margin-top:31px;color:var(--green);font:11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em}.intro-note span:first-child{font-size:22px}.workspace{gap:48px;align-items:stretch}.controls-panel,.preview-panel{border-top:1px solid var(--ink);padding-top:24px}.panel-heading{display:flex;gap:15px;align-items:flex-start}.step-number{font:11px var(--mono);color:var(--orange);padding-top:4px}.panel-heading h2{font:600 19px var(--sans);margin:0 0 6px;letter-spacing:-.03em}.panel-heading p{margin:0;color:var(--muted);font-size:12px}.control-group{border-bottom:1px solid var(--line);padding:27px 0}.control-group>label,.label-row label{font:10px var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.size-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.size-option{background:transparent;border:1px solid var(--line);border-radius:2px;text-align:left;padding:12px 13px;color:var(--ink);cursor:pointer}.size-option.active{border-color:var(--green);background:var(--pale)}.size-option strong,.size-option span{display:block}.size-option strong{font:600 14px var(--sans);margin-bottom:5px}.size-option span{font:10px var(--mono);color:var(--muted)}.segmented{display:flex;border:1px solid var(--line);padding:3px;margin-top:13px}.segment{flex:1;border:0;padding:9px;background:transparent;font:11px var(--sans);color:var(--muted);cursor:pointer}.segment.active{background:var(--ink);color:white}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.label-row output{font:11px var(--mono);color:var(--green)}input[type=range]{width:100%;accent-color:var(--green);cursor:pointer}.panel-footer{padding-top:25px}.dimension-readout{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.dimension-readout span{color:var(--muted);font-size:12px}.dimension-readout strong{font:15px var(--mono);font-weight:500}.validation-summary{background:var(--pale);color:var(--green);padding:11px 13px;font-size:11px;display:flex;gap:9px;align-items:center}.check-icon{font-size:14px}.preview-heading{justify-content:space-between}.preview-heading>div{display:flex;gap:15px}.pill,.tiny-status{font:10px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--green);white-space:nowrap}.pill{border:1px solid var(--line);padding:7px 9px;height:28px}.live-dot{width:5px;height:5px;margin-right:5px;vertical-align:1px}.map-stage{height:408px;position:relative;overflow:hidden;background:#c5d3c0;margin-top:28px;cursor:grab}.map-stage:active{cursor:grabbing}.map-grid{position:absolute;inset:-20%;opacity:.27;background:linear-gradient(35deg,transparent 47%,#628474 48%,transparent 49%),linear-gradient(150deg,transparent 47%,#628474 48%,transparent 49%);background-size:66px 47px;transform:rotate(-7deg)}.map-ridges{position:absolute;border:1.5px solid rgba(47,96,76,.58);border-radius:50%;transform:rotate(-22deg)}.ridge-a{width:730px;height:250px;left:-90px;top:40px;box-shadow:0 12px 0 rgba(47,96,76,.33),0 24px 0 rgba(47,96,76,.3),0 36px 0 rgba(47,96,76,.28),0 48px 0 rgba(47,96,76,.25),0 60px 0 rgba(47,96,76,.2),0 72px 0 rgba(47,96,76,.18),0 84px 0 rgba(47,96,76,.16)}.ridge-b{width:500px;height:170px;right:-110px;bottom:22px;box-shadow:0 -11px 0 rgba(47,96,76,.34),0 -22px 0 rgba(47,96,76,.27),0 -33px 0 rgba(47,96,76,.2)}.ridge-c{width:640px;height:220px;left:100px;bottom:-125px;border-color:rgba(47,96,76,.4);box-shadow:0 -10px 0 rgba(47,96,76,.22),0 -20px 0 rgba(47,96,76,.18),0 -30px 0 rgba(47,96,76,.14)}.map-water{position:absolute;background:#789caf;width:36%;height:150%;right:-10%;top:-20%;transform:rotate(25deg);border-left:2px solid rgba(255,255,255,.6)}.map-label{position:absolute;color:#527063;font:9px var(--mono);letter-spacing:.13em;line-height:1.6}.label-tolaga{left:17%;top:30%}.label-brewster{right:26%;top:15%;text-align:center}.label-papatea{right:14%;bottom:25%;color:#5e8495}.crop-frame{position:absolute;left:15%;top:14%;width:68%;height:72%;border:1.5px solid white;box-shadow:0 0 0 999px rgba(20,49,39,.18);transition:all .2s ease}.crop-corner{position:absolute;width:13px;height:13px;border-color:white;border-style:solid}.crop-corner.tl{left:-2px;top:-2px;border-width:2px 0 0 2px}.crop-corner.tr{right:-2px;top:-2px;border-width:2px 2px 0 0}.crop-corner.bl{left:-2px;bottom:-2px;border-width:0 0 2px 2px}.crop-corner.br{right:-2px;bottom:-2px;border-width:0 2px 2px 0}.crop-dim{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:5px 8px;font:9px var(--mono);white-space:nowrap}.map-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(28,41,37,.75);color:#fff;padding:7px 11px;font:10px var(--mono);opacity:.9;pointer-events:none}.map-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.location-chip{display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:0;color:var(--ink);cursor:pointer}.pin{font-size:24px;color:var(--orange)}.location-chip strong,.location-chip small{display:block}.location-chip strong{font-size:13px}.location-chip small{font-size:10px;color:var(--muted);margin-top:2px}.location-chevron{color:var(--muted);font-size:16px;margin-left:5px;transition:transform .2s}.location-chip[aria-expanded=true] .location-chevron{transform:rotate(180deg)}.map-actions{display:flex;gap:10px;align-items:center;color:var(--muted);font:10px var(--mono)}.icon-button{width:25px;height:25px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.location-popover{position:absolute;z-index:5;left:0;bottom:48px;width:280px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 35px rgba(28,41,37,.14);padding:12px}.location-popover[hidden]{display:none}.location-search{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:4px 0 10px;color:var(--green)}.location-search input{border:0;outline:0;width:100%;font:12px var(--sans);color:var(--ink);background:transparent}.location-results{max-height:205px;overflow:auto;padding-top:6px}.location-result{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;text-align:left;padding:10px 4px;cursor:pointer}.location-result:hover{background:var(--pale)}.result-pin{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--orange);font-size:14px}.location-result strong,.location-result small{display:block}.location-result strong{font:500 12px var(--sans)}.location-result small{font:10px var(--mono);color:var(--muted);margin-top:3px}.location-empty{padding:16px 4px;font-size:11px;color:var(--muted)}.location-hint{border-top:1px solid var(--line);margin:8px 0 0;padding:10px 4px 2px;color:var(--muted);font:9px var(--mono)}.map-location-pulse{animation:mapPulse .5s ease}@keyframes mapPulse{0%{filter:saturate(1)}50%{filter:saturate(1.45) brightness(1.06)}100%{filter:saturate(1)}}.terrain-section{margin-top:114px}.section-topline{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--ink);padding-top:24px}.section-topline .panel-heading{gap:15px}.preview-tools{display:flex;align-items:center;gap:15px}.tiny-status{margin-right:6px}.view-toggle{font:10px var(--mono);border:0;background:transparent;color:var(--muted);padding:7px 0;cursor:pointer}.view-toggle.active{color:var(--ink);border-bottom:1px solid var(--green)}.terrain-card{margin-top:28px;background:#dce6da;display:grid;grid-template-columns:1.35fr .65fr;min-height:420px}.terrain-canvas{min-height:420px;position:relative;overflow:hidden;background:linear-gradient(145deg,#dbe7da,#a8c2af)}.terrain-canvas canvas{display:block;width:100%;height:100%}.canvas-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:11px var(--mono);color:var(--green);gap:10px}.canvas-loading span{letter-spacing:7px}.terrain-info{background:#f0eee5;padding:40px 36px;display:flex;flex-direction:column;justify-content:space-between}.terrain-info h3{font:600 33px/.98 var(--serif);letter-spacing:-.045em;margin:0 0 20px}.terrain-description{font-size:12px;line-height:1.6;color:var(--muted);max-width:260px}.terrain-stats{border-top:1px solid var(--line);padding-top:18px}.terrain-stats div{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0}.terrain-stats span{font-size:10px;color:var(--muted)}.terrain-stats strong{font:11px var(--mono);font-weight:500}.export-section{margin-top:118px;padding-bottom:90px;align-items:end}.export-copy h2{font-size:48px;margin-bottom:22px}.export-copy>p:last-child{color:var(--muted);font-size:13px;line-height:1.6;max-width:295px}.export-card{background:var(--ink);color:#fff;padding:28px 30px 24px;max-width:390px;width:100%}.export-card-header{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.1em;color:#9da9a1;border-bottom:1px solid #405049;padding-bottom:18px}.file-type{color:#d6a779}.export-summary-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #35453e;font:11px var(--mono)}.export-summary-row span{color:#8f9d95}.export-summary-row strong{font-weight:400}.export-summary-row .ready{color:#a9cf95}.export-button{display:flex;justify-content:space-between;width:100%;border:0;background:#d8e6d3;color:var(--ink);padding:15px 16px;margin-top:22px;font:600 12px var(--sans);cursor:pointer;transition:background .2s}.export-button:hover{background:#fff}.export-footnote{text-align:center;color:#748079;font:9px var(--mono);margin:15px 0 0}footer{border-top:1px solid var(--line);padding:20px 0 28px;display:flex;justify-content:space-between;color:var(--muted);font:10px var(--mono)}@media(max-width:900px){.app-shell{padding:0 22px}.topbar-meta{display:none}.section-grid{grid-template-columns:1fr;gap:48px}.intro{padding:58px 0 50px}.intro-copy{max-width:420px}.workspace{gap:65px}.terrain-section{margin-top:80px}.terrain-card{grid-template-columns:1fr}.terrain-info{min-height:350px}.export-section{margin-top:80px;gap:50px}}@media(max-width:560px){.topbar{height:66px}.ghost-button{font-size:9px}.intro h1{font-size:53px}.map-stage{height:320px}.crop-frame{left:9%;width:82%}.preview-heading{display:block}.pill{display:inline-block;margin:16px 0 0 30px}.section-topline{display:block}.preview-tools{margin:20px 0 0 30px}.terrain-info{padding:30px 25px}.terrain-info h3{font-size:29px}.export-copy h2{font-size:42px}footer{gap:10px;flex-wrap:wrap}}
 .intro-artwork{align-self:start;min-width:0;margin-top:0}.artwork-carousel{display:flex;align-items:center;gap:12px}.artwork-gallery{display:grid;grid-template-columns:.68fr 1fr .68fr;align-items:center;gap:12px;min-width:0;flex:1}.artwork-image-wrap{background:#e8e2d8;overflow:hidden}.artwork-image-wrap img{display:block;width:100%;height:auto;aspect-ratio:1/1.33;object-fit:cover}.artwork-side{opacity:.28;transform:scale(.88);filter:saturate(.55);transition:opacity .45s ease,transform .45s ease}.artwork-featured{position:relative;z-index:1;box-shadow:0 18px 30px rgba(32,39,34,.16);animation:artworkFloat 6s ease-in-out infinite}.artwork-gallery.is-changing .artwork-featured{animation:artworkFeaturedSwap .45s cubic-bezier(.22,.61,.36,1)}.carousel-arrow{flex:0 0 30px;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font:16px var(--sans);line-height:1;cursor:pointer;transition:background .2s,color .2s,transform .2s}.carousel-arrow:hover{background:var(--ink);color:#fff;transform:scale(1.08)}.intro-copy h1{margin-bottom:24px}.intro-copy>p:not(.eyebrow){margin:0;max-width:355px}.intro-copy .intro-note{margin-top:31px}@keyframes artworkFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes artworkFeaturedSwap{0%{opacity:.6;transform:translateX(16px) scale(.97)}100%{opacity:1;transform:translateX(0) scale(1)}}
@media(max-width:900px){.intro-artwork{order:2}.intro-copy{order:1}.artwork-gallery{max-width:620px}}
@media(max-width:560px){.artwork-carousel{gap:7px}.artwork-gallery{gap:7px}.carousel-arrow{flex-basis:26px;width:26px;height:26px;font-size:14px}.artwork-side{opacity:.2}.intro-artwork{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.artwork-featured,.artwork-gallery.is-changing .artwork-featured{animation:none}.artwork-side{transition:none}.carousel-arrow{transition:none}}
.testing-tools{border-top:1px solid var(--line);padding:18px 0;display:flex;align-items:center;gap:14px;color:var(--muted);font:9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.testing-tools button{border:1px solid var(--green);background:transparent;color:var(--green);padding:10px 12px;font:10px var(--mono);cursor:pointer}.testing-tools button:hover:not(:disabled){background:var(--green);color:#fff}.testing-tools button:disabled{opacity:.45;cursor:not-allowed}.testing-tools small{font:9px var(--mono);text-transform:none;letter-spacing:0}@media(max-width:560px){.testing-tools{align-items:flex-start;flex-direction:column;gap:8px}}
#terrainCanvas{background-color:#202124!important;background-image:url('./assets/black-paper-texture.png')!important;background-size:cover;background-position:center;background-repeat:no-repeat}
#terrainCanvas .terrain-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}#terrainCanvas>canvas{position:relative;z-index:1}
.framed-preview #terrainCanvas{background:#111412!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 24px 50px rgba(22,25,22,.2)}
.framed-preview #terrainCanvas>canvas{z-index:1}

/* Keep the working Leaflet zoom control, while hiding the decorative duplicate. */
.map-stage .map-actions{display:none!important}
.map-stage .leaflet-control-zoom{margin:86px 18px 0 0!important;border:1px solid rgba(32,39,34,.18)!important;border-radius:0!important;box-shadow:0 8px 22px rgba(32,39,34,.1)!important;overflow:hidden}
.map-stage .leaflet-control-zoom a{width:30px!important;height:30px!important;line-height:30px!important;border:0!important;border-bottom:1px solid rgba(32,39,34,.14)!important;background:rgba(248,245,237,.96)!important;color:var(--ink)!important;font:18px/30px var(--sans)!important;text-align:center}
.map-stage .leaflet-control-zoom a:last-child{border-bottom:0!important}
.map-stage .leaflet-control-zoom a:hover{background:#fff!important;color:var(--green)!important}
.preview-disclaimer{display:block;margin-top:7px;max-width:220px;color:var(--muted);font:9px/1.45 var(--sans);font-weight:400}
.terrain-stats div:has(.preview-disclaimer){flex-wrap:wrap}
.terrain-stats div:has(.preview-disclaimer) .preview-disclaimer{flex-basis:100%;margin-left:0}
.preview-tools{display:none!important}
.country-option{justify-content:flex-start;flex-wrap:wrap}.country-switch{display:flex;margin-left:auto;border:1px solid var(--line);padding:2px}.country-switch button{border:0;background:transparent;color:var(--muted);padding:6px 8px;font:9px var(--mono);cursor:pointer}.country-switch button.active{background:var(--ink);color:#fff}.country-option.is-disabled .country-switch{pointer-events:none}
.plaque-preview-wrap{align-self:start}
.intro-kicker{font-size:.68em;line-height:1.02;letter-spacing:-.04em}
.map-stage{height:540px}@media(max-width:560px){.map-stage{height:320px}}
.workspace{align-items:stretch}.preview-panel{display:flex;flex-direction:column}.preview-panel .map-stage{flex:1;height:auto;min-height:540px}.preview-panel .generate-row{margin-top:20px}@media(max-width:900px){.preview-panel .map-stage{flex:none;height:540px}}@media(max-width:560px){.preview-panel .map-stage{height:320px;min-height:320px}}
.preview-panel .map-stage{flex:none;height:760px;min-height:760px}@media(max-width:900px){.preview-panel .map-stage{height:540px;min-height:540px}}@media(max-width:560px){.preview-panel .map-stage{height:320px;min-height:320px}}
.reviews-section{margin-top:118px;padding-bottom:16px}.reviews-section .section-topline{align-items:end}.reviews-section h2{margin:0 0 8px;font:600 34px/.98 var(--serif);letter-spacing:-.045em}.reviews-section .panel-heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}.reviews-mark{color:var(--orange);font:12px var(--mono);letter-spacing:.18em}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.review-card{border-top:1px solid var(--line);padding:18px 4px 0}.review-stars{color:var(--orange);font-size:11px;letter-spacing:.12em}.review-card blockquote{margin:15px 0 19px;max-width:320px;color:var(--ink);font:18px/1.35 var(--serif)}.review-card cite{color:var(--muted);font:10px var(--mono);font-style:normal}@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.reviews-section{margin-top:80px}.reviews-grid{grid-template-columns:1fr;gap:30px}.reviews-section h2{font-size:30px}.reviews-mark{margin-top:20px;display:block}}
.reviews-mark{display:none!important}
.export-card{position:relative;isolation:isolate}
.export-card::before,.export-card::after{content:"";position:absolute;z-index:-1;pointer-events:none;opacity:.42;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
.export-card::before{inset:-38px -62px;background:repeating-radial-gradient(ellipse at 42% 52%,transparent 0 20px,rgba(44,107,84,.52) 21px 22px,transparent 23px 40px);transform:rotate(-8deg)}
.export-card::after{inset:-24px -42px;background:repeating-radial-gradient(ellipse at 68% 48%,transparent 0 17px,rgba(216,230,211,.42) 18px 19px,transparent 20px 34px);transform:rotate(7deg);opacity:.25}
.checkout-section{isolation:isolate}
.checkout-section::after{display:block!important;z-index:-1!important;opacity:.28!important}
.checkout-section::after{width:780px!important;height:520px!important;right:4%!important;bottom:-42px!important;background:repeating-radial-gradient(ellipse at 52% 50%,transparent 0 22px,rgba(44,107,84,.55) 23px 24px,transparent 25px 43px)!important;transform:rotate(-7deg)!important;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)!important}
.export-card{z-index:1;background:var(--ink)!important}
.export-card::before,.export-card::after{display:none!important}
.delivery-note{margin:14px 0 0;color:var(--ink);font-size:12px;line-height:1.5}.international-note{margin:8px 0 0;color:var(--muted);font:10px/1.5 var(--mono)}
 .brand{width:225px;height:auto;overflow:visible;display:block}.brand-logo{display:block;width:225px;height:auto;object-fit:contain;object-position:center}.brand-tagline{display:block;margin-top:-10px;font:7px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.topbar{justify-content:flex-start}
@media(max-width:560px){.brand{width:180px}.brand-logo{width:180px}.brand-tagline{font-size:5.5px;letter-spacing:.2em}}
.size-option b{display:block;margin-top:9px;color:var(--green);font:10px var(--mono);font-weight:500}.checkout-section{align-items:center}.checkout-copy{}.maker-promise{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.maker-promise span{border:1px solid var(--line);padding:8px 10px;color:var(--green);font:9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.checkout-card{max-width:440px}.export-total{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 3px;color:#b9c4bb;font:10px var(--mono)}.export-total strong{color:#fff;font-size:20px;font-weight:500}.checkout-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:22px}.checkout-modal[hidden]{display:none}.checkout-backdrop{position:absolute;inset:0;background:rgba(20,27,23,.66);backdrop-filter:blur(5px)}.checkout-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:min(860px,calc(100vh - 44px));overflow:auto;background:var(--paper);color:var(--ink);padding:38px}.checkout-close{position:absolute;right:18px;top:14px;border:0;background:none;color:var(--muted);font-size:25px;line-height:1;cursor:pointer}.checkout-dialog-head{border-bottom:1px solid var(--line);padding-bottom:24px}.checkout-dialog-head .eyebrow{margin-bottom:12px}.checkout-dialog h2{font:600 clamp(32px,5vw,50px)/.96 var(--serif);letter-spacing:-.05em;margin:0 0 12px}.checkout-dialog-head>p:last-child{color:var(--muted);font-size:13px;margin:0}.checkout-grid{display:grid;grid-template-columns:1fr .85fr;gap:38px;padding-top:28px}.checkout-form label{display:block;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.checkout-form input[type=email]{display:block;width:100%;margin-top:9px;border:1px solid var(--line);background:#fffdf8;padding:13px;font:13px var(--sans);color:var(--ink)}.checkout-form fieldset{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:25px 0 0}.checkout-form legend{padding:0;margin-bottom:12px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.shipping-option{display:flex!important;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:12px;margin-top:8px;color:var(--ink)!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important}.shipping-option:has(input:checked){border-color:var(--green);background:var(--pale)}.shipping-option input{margin-top:3px;accent-color:var(--green)}.shipping-option strong,.shipping-option small{display:block}.shipping-option strong{font:500 12px var(--sans)}.shipping-option small{margin-top:4px;color:var(--muted);font:10px var(--mono)}.checkout-note{color:var(--muted);font:10px/1.6 var(--mono);margin:22px 0 0}.checkout-review{align-self:start;background:var(--ink);color:#fff;padding:22px}.checkout-review-label{display:block;color:#aeb8ae;font:9px var(--mono);letter-spacing:.14em;border-bottom:1px solid #405049;padding-bottom:15px}.checkout-review-row,.checkout-review-total{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #39463f;font:10px var(--mono)}.checkout-review-row span{color:#aab5ad}.checkout-review-total{border-bottom:0;padding-top:19px;font-size:11px}.checkout-review-total strong{font-size:20px;font-weight:500}.checkout-pay{display:flex;justify-content:space-between;width:100%;border:0;background:#dfe8d8;color:var(--ink);padding:15px;margin-top:12px;font:600 11px var(--sans);cursor:pointer}.checkout-pay:hover{background:#fff}.checkout-pay:disabled{opacity:.7;cursor:wait}.checkout-status{text-align:center;color:#d6a779;font:9px/1.5 var(--mono);margin:12px 0 0}.checkout-secure{text-align:center;color:#8f9d95;font:9px var(--mono);margin:14px 0 0}@media(max-width:900px){.checkout-grid{grid-template-columns:1fr}.checkout-review{order:-1}}@media(max-width:560px){.checkout-dialog{padding:30px 20px 22px}.checkout-section{gap:40px}.maker-promise{margin-top:20px}.maker-promise span{font-size:8px}.checkout-review{padding:18px}.checkout-dialog-head h2{font-size:38px}}
.plaque-count{margin:0;padding:12px 0;border-top:1px solid var(--line);color:var(--green);font:9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.plaque-option{transition:opacity .2s ease,background .2s ease}.plaque-option.is-disabled{opacity:.38;cursor:not-allowed}.plaque-option.is-dragging{opacity:.5;background:var(--pale)}.plaque-option[draggable="true"]{cursor:grab}.plaque-option[draggable="true"]:active{cursor:grabbing}.plaque-preview-column{align-self:start}
.edit-place-name{border:0;background:transparent;color:var(--muted);font:13px var(--sans);padding:0 0 0 5px;cursor:pointer;vertical-align:1px}.edit-place-name:hover{color:var(--green)}
.place-name-edit{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;padding:8px 9px;color:var(--ink);font:12px var(--sans)}
.place-name-popover{position:relative;margin:-1px 0 12px;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(28,41,37,.1)}.place-name-popover[hidden]{display:none}.place-name-popover strong,.place-name-popover small{display:block}.place-name-popover strong{font:500 11px var(--sans)}.place-name-popover small{margin-top:3px;color:var(--muted);font:9px var(--mono)}
.place-name-save{margin-top:9px;border:0;background:var(--ink);color:#fff;padding:8px 13px;font:10px var(--mono);cursor:pointer}.place-name-save:hover{background:var(--green)}
.intro-note{align-items:center}.intro-note span:first-child{line-height:1}
.preview-heading>div{display:block}.preview-heading h2{margin-bottom:6px}
.intro-note>span:last-child{transform:translateY(3px)}
@media(min-width:901px){.map-stage{height:auto!important;min-height:0!important;max-height:560px;aspect-ratio:1.7/1}}
.purchase-gift-option{border-color:var(--line);color:var(--ink)!important;margin-top:22px}.purchase-gift-option:has(input:checked){border-color:var(--green);background:var(--pale)}.purchase-gift-option small{color:var(--muted)}
.gift-message-label{display:block;margin-top:12px;color:var(--ink);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.gift-message-label span{color:var(--muted);font-size:9px}.gift-message-label textarea{display:block;width:100%;min-height:66px;margin-top:8px;resize:vertical;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px;font:12px/1.4 var(--sans)}.gift-message-label textarea:disabled{opacity:.45}.gift-message-label>small{display:block;margin-top:5px;color:var(--muted);font:9px var(--mono);letter-spacing:0;text-transform:none}
 .intro{isolation:isolate}.intro::before{content:"";position:absolute;z-index:-1;left:-8%;top:8%;width:62%;height:86%;opacity:.72;pointer-events:none;background:repeating-radial-gradient(ellipse at 38% 54%,transparent 0 22px,rgba(23,76,61,.075) 23px 24px,transparent 25px 43px);transform:rotate(-9deg);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%)}.terrain-section,.plaque-section,.checkout-section{position:relative}.terrain-section::after,.plaque-section::after,.checkout-section::after{content:"";position:absolute;right:0;top:-22px;width:170px;height:92px;opacity:.42;pointer-events:none;background:repeating-radial-gradient(ellipse at 78% 50%,transparent 0 14px,rgba(23,76,61,.07) 15px 16px,transparent 17px 30px);transform:rotate(8deg);mask-image:linear-gradient(90deg,transparent,#000 28%,#000 80%,transparent)}.plaque-section::after{left:0;right:auto;transform:rotate(-8deg);opacity:.28}.checkout-section::after{top:auto;bottom:34px;opacity:.24}@media(max-width:560px){.intro::before{left:-24%;width:120%;opacity:.46}.terrain-section::after,.plaque-section::after,.checkout-section::after{width:120px;height:70px;opacity:.24}}
 .intro::before{left:0;top:4%;width:100%;height:92%;background:repeating-radial-gradient(ellipse at 72% 65%,transparent 0 22px,rgba(23,76,61,.075) 23px 24px,transparent 25px 43px)}
@media(max-width:560px){.intro::before{left:0;top:4%;width:100%;height:92%;background:repeating-radial-gradient(ellipse at 70% 30%,transparent 0 18px,rgba(23,76,61,.06) 19px 20px,transparent 21px 36px)}}
 .place-word-changing{animation:placeWordFade .7s ease}@keyframes placeWordFade{0%{opacity:.18;filter:blur(3px);transform:translateY(5px)}100%{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.place-word-changing{animation:none}}
 .intro::before{background:repeating-radial-gradient(ellipse at 72% 65%,transparent 0 22px,rgba(23,76,61,.075) 23px 24px,transparent 25px 43px)}
@media(max-width:560px){.intro::before{background:repeating-radial-gradient(ellipse at 70% 30%,transparent 0 18px,rgba(23,76,61,.06) 19px 20px,transparent 21px 36px)}}
 .step-number{display:none}
 .plaque-object{position:relative;min-height:142px!important;padding:20px!important;overflow:hidden;background:#f8f6ee!important}.plaque-object::before{content:"";position:absolute;inset:0;background:url('./assets/black-paper-texture.png') center/cover;filter:invert(1) contrast(1.2);opacity:1}.plaque-object>*{position:relative;z-index:1}.plaque-nameplate{width:min(100%,420px);min-height:58px!important;padding:10px 16px!important;font-size:24px!important;line-height:1.15;letter-spacing:.06em}.plaque-nameplate span{margin:1px 0}
@media(max-width:560px){.plaque-object{min-height:120px!important;padding:16px!important}.plaque-nameplate{min-height:50px!important;font-size:20px!important;line-height:1.1}}
 .unique-note{display:inline-block;margin-left:12px;color:var(--green);font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
@media(max-width:560px){.unique-note{display:block;margin:12px 0 0;font-size:10px}}
 .terrain-canvas.is-empty canvas{filter:blur(12px);opacity:.08;transform:scale(1.02)}.terrain-empty-state{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(7,10,9,.36);color:#f4f0e7;text-align:center;backdrop-filter:blur(2px)}.terrain-empty-state[hidden]{display:none}.terrain-empty-state strong{font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase}.terrain-empty-state small{color:#c4c8bf;font:10px/1.5 var(--sans)}
 .gift-option{display:flex!important;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:12px;margin-top:18px;color:var(--ink)!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important}.gift-option:has(input:checked){border-color:var(--green);background:var(--pale)}.gift-option input{margin-top:3px;accent-color:var(--green)}.gift-option strong,.gift-option small{display:block}.gift-option strong{font:500 12px var(--sans)}.gift-option small{margin-top:4px;color:var(--muted);font:10px var(--mono)}.checkout-review-row[hidden]{display:none}
 .faq-section{margin-top:130px;padding-bottom:110px}.faq-section .section-topline{display:block}.faq-section .panel-heading{gap:0}.faq-list{max-width:820px;margin:34px 0 0 auto;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;cursor:pointer;list-style:none;font:500 15px var(--sans)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';color:var(--green);font:20px var(--sans);font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list details p{max-width:610px;margin:0 42px 20px 0;color:var(--muted);font-size:12px;line-height:1.75}@media(max-width:900px){.faq-section{margin-top:90px}.faq-list{margin-left:0}}@media(max-width:560px){.faq-section{margin-top:75px;padding-bottom:75px}.faq-list summary{font-size:14px}.faq-list details p{margin-right:0}}
 .frame-specs{margin-top:18px;padding:16px;background:var(--pale);border-left:2px solid var(--green);color:var(--muted)}.frame-specs-label{display:block;margin-bottom:8px;color:var(--green);font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase}.frame-specs strong{display:block;color:var(--ink);font:500 13px var(--sans);line-height:1.35}.frame-specs p{max-width:330px;margin:8px 0 6px;font-size:10px;line-height:1.55}.frame-specs small{font:9px var(--mono);color:var(--muted)}
 .faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.faq-section .section-topline{border-top:1px solid var(--ink);padding-top:28px}.faq-section .panel-heading h2{font:600 clamp(32px,4vw,54px)/.96 var(--serif);letter-spacing:-.05em;margin:0 0 10px}.faq-section .panel-heading p{max-width:250px;font-size:11px;line-height:1.6}.faq-list{margin:0;border-top:1px solid var(--ink)}.faq-list details{transition:background .2s ease}.faq-list details:hover,.faq-list details[open]{background:rgba(229,233,223,.52)}.faq-list summary{padding:20px 14px;font:500 14px var(--sans);letter-spacing:-.01em}.faq-list summary::after{font-size:19px}.faq-list details p{margin:0;padding:0 56px 22px 14px;font-size:11px;line-height:1.7}.faq-list details[open] summary{color:var(--green)}
@media(max-width:900px){.faq-section{display:block}.faq-section .section-topline{margin-bottom:32px}.faq-section .panel-heading p{max-width:360px}.faq-list{margin:0}}
 .custom-size-option{border-style:dashed}.custom-size-option b{color:var(--orange)}.custom-size-note{margin:10px 0 0;padding:10px 12px;background:var(--sand);color:var(--ink);font:10px/1.5 var(--mono)}
 .designer-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-top:25px;padding:82px 0 110px;border-top:1px solid var(--ink);position:relative;isolation:isolate}.designer-section::after{content:"";position:absolute;right:2%;top:34px;width:220px;height:150px;z-index:-1;pointer-events:none;opacity:.35;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 17px,rgba(23,76,61,.1) 18px 19px,transparent 20px 34px);transform:rotate(-12deg);mask-image:linear-gradient(90deg,transparent,#000 24%,#000 76%,transparent)}.designer-intro h2{font:600 clamp(38px,4.5vw,62px)/.94 var(--serif);letter-spacing:-.055em;margin:0}.designer-intro h2 em{color:var(--green);font-style:italic;font-weight:600}.designer-signoff{margin:42px 0 0;color:var(--ink);font:500 13px/1.45 var(--sans)}.designer-signoff span{display:block;margin-top:4px;color:var(--muted);font:9px var(--mono);letter-spacing:.04em}.designer-copy{max-width:680px;padding-top:4px}.designer-copy p{max-width:650px;margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.82}.designer-copy .designer-lead{max-width:560px;margin-bottom:25px;color:var(--ink);font:500 21px/1.35 var(--serif);letter-spacing:-.02em}.designer-copy strong{color:var(--ink);font-weight:600}@media(max-width:900px){.designer-section{display:block;margin-top:0;padding:70px 0 85px}.designer-copy{margin-top:38px}.designer-signoff{margin-top:28px}}@media(max-width:560px){.designer-section{padding:58px 0 72px}.designer-section::after{width:150px;height:100px;right:-16px;top:28px;opacity:.24}.designer-intro h2{font-size:46px}.designer-copy{margin-top:32px}.designer-copy .designer-lead{font-size:19px}.designer-copy p{font-size:11px;line-height:1.75}}
 .name-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:78px 0 112px;border-top:1px solid var(--ink)}.name-intro h2{font:600 clamp(38px,4.5vw,62px)/.94 var(--serif);letter-spacing:-.055em;margin:0}.name-intro h2 em{color:var(--green);font-style:italic;font-weight:600}.name-content{display:grid;grid-template-columns:minmax(150px,.7fr) 1.3fr;gap:42px;align-items:start;max-width:760px}.name-logo-wrap{border-top:1px solid var(--line);padding-top:16px}.name-logo{display:block;width:min(100%,220px);height:auto}.name-copy{max-width:520px;padding-top:0}.name-copy p{max-width:650px;margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.82}.name-copy .name-lead{max-width:480px;margin-bottom:24px;color:var(--ink);font:500 20px/1.35 var(--serif);letter-spacing:-.02em}.name-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:17px;margin-bottom:20px}.name-details p{margin:0;font-size:11px;line-height:1.7}.name-copy em{color:var(--ink);font-family:var(--serif);font-style:italic}.name-copy p:last-child{margin-bottom:0}@media(max-width:900px){.name-section{display:block;padding:70px 0 85px}.name-content{margin-top:38px}}@media(max-width:560px){.name-section{padding:58px 0 72px}.name-content{display:block;margin-top:32px}.name-logo-wrap{padding-top:14px;margin-bottom:28px}.name-logo{width:min(100%,220px)}.name-copy .name-lead{font-size:19px}.name-details{grid-template-columns:1fr;gap:14px}.name-copy p{font-size:11px;line-height:1.75}}
