@font-face{font-family:Gothic;src:url('assets/blackletter.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#10100f;color:#f1eddf;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:#c51b2b;color:#fff}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid #f1eddf;outline-offset:6px}.skip{position:fixed;top:-80px;left:10px;background:#bd1727;padding:15px;z-index:20}.skip:focus{top:10px}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #39362f;gap:30px;background:#10100f}.wordmark{font-family:Gothic,Georgia,serif;font-size:39px;line-height:.85;white-space:nowrap}.wordmark span{display:block;text-align:right;font-family:Arial,sans-serif;font-size:9px;letter-spacing:3px;margin-top:9px}header nav{display:flex;gap:30px;font-size:13px}header nav a:hover,footer a:hover{color:#ee5260}.header-contact{font-size:12px;border-bottom:1px solid #9d988b;padding:10px 0}.header-contact span{padding-left:17px}.menu{display:none}#mobile-nav{padding:20px 6%;background:#181714}#mobile-nav a{padding:13px;display:block}.hero{min-height:680px;display:grid;grid-template-columns:1.04fr 1fr;position:relative;padding:64px 7% 55px;gap:30px;overflow:hidden;background:radial-gradient(ellipse at 80% 80%,#281012 0,transparent 55%),#10100f}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;line-height:1.8;margin:0 0 24px}.tiny-star{color:#d32a38;font-size:20px;margin-right:9px}.hero h1{font-family:Gothic,Georgia,serif;font-size:clamp(95px,11.7vw,172px);font-weight:400;line-height:.79;margin:26px 0 30px;letter-spacing:-3px}.hero h1 em{color:#ce2333;font-style:normal}.hero-intro{font-size:17px;line-height:1.65;color:#c7c1b6;margin:32px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:50px;padding:17px 22px;border:0;cursor:pointer;font-size:12px;font-weight:bold;transition:background .2s,transform .2s}.cream{background:#f1eddf;color:#141412}.button:hover{background:#ce2333;color:#fff;transform:translateY(-2px)}.button span{font-size:20px}.hero-foot{font-size:8px;letter-spacing:2px;color:#8f8980;margin-top:34px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;padding:15px 0 50px}.tartan{background-color:#991a25;background-image:repeating-linear-gradient(0deg,transparent 0 42px,#120f0ddd 42px 64px,transparent 64px 90px,#120f0ddd 90px 102px,transparent 102px 108px,#e6c5aa66 108px 110px,transparent 110px 132px),repeating-linear-gradient(90deg,transparent 0 42px,#120f0ddd 42px 64px,transparent 64px 90px,#120f0ddd 90px 102px,transparent 102px 108px,#e6c5aa66 108px 110px,transparent 110px 132px)}.art-tartan{position:absolute;width:93%;height:84%;transform:rotate(7deg);right:-12px;top:45px;border:1px solid #811c25}.logo-paper{background:#fff;position:relative;transform:rotate(-5deg);width:94%;max-width:465px;padding:20px 18px 18px;box-shadow:8px 14px 25px #0006;color:#161611}.logo-paper img{width:100%;height:auto;display:block;margin:4px 0}.paper-caption,.paper-bottom{display:block;text-align:center;font-size:9px;letter-spacing:3px;font-weight:bold}.paper-bottom{font-size:8px;letter-spacing:2px}.round-stamp{position:absolute;right:-5px;bottom:32px;border:2px dashed #f1eddf;border-radius:50%;width:106px;height:106px;display:grid;place-content:center;text-align:center;font-size:11px;font-weight:bold;line-height:1.5;transform:rotate(13deg);background:#bb1727;box-shadow:0 0 0 6px #bb1727}.hero-number{position:absolute;left:10px;bottom:0;font-size:8px;letter-spacing:2px;color:#a79e92}.ribbon{background:#bf1b2a;display:flex;justify-content:space-around;gap:35px;white-space:nowrap;overflow:hidden;padding:18px 0;color:#100f0c;font-size:12px;letter-spacing:2px;font-weight:bold}.section{padding:90px 7%}h2{font-family:Gothic,Georgia,serif;font-weight:400;font-size:clamp(52px,5.8vw,84px);line-height:.98;margin:0;letter-spacing:-1px}h2 em{font-style:normal;color:#ca2030}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.section-heading>p{font-size:13px;line-height:1.8;color:#b1ab9f;max-width:280px;margin-bottom:4px}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:23px}.placeholder{aspect-ratio:4/4.3;position:relative;display:grid;place-items:center;overflow:hidden}.damier{background:conic-gradient(#1c1b17 25%,#9f1d29 0 50%,#1c1b17 0 75%,#9f1d29 0);background-size:90px 90px}.patch-symbol{font-size:115px;display:grid;place-items:center;background:#141412;color:#e8e0cf;width:65%;height:65%;border:2px dashed #b5a995;transform:rotate(-9deg)}.image-note{position:absolute;bottom:15px;left:15px;font-size:8px;letter-spacing:2px;padding:8px 10px;background:#10100fe8;color:#eee8d9}.thread-symbol{font-family:Gothic,Georgia,serif;font-size:160px;text-shadow:4px 4px #111;color:#e5dfca;transform:rotate(8deg)}.dark-patch{background-color:#282722;background-image:repeating-linear-gradient(45deg,transparent 0 2px,#ffffff04 2px 3px)}.stitch-circle{font-family:Gothic,Georgia,serif;line-height:.7;font-size:75px;border:2px dashed #c82433;border-radius:50%;width:70%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-9deg)}.stitch-circle i{font-style:normal;color:#c82433}.second{padding-top:36px}.third{padding-top:72px}.card-bottom{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid #3c3931}.small-label{font-size:8px;letter-spacing:1.4px;color:#a69d91}.card-bottom h3{font-size:15px;font-weight:400;margin:9px 0 0}.card-arrow{font-size:23px;color:#a69d91}.gallery-note{color:#aaa398;font-size:11px;line-height:1.7;margin:28px 0 0}.services{display:grid;grid-template-columns:1fr 1.45fr;gap:100px;background:#e9e4d6;color:#181815}.service-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:290px;margin-top:25px}.text-link{font-size:12px;font-weight:bold;display:inline-flex;gap:28px;border-bottom:1px solid #201c18;padding:12px 0}.mini-check{width:140px;height:32px;margin-top:35px;background:conic-gradient(#171714 25%,#bd1c29 0 50%,#171714 0 75%,#bd1c29 0);background-size:32px 32px}.service-list article{display:flex;gap:24px;border-top:1px solid #b5b0a2;padding:28px 0 32px}.service-num{font-size:10px;color:#8d211f;padding-top:5px}.service-list h3{font-size:19px;font-weight:400;margin:0 0 13px}.service-list p{font-size:13px;line-height:1.8;color:#5e5a50;margin:0;max-width:390px}.service-icon{margin-left:auto;font-size:26px;color:#b81a27}.service-list .service-note{font-size:10px;margin-top:7px}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-art{position:relative;padding:30px 20px 38px;background:conic-gradient(#141412 25%,#8e1923 0 50%,#141412 0 75%,#8e1923 0);background-size:50px 50px}.about-frame{background:#fff;margin:0 10%;transform:rotate(5deg);padding:10px;box-shadow:4px 7px 15px #0006}.about-frame img{width:100%;height:auto;display:block}.about-tag{display:block;position:absolute;bottom:12px;left:15px;padding:14px 25px;background:#c91f30;color:#fff;transform:rotate(-5deg);font-size:10px;font-weight:bold;letter-spacing:2px;line-height:1.5}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#b7b0a5}.about-copy .about-lead{color:#eee6d5!important;font-size:17px!important;margin:28px 0 10px}.signature{font-family:Gothic,Georgia,serif;font-size:45px;display:block;transform:rotate(-6deg);color:#c62634;margin-top:25px}.manifesto{text-align:center;background:#bc1b2b;color:#110f0d;padding:65px 20px}.manifesto p{font-family:Georgia,serif;font-size:clamp(18px,2.2vw,29px);line-height:1.7;margin:0 0 20px}.manifesto p span{color:#f8e6d3}.manifesto>span{font-size:27px}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.contact>div>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#beb5a7;margin-top:26px}.contact .contact-note{font-size:11px!important;color:#928a7d!important;max-width:350px}form{display:flex;flex-direction:column;gap:12px}label{font-size:9px;letter-spacing:1.5px;margin-top:12px}input,textarea,select{width:100%;border:1px solid #4b463c;border-radius:0;color:#f2ecde;background:#1b1a17;padding:15px;font-size:13px}select{color-scheme:dark}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#999083}form .button{margin-top:12px}.form-note{font-size:10px;color:#9a9284;line-height:1.7;margin:0}footer{display:flex;gap:32px;align-items:center;justify-content:space-between;border-top:1px solid #39362f;padding:35px 7%}footer .wordmark{font-size:30px}footer p,footer>a:not(.wordmark),footer>span{font-size:10px;color:#a79f90}dialog{background:#191815;color:#eee8da;border:1px solid #6c5644;width:min(90%,580px);padding:35px}dialog::backdrop{background:#000b}dialog h2{font-size:50px}dialog>p:not(.eyebrow){font-size:12px;line-height:1.7}dialog textarea{margin:15px 0}dialog .button{width:100%}.dialog-close{position:absolute;top:8px;right:12px;font-size:27px;background:none;border:0;color:#eee;cursor:pointer}#copy-status{min-height:20px}
@media(min-width:1550px){.hero{min-height:750px}.hero-art{max-width:650px}.section{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:950px){header{gap:15px}header nav{gap:16px;font-size:11px}.header-contact{font-size:10px}.hero{min-height:610px;padding:55px 6%;gap:18px}.hero h1{font-size:120px}.hero-art{padding-bottom:70px}.round-stamp{width:80px;height:80px;font-size:9px;bottom:60px}.hero-intro{font-size:15px}.section{padding:65px 6%}.services,.about,.contact{gap:45px}.gallery{gap:15px}.card-bottom h3{font-size:13px}.small-label{font-size:7px}.service-list h3{font-size:17px}.service-list article{gap:15px}.about-frame{margin:0 3%}.service-icon{display:none}}@media(max-width:650px){html{scroll-padding-top:20px}header{height:78px;padding:0 6%}header nav,.header-contact{display:none}.wordmark{font-size:33px}.menu{display:block;background:none;color:#eee;border:1px solid #595043;padding:6px 11px;font-size:20px}.hero{padding:43px 7% 35px;grid-template-columns:1fr;gap:35px}.hero .eyebrow{font-size:8px}.hero h1{font-size:125px;margin:25px 0}.hero-intro{margin:25px 0;font-size:16px}.hero-foot{display:none}.hero-art{max-width:400px;width:100%;margin:auto;padding:15px 20px 50px}.art-tartan{top:35px;right:15px;width:85%;height:77%}.logo-paper{width:94%;padding:15px}.round-stamp{bottom:25px;right:9px}.hero-number{font-size:7px;left:20px;bottom:0}.ribbon{padding:14px 0;justify-content:flex-start;font-size:10px;gap:25px}.section{padding:58px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:12px}h2{font-size:62px}.gallery{grid-template-columns:1fr;gap:26px}.second,.third{padding-top:0}.placeholder{aspect-ratio:1.2}.card-bottom h3{font-size:16px}.small-label{font-size:8px}.gallery-note{font-size:10px}.services,.about,.contact{grid-template-columns:1fr;gap:40px}.mini-check{margin-top:25px}.service-list article{padding:25px 0}.service-list h3{font-size:18px}.service-icon{display:block}.about-art{max-width:380px;width:100%;margin:auto}.about-copy{padding-top:12px}.about-copy>p:not(.eyebrow){font-size:14px}.manifesto{padding:45px 7%}.manifesto p{font-size:18px}.contact{gap:25px}footer{flex-wrap:wrap;padding:30px 7%;gap:25px}footer p{display:none}footer>span{width:100%;font-size:9px}footer>a:not(.wordmark){margin-left:auto}dialog{padding:28px 20px}.eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full brand name, with room for the blackletter capitals and descenders. */
.wordmark{display:inline-block;line-height:1.3;font-size:34px;padding:5px 0;overflow:visible;flex-shrink:0}
.logo-name{display:block;font-family:Gothic,Georgia,serif;font-size:clamp(25px,3vw,41px);text-align:center;line-height:1.35;color:#10100f;padding:0 2px 8px;white-space:nowrap}
.logo-paper{padding-bottom:12px}
.hero{border-bottom:2px solid #9c1b28}
.contact-links{margin-top:28px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.contact-links a{font-size:14px;border-bottom:1px solid #716658;padding-bottom:9px;max-width:100%;overflow-wrap:anywhere}
.contact-links a span{margin-left:15px;color:#e13a48}
.contact-links a:hover{color:#ee5260}
footer .wordmark{font-size:27px;line-height:1.3}
@media(max-width:950px) and (min-width:651px){header .wordmark{font-size:26px}header nav{gap:13px}}
@media(max-width:650px){header .wordmark{font-size:27px}.logo-name{font-size:32px}.contact-links a{font-size:13px}footer .wordmark{font-size:26px}}
@media(max-width:360px){header .wordmark{font-size:23px}.logo-name{font-size:27px}}

.creation-live .placeholder img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .3s}.creation-live:hover .placeholder img{transform:scale(1.035)}.creation-live .card-bottom h3{overflow-wrap:anywhere}.creation-live:hover .card-arrow{color:#ea4355}.gallery-retry{background:none;color:inherit;border:0;border-bottom:1px solid currentColor;cursor:pointer;padding:0;font:inherit}

/* Quieter calls to action and a readable red-and-black checkerboard. */
.quiet-link{display:inline-block;width:fit-content;border:0;border-bottom:1px solid #cf2939;background:none;color:#f1eddf;padding:10px 0;font-size:13px;line-height:1.5;cursor:pointer;font-weight:400;text-align:left;transition:color .2s,border-color .2s}
.quiet-link:hover{color:#ff7884;border-color:#ff7884}
.hero-intro{max-width:400px}
.services{background-color:#10100f;background-image:conic-gradient(#10100f 25%,#a71929 0 50%,#10100f 0 75%,#a71929 0);background-size:112px 112px;gap:45px;align-items:start;color:#f1eddf}
.service-intro{background:#10100ff5;padding:34px}
.service-list{background:#10100ff5;padding:12px 34px 26px}
.service-intro>p:not(.eyebrow),.service-list p{color:#cec6bb}
.service-list article{border-color:#54433f}
.service-num{color:#f35d6b}
.services .text-link{border-color:#c82b3b}
.about-copy h2{font-size:clamp(60px,6vw,88px)}
.contact-submit{margin-top:14px;align-self:flex-start}
.languages{display:flex;gap:10px;font-size:11px;white-space:nowrap;flex-shrink:0}
.languages a{padding:8px 2px;color:#9e9689}
.languages a[aria-current="page"]{color:#f1eddf;border-bottom:1px solid #cf2939}
html[lang="en"] .hero h1{font-size:clamp(70px,8vw,120px);line-height:.98;letter-spacing:-1px}
@media(max-width:950px){header{gap:16px}header nav{gap:13px}.services{gap:24px}.service-intro{padding:26px}.service-list{padding:8px 26px 24px}}
@media(max-width:650px){header{flex-wrap:wrap;height:auto;min-height:85px;gap:8px 16px;padding-top:10px;padding-bottom:10px}header .wordmark{font-size:27px;margin-right:auto}header .languages{display:flex;gap:10px}.menu{font-size:18px;padding:4px 8px}header nav:not(.languages){display:none}.services{gap:24px;background-size:96px 96px}.service-intro{padding:28px 22px}.service-list{padding:8px 22px 22px}.contact-submit{font-size:14px}html[lang="en"] .hero h1{font-size:86px}html[lang="en"] h2{font-size:54px}}
@media(max-width:380px){header .wordmark{font-size:24px}header .languages{font-size:10px;gap:6px}.menu{padding:4px 6px}}

/* Keep five language choices readable, including narrow screens. */
html:not([lang="fr"]) .hero h1{font-size:clamp(70px,8vw,120px);line-height:.98;letter-spacing:-1px}
@media(min-width:651px) and (max-width:1150px){header{height:auto;min-height:92px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;gap:10px 22px}header nav:not(.languages){order:3;width:100%;justify-content:center}header .languages{display:flex;gap:12px}header .header-contact{margin-left:auto}}
@media(max-width:650px){header .languages{order:3;width:100%;justify-content:center;gap:20px;font-size:11px}header .menu{order:2}header .wordmark{order:1}html:not([lang="fr"]) .hero h1{font-size:clamp(64px,18vw,86px)}html:not([lang="fr"]) h2{font-size:clamp(44px,12vw,54px)}.stitch-circle{font-size:62px}}

.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#contact-status{font-size:13px;line-height:1.8;margin:0;color:#e5dfd3}#contact-status:empty{display:none}#contact-status[data-state="error"],#contact-status[data-state="pending"]{color:#ff9ca5}.contact-submit:disabled{opacity:.6;cursor:wait}.contact input:disabled,.contact textarea:disabled,.contact select:disabled{opacity:.7}

.creation-publication{display:block}.creation-enquiry{margin-top:12px;font-size:12px;line-height:1.7;text-align:left;max-width:100%;padding:8px 0}.creation-enquiry:hover{color:#ff7884}html[lang="de"] .hero h1{font-size:clamp(66px,7vw,105px)}
@media(max-width:650px){header .languages{gap:18px}.creation-enquiry{font-size:14px;min-height:44px}html[lang="de"] .hero h1{font-size:clamp(62px,15vw,82px)}}

.availability{font-size:12px;line-height:1.6;display:flex;align-items:center;gap:10px;color:#eee5d8;margin:18px 0 12px}.availability[hidden]{display:none}.availability::before{content:'';width:7px;height:7px;border-radius:50%;background:#d83b4c;flex:0 0 auto}.availability[data-state="full"]::before{background:#b3a89b}.contact>div>p.availability{font-size:13px;margin-top:22px;padding:12px 0;border-top:1px solid #4c3937;border-bottom:1px solid #4c3937}.hero .availability{max-width:420px}

/* Questions unfold like a thread, with a native keyboard-accessible accordion. */
.faq{border-bottom:1px solid #39362f;background:radial-gradient(ellipse at 0 0,#281012,transparent 65%),#10100f;display:grid;grid-template-columns:1fr 1.2fr;gap:40px 70px;align-items:start}.faq-heading h2{font-size:clamp(45px,4.6vw,68px);line-height:1.12;max-width:560px}.faq-heading h2 em{display:block}.faq-list{border-top:1px solid #66504b;min-width:0}.faq-item{border-bottom:1px solid #66504b}.faq-item summary{cursor:pointer;list-style:none;display:flex;gap:24px;justify-content:space-between;align-items:center;padding:24px 0;font-size:16px;line-height:1.6}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';color:#ff7884;font-size:25px;font-weight:400;flex:0 0 20px;text-align:center}.faq-item[open] summary::after{content:'−'}.faq-item[open] summary{color:#ff9ca5}.faq-answer{padding:0 28px 24px 0}.faq-answer p,.faq-cta p{font-size:14px;line-height:1.9;color:#cec6bb;margin:0 0 12px}.faq-enquiry{min-height:44px;max-width:100%;overflow-wrap:anywhere}.faq-cta{grid-column:1/-1;border-left:3px solid #cf2939;padding:6px 0 6px 26px;max-width:760px;margin-top:12px}.faq-cta h3{font-size:22px;line-height:1.5;font-weight:400;margin:0 0 12px}.faq-item summary:hover{color:#ff9ca5}@media(max-width:950px){.faq{gap:30px;grid-template-columns:1fr}.faq-heading h2{max-width:680px}}@media(max-width:650px){.faq-heading h2{font-size:clamp(42px,11vw,54px)}.faq-item summary{font-size:15px;padding:20px 0;gap:16px}.faq-answer{padding-right:0}.faq-cta{padding-left:20px}.faq-cta h3{font-size:20px}}

.project-details{border:1px solid #4b463c;padding:20px;margin:14px 0 0;min-width:0}.project-details legend{font-size:14px;padding:0 8px}.project-details-note{color:#bfb5a8;font-size:12px;line-height:1.7;margin:0 0 12px}.project-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-fields>div{min-width:0}.project-fields label{display:block;letter-spacing:.5px;line-height:1.6;font-size:11px;margin:0 0 8px}.project-fields input{min-width:0;color-scheme:dark}.contact-attachment{margin-top:14px;display:flex;flex-direction:column;gap:12px}.contact-attachment label{line-height:1.7}.contact-attachment input{max-width:100%;font-size:12px}.contact-attachment input::file-selector-button{background:#bc1b2b;color:#fff;border:0;padding:10px;margin-right:12px;cursor:pointer}#attachment-preview[hidden]{display:none}#attachment-preview{display:flex;flex-wrap:wrap;align-items:center;gap:18px}#attachment-preview img{display:block;max-width:180px;max-height:160px;object-fit:contain;border:1px solid #4b463c}#attachment-status{font-size:12px;line-height:1.7;color:#ff9ca5;margin:0}#attachment-status:empty{display:none}@media(max-width:650px){.project-fields{grid-template-columns:minmax(0,1fr)}.project-details{padding:15px}.project-fields input{display:block;width:100%;max-width:100%;min-inline-size:0}.project-fields input[type="date"]{min-height:48px}}

/* Constrain the native date control, including WebKit's internal date segments. */
.date-input-wrap{width:100%;max-width:100%;min-width:0;min-inline-size:0;overflow:hidden;contain:inline-size;border:1px solid #4b463c;background:#1b1a17}.date-input-wrap:focus-within{outline:2px solid #f1eddf;outline-offset:4px}.project-fields .date-input-wrap input[type="date"]{display:block;box-sizing:border-box;-webkit-appearance:none;appearance:none;inline-size:100%;width:100%;max-inline-size:100%;max-width:100%;min-inline-size:0;min-width:0;height:48px;margin:0;border:0;border-radius:0;padding:12px;font-size:16px;outline:0}.date-input-wrap input::-webkit-date-and-time-value{min-width:0;min-inline-size:0;text-align:left}.date-input-wrap input::-webkit-datetime-edit{min-width:0;min-inline-size:0;padding:0}.date-input-wrap input::-webkit-calendar-picker-indicator{flex-shrink:0;margin:0;padding:0}
