
:root{--paper:#f6f0e3;--ink:#203e35;--red:#802b32;--gold:#af8b52;--line:#d8d0c1;--muted:#505950}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#e9e4d9;color:var(--ink);font-family:Arial,sans-serif;font-size:16px;line-height:1.7}a{color:var(--red);text-underline-offset:3px}a:hover{text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip-link{position:absolute;top:-100px;left:20px;z-index:20;background:var(--paper);padding:12px}.skip-link:focus{top:10px}.site-wrap{max-width:1180px;margin:0 auto;background:var(--paper);box-shadow:0 0 28px #25372c0d}.masthead{padding:25px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none}.brand svg{color:var(--gold);width:48px;height:57px}.brand>span{font:34px Georgia,serif;white-space:nowrap}.brand small{font:9px Arial,sans-serif;display:block;letter-spacing:2px;margin-top:9px}.header-contact{text-align:right;font-size:12px}.header-contact>span{display:block;color:var(--muted)}.header-contact a{display:inline-block;font:23px Georgia,serif;color:var(--ink);text-decoration:none;margin-top:5px}nav{background:var(--ink);display:flex;justify-content:center;flex-wrap:wrap;border-bottom:3px solid var(--gold)}nav a{color:var(--paper);font-size:14px;text-decoration:none;padding:12px 26px}nav a:hover{background:#ffffff15}.banner{height:390px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.banner>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 53%}.banner-copy{position:relative;background:rgba(246,240,227,.97);width:430px;height:100%;padding:38px 40px;border-right:1px solid #d8d0c188}.banner h1{font:42px/1.16 Georgia,serif;letter-spacing:-.8px;margin:0 0 18px}.banner p{font-size:16px;max-width:310px;margin:0 0 25px}.button{display:inline-block;padding:11px 16px;background:var(--red);color:var(--paper);text-decoration:none;font-size:13px;border-radius:2px;border:1px solid #69232a;line-height:1.5}.button:hover{background:#64232b}.photo-credit{font-size:10px;text-align:right;color:var(--muted);margin:7px 25px 0}.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:48px;padding:32px 40px 25px}h2,h3{font-family:Georgia,serif;font-weight:400;color:var(--ink)}h2{font-size:29px;line-height:1.25;margin:0 0 18px}h3{font-size:22px;line-height:1.3;margin:0 0 11px}p{margin:0 0 17px}.main-content p{color:var(--muted)}.welcome{margin-bottom:30px}.service-section{border-top:1px solid var(--line);padding-top:28px;margin-top:28px;display:flow-root;scroll-margin-top:20px}.small-services{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:25px 0 0}.small-services h3{font-size:21px}.small-services p{font-size:15px}.knot-figure{float:right;width:230px;margin:3px 0 20px 25px}.knot-figure img{width:100%;height:auto;display:block}.knot-figure figcaption{padding-top:7px;font-size:10px;line-height:1.6;color:var(--muted)}.text-link{font-size:14px}.repair-figure{margin:22px 0 0;max-width:580px}.repair-figure img{display:block;width:100%;height:auto;background:#fff}.repair-figure figcaption{font-size:11px;color:var(--muted);line-height:1.6;padding:9px 0 0}.contact-box{background:var(--ink);color:var(--paper);padding:25px 23px;border-top:4px solid var(--gold);scroll-margin-top:20px}.contact-box h2{color:var(--paper);font-size:25px}.contact-box p{font-size:14px;line-height:1.65}.phone-number{font:26px Georgia,serif;display:block;color:var(--paper);text-decoration:none;margin:22px 0 18px;white-space:nowrap}.contact-box .button{font-size:14px;padding:10px 18px}.contact-box .email-pending{font-size:11px;margin:22px 0 0;color:#d6dacf}.contact-box #business-email{color:var(--paper);font-size:13px;display:block;margin-top:18px;overflow-wrap:anywhere}.sidebar-info{margin:25px 0;padding-bottom:10px;border-bottom:1px solid var(--line)}.sidebar-info h3{font-size:21px}.sidebar-info p{font-size:14px;color:var(--muted)}.sidebar-info h3:not(:first-child){margin-top:24px}.sidebar-photo{margin:25px 0}.sidebar-photo img{width:100%;height:210px;object-fit:cover;object-position:85% center;display:block}.sidebar-photo figcaption{font:italic 13px/1.5 Georgia,serif;padding-top:10px;color:var(--muted)}.practical{padding:28px 40px 35px;border-top:1px solid var(--line);margin-top:15px;background:#eee7d9}.practical h2{font-size:26px;margin-bottom:23px}.practical>div{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.practical h3{font-size:18px}.practical p{font-size:14px;color:var(--muted);margin-bottom:0}footer{background:var(--ink);color:var(--paper);padding:30px 40px 20px;display:flex;justify-content:space-between;gap:25px;font-size:12px}footer strong{font:23px Georgia,serif}footer p{margin-top:10px;font-size:12px;color:#d6dacf}footer a{color:var(--paper);font-size:14px}.image-credits{background:var(--ink);padding:0 40px 25px;color:#d6dacf}.image-credits summary{font-size:11px;cursor:pointer}.image-credits details p{font-size:11px;max-width:760px;margin:10px 0}.image-credits a{color:#e4d7b8}[hidden]{display:none!important}@media(max-width:950px){.masthead{padding:22px 25px}.page-layout{padding:30px 25px;gap:30px;grid-template-columns:minmax(0,1fr) 260px}.knot-figure{width:180px;margin-left:20px}.banner-copy{padding-left:25px;width:410px}.practical,footer{padding-left:25px;padding-right:25px}.image-credits{padding-left:25px;padding-right:25px}nav a{padding:12px 20px}}@media(max-width:700px){body{font-size:15px}.site-wrap{box-shadow:none}.masthead{padding:20px;align-items:flex-start}.brand>span{font-size:27px}.brand svg{width:34px;height:44px}.brand{gap:9px}.brand small{font-size:8px;letter-spacing:1.2px;margin-top:7px}.header-contact>span{display:none}.header-contact a{font:14px Arial,sans-serif;margin-top:13px}.banner{height:auto;display:flex;flex-direction:column}.banner>img{position:static;width:100%;height:205px;object-fit:cover;order:0}.banner-copy{width:100%;height:auto;padding:25px 22px 27px;border-right:0;order:1}.banner h1{font-size:32px;line-height:1.2;letter-spacing:0;max-width:390px}.banner h1 br{display:none}.banner p{font-size:15px;max-width:100%;margin-bottom:20px}.button{font-size:13px}.photo-credit{font-size:9px;margin-right:20px}.page-layout{grid-template-columns:1fr;padding:26px 22px;gap:30px}.welcome{margin-bottom:24px}h2{font-size:26px}.service-section{padding-top:24px;margin-top:24px}.small-services{gap:20px}.small-services h3{font-size:20px}.small-services p{font-size:14px}.knot-figure{width:170px;margin-left:18px}.contact-box{padding:25px}.sidebar{display:grid;grid-template-columns:1fr}.phone-number{font-size:30px}.sidebar-info p{font-size:15px}.sidebar-photo{display:none}.sidebar-info{margin-bottom:0}.practical{padding:25px 22px}.practical>div{grid-template-columns:1fr;gap:22px}.practical p{font-size:15px}footer{padding:28px 22px 10px;flex-wrap:wrap}footer>div:first-child{width:100%}.image-credits{padding:0 22px 25px}nav{justify-content:flex-start;padding:4px 8px}nav a{font-size:12px;padding:8px 12px}}@media(max-width:380px){.header-contact a{font-size:12px}.brand>span{font-size:24px}.brand svg{width:28px}.masthead{padding:18px 15px}.knot-figure{float:none;width:100%;max-width:280px;margin:0 0 20px}.small-services{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
