/* Nora's approved contact composition, adapted from contact-letter.css. */
.fcontact{--fcontact-paper:#f3eee3;--fcontact-edge:#dfd7c8;--fcontact-ease:cubic-bezier(.32,.04,.18,1);padding:44px var(--gutter,5.5vw) 30px;background:#4c1012;color:#f7f3e9;text-align:center;font-family:General,'Helvetica Neue',Arial,sans-serif;scroll-margin-top:24px}
.fcontact *{box-sizing:border-box}.fcontact [hidden]{display:none!important}
.fcontact>h2{margin:0 auto 29px;max-width:1000px;font:500 clamp(44px,5.6vw,82px)/1.02 Cormorant,Georgia,serif;letter-spacing:-.055em;color:#f7f3e9;text-wrap:balance}
.fcontact-stage{position:relative;width:min(900px,100%);margin:auto;perspective:1800px;transition:height 400ms var(--fcontact-ease)}
.fcontact .fcontact-letter{width:100%;max-width:none;margin:0;padding:34px clamp(28px,7.1vw,118px) 31px;background:var(--fcontact-paper);color:#383733;border:0;border-radius:0;outline:1px solid var(--fcontact-edge);outline-offset:-8px;box-shadow:0 1px 1px #17070717,2px 7px 14px #17070721;font-family:General,'Helvetica Neue',Arial,sans-serif;text-align:left}
.fcontact-row{display:flex;align-items:baseline;gap:17px;min-height:45px}
.fcontact-row label{font:400 15px/1.5 General,'Helvetica Neue',Arial,sans-serif;flex-shrink:0}
.fcontact-row input,.fcontact-row textarea,.fcontact-field-imprint{flex:1;min-width:0;min-height:35px;max-height:150px;padding:5px 13px 4px;font:400 16px/1.6 General,'Helvetica Neue',Arial,sans-serif;color:#531c21;border:0;border-bottom:1px solid #96958b;background:transparent;border-radius:0;resize:vertical;overflow:auto}
.fcontact-row input::placeholder,.fcontact-row textarea::placeholder{font-size:13px;color:#7a7b73;letter-spacing:.06em;opacity:1}
.fcontact-row input:focus-visible,.fcontact-row textarea:focus-visible{outline:2px solid #722a30;outline-offset:3px}
.fcontact-bottom{display:flex;justify-content:center;margin-top:21px}
.fcontact-submit{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:12px 25px;border:1px solid #4c1012;border-radius:0;background:#4c1012;color:#f7f3e9;font:500 13px/1.4 General,'Helvetica Neue',Arial,sans-serif;letter-spacing:.025em;cursor:pointer}
.fcontact-submit:hover{background:#652027}.fcontact-submit:disabled{cursor:wait}
.fcontact button:focus-visible{outline:2px solid #f7f3e9;outline-offset:5px}.fcontact-submit:focus-visible{outline-color:#4c1012}
.fcontact-note{margin:12px 0 0;font-size:10px;line-height:1.5;color:#dfcfc7}
.fcontact-email{margin:17px 0 0;font-size:13px;line-height:1.5;letter-spacing:.08em;color:#f7f3e9}
.fcontact-result{padding-top:12px}.fcontact-edit{min-height:44px;padding:10px 0;background:none;border:0;border-bottom:1px solid #cfb4a6;color:#f7f3e9;font:400 12px/1.4 General,'Helvetica Neue',Arial,sans-serif;cursor:pointer;display:inline-flex;gap:13px;align-items:center}
.fcontact-status{font-size:12px;line-height:1.6;margin:9px auto 0;color:#f7f3e9;max-width:550px}.fcontact-status:empty{display:none}
.fcontact-motion{position:absolute;inset:0;z-index:2;pointer-events:none;transform-style:preserve-3d}
.fcontact .fcontact-imprint{position:absolute;left:0;width:100%;pointer-events:none;box-shadow:none;margin:0}
.fcontact-field-imprint{display:block;overflow-wrap:anywhere;white-space:pre-wrap;overflow:hidden}
.fcontact-submit-imprint{cursor:default}
.fcontact-envelope{position:absolute;left:0;top:50%;width:100%;margin:0;transform:translateY(-50%);pointer-events:none;filter:drop-shadow(2px 9px 9px #21090725)}
.fcontact .fcontact-envelope img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
@media(max-width:700px){
 .fcontact{padding:39px 22px 26px}.fcontact>h2{max-width:450px;margin-bottom:24px;font-size:clamp(42px,9.5vw,58px);line-height:1.04}
 .fcontact .fcontact-letter{padding:26px 23px 25px;outline-offset:-6px}.fcontact-row{display:block;min-height:69px}.fcontact-row label{display:block;font-size:13px;margin-bottom:3px}
 .fcontact-row input,.fcontact-row textarea,.fcontact-field-imprint{display:block;width:100%;padding:4px 2px}.fcontact-row input::placeholder,.fcontact-row textarea::placeholder{font-size:12px}
 .fcontact-bottom{align-items:center;margin-top:18px}.fcontact-submit{padding:12px 18px;font-size:12px}.fcontact-status{max-width:300px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.fcontact-stage{transition:none}.fcontact-motion{display:none}}

/* Flat letter: envelope appears, letter slides inside, flap and seal close. */
.fcontact-stage[data-state="closing"]{transition:none}
.fcontact-motion{perspective:1800px;transform-style:flat}
.fcontact-paper-sleeve{position:absolute;top:0;left:0;width:100%;height:calc(var(--envelope-top) + var(--envelope-height) * .955);z-index:3;overflow:hidden;pointer-events:none}
.fcontact .fcontact-flat-paper{top:0;transform-origin:center top;box-shadow:0 3px 9px #2b130c12}
.fcontact-envelope-part{position:absolute;pointer-events:none}
.fcontact-live-back,.fcontact-live-pocket,.fcontact-flap-face{background:#f0e9dd}
.fcontact-live-back,.fcontact-live-pocket{left:2.25%;width:95.5%;top:calc(var(--envelope-top) + var(--envelope-height) * .045);height:calc(var(--envelope-height) * .91)}
.fcontact-live-back{z-index:1;box-shadow:0 6px 16px #23070725,inset 0 0 0 1px #b6a58e44;background:linear-gradient(180deg,#e6dece,#eee7dc)}
.fcontact-live-pocket{z-index:4;clip-path:polygon(0 0,50% 69%,100% 0,100% 100%,0 100%);background:linear-gradient(100deg,#f3ede3,#ede5d8);box-shadow:inset 0 -1px 0 #a08d7055}
.fcontact-live-pocket::before{content:"";position:absolute;inset:0;clip-path:polygon(0 100%,50% 69%,100% 100%);background:linear-gradient(180deg,#f7f1e7,#f0e8dc)}
.fcontact-live-pocket::after{content:"";position:absolute;inset:0;background:linear-gradient(33deg,transparent 49.7%,#aa9c831e 49.9%,#fff5 50.05%,transparent 50.4%),linear-gradient(-33deg,transparent 49.7%,#aa9c831e 49.9%,#fff5 50.05%,transparent 50.4%)}
.fcontact-live-flap{left:2.25%;width:95.5%;top:calc(var(--envelope-top) + var(--envelope-height) * .045);height:calc(var(--envelope-height) * .69);z-index:2;transform-origin:center top;transform-style:preserve-3d;transform:rotateX(160deg)}
.fcontact-flap-face{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fcontact-flap-front{background:linear-gradient(180deg,#f8f3eb,#eee6d9);box-shadow:inset 0 1px 0 #fff8}
.fcontact-flap-back{transform:rotateY(180deg);background:linear-gradient(180deg,#e9e0d1,#f4eee4 78%)}
.fcontact .fcontact-live-seal{z-index:6;left:41.35%;top:calc(var(--envelope-top) + var(--envelope-height) * .41);width:17.3%;height:auto;max-width:none;filter:drop-shadow(0 2px 2px #3f160c25)}
.fcontact-envelope{z-index:3}

/* Production form: unobtrusive privacy link and bot trap. */
.fcontact-honey{display:none!important}
.fcontact-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fcontact-note a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
