:root{--paper:#f5f2e8;--ink:#252820;--muted:#686c60;--rule:#d4d3c6;--green:#367f73;--gold:#e4ad3e;--orange:#d97136;--red:#ae402b;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light;background:var(--paper);color:var(--ink);font-family:var(--sans)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:5px}button,a{touch-action:manipulation}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(1320px,calc(100% - 88px));margin-inline:auto}.skip-link{position:absolute;left:20px;top:-80px;z-index:10;padding:12px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:12px}.header{height:88px;display:flex;align-items:center;gap:72px;border-bottom:1px solid var(--rule);position:relative;z-index:2}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:27px;letter-spacing:-.04em}.q-mark{width:45px;height:45px;flex-shrink:0}.header nav{display:flex;gap:34px;font-size:10px;text-transform:uppercase;letter-spacing:.19em;font-weight:600}.header nav a{padding:12px 0}.header nav a:hover,.header nav a[aria-current]{border-bottom:1px solid var(--ink)}.header-note{margin-left:auto;font-size:8px;letter-spacing:.18em;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 1.12fr;min-height:490px;border-bottom:1px solid var(--rule);overflow:hidden}.hero-copy{padding-block:40px 40px;z-index:1}.eyebrow{font-size:9px;letter-spacing:.23em;font-weight:600;line-height:1.7;text-transform:uppercase;margin:0 0 28px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(76px,7.4vw,110px);line-height:.88;letter-spacing:-.075em;margin:0 0 24px}.hero-motto{font-size:9px;letter-spacing:.32em;margin:0 0 20px}.intro{font:17px/1.5 var(--serif);letter-spacing:.025em;max-width:330px;margin:0 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:42px;border:1px solid var(--ink);border-radius:30px;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;background:transparent}.button.dark{background:var(--ink);color:var(--paper)}.button:hover{background:#e9e5d9}.button.dark:hover{background:#465044}.button:disabled{opacity:.55;cursor:wait}.hero-art{position:relative;min-width:0;overflow:hidden}.ribbons{position:absolute;inset:-150px -200px;display:flex;justify-content:center;transform:rotate(33deg)}.ribbons i{display:block;width:76px;flex-shrink:0;background:var(--green)}.ribbons i:nth-child(2){background:var(--gold)}.ribbons i:nth-child(3){background:var(--orange)}.ribbons i:nth-child(4){background:var(--red)}.ribbons i:nth-child(5){background:#49251a}.medallion{position:absolute;top:50%;left:52%;transform:translate(-50%,-50%) rotate(-8deg);width:330px;height:330px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(ellipse at 32% 22%,#fffff5,#e9e4d5 85%);box-shadow:10px 18px 25px #3c302626,inset 0 0 25px #fff8}.medallion .q-mark{width:215px;height:215px;filter:drop-shadow(5px 7px 3px #0003);color:#242720}.art-caption{position:absolute;bottom:27px;right:0;font-size:8px;letter-spacing:.23em;writing-mode:vertical-rl}.projects{padding-block:29px 58px;scroll-margin-top:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:20px}.section-heading h2{display:flex;gap:16px;align-items:center;margin:0;font-size:10px;font-weight:500;letter-spacing:.24em}.line{display:inline-block;height:1px;width:44px;background:#8e9385}.section-heading>span{font-size:8px;letter-spacing:.16em;display:flex;gap:22px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card-image{position:relative;height:245px;overflow:hidden;background:#deded0}.card-image img{transition:transform .25s ease}.project-card:hover img{transform:scale(1.025)}.number{position:absolute;left:15px;top:15px;font:10px var(--sans);letter-spacing:.1em;background:var(--paper);padding:8px 9px}.image-arrow{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--paper);font-size:17px}.card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:18px;font-size:8px;letter-spacing:.14em}.status{display:inline-flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.03em}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green)}.project-card h3{font:400 29px/1.2 var(--serif);letter-spacing:-.035em;margin:11px 0 10px}.project-card>p{color:var(--muted);font:13px/1.65 var(--sans);max-width:360px;margin:0}.about-strip{padding-block:52px 60px;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 2fr .6fr;gap:24px;align-items:start}.about-strip h2{font:400 43px/1.12 var(--serif);letter-spacing:-.05em;margin:0 0 16px}.about-strip p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8;max-width:500px;margin:0 0 20px}.text-link{display:inline-flex;gap:40px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-block:8px}.about-strip>.q-mark{width:88px;height:88px;justify-self:end;transform:rotate(-12deg)}.footer{padding-block:29px;border-top:1px solid var(--rule);display:flex;align-items:center;gap:30px}.brand.small{font-size:17px}.brand.small .q-mark{width:28px;height:28px}.footer>span{font:italic 14px var(--serif);color:var(--muted)}.admin-link{margin-left:auto;font-size:9px;letter-spacing:.1em;color:var(--muted)}.about-page{min-height:650px;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:80px}.about-page h1,.not-found h1{font:400 clamp(54px,5.5vw,80px)/1.02 var(--serif);letter-spacing:-.055em;margin:0 0 32px}.prose{font:19px/1.7 var(--serif);max-width:640px}.prose p{margin:0 0 24px}.about-page .button{margin-top:20px}.about-art{position:relative;min-height:480px;overflow:hidden}.about-art .hero-art{height:100%}.about-art .art-caption{right:14px}.project-page{padding-block:34px 70px}.back-link{font-size:10px;letter-spacing:.1em}.project-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;padding-block:54px 34px}.project-heading .eyebrow{margin-bottom:15px}.project-heading h1{font:400 clamp(48px,5.8vw,84px)/1 var(--serif);letter-spacing:-.055em;margin:0}.status.large{margin-bottom:8px;font-size:11px}.project-cover{height:480px;background:#dadacd;overflow:hidden}.project-body{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-top:50px}.project-body .prose{max-width:680px}.launch{margin-top:8px}.launch-note{font:11px/1.5 var(--sans);color:var(--muted);margin:15px 0 0}.not-found{min-height:60vh;padding-block:80px}.not-found>p:not(.eyebrow){margin-bottom:30px}
@media(min-width:1450px){.hero-art .ribbons i{width:90px}.hero{min-height:660px}.hero-copy{padding-top:70px}.card-image{height:270px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.header{height:88px;gap:40px}.header-note{display:none}.hero{min-height:550px;grid-template-columns:1fr 1fr}.hero h1{font-size:88px}.hero-copy{padding-block:48px}.medallion{width:270px;height:270px}.medallion .q-mark{width:175px;height:175px}.ribbons i{width:58px}.card-image{height:200px}.project-grid{gap:18px}.project-card h3{font-size:25px}.card-meta{align-items:start;flex-direction:column;gap:9px}.about-strip{grid-template-columns:.7fr 2fr .4fr}.about-strip h2{font-size:36px}.project-cover{height:400px}.about-page{gap:36px}.about-page h1{font-size:58px}.about-art .medallion{width:240px;height:240px}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.header{height:80px;justify-content:space-between;gap:20px}.brand{font-size:24px}.brand .q-mark{width:38px;height:38px}.header nav{gap:24px;font-size:9px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding-block:42px 38px}.hero .eyebrow{font-size:8px;margin-bottom:28px}.hero h1{font-size:clamp(64px,18.5vw,110px);line-height:.9;margin-bottom:28px}.hero-motto{font-size:8px;letter-spacing:.25em}.intro{font-size:16px;max-width:310px}.button{padding-inline:20px;font-size:9px;gap:20px;min-height:44px}.hero-art{height:305px;margin-inline:-20px}.medallion{width:235px;height:235px;left:50%}.medallion .q-mark{width:155px;height:155px}.ribbons{inset:-200px -180px}.ribbons i{width:60px}.art-caption{right:15px;font-size:7px}.section-heading>span{display:none}.projects{padding-block:26px 40px}.section-heading h2{font-size:9px}.project-grid{grid-template-columns:1fr;gap:35px}.card-image{height:240px}.card-meta{flex-direction:row;align-items:center}.project-card h3{font-size:31px}.project-card>p{font-size:13px;max-width:100%}.about-strip{grid-template-columns:1fr;gap:10px;padding-block:34px 40px}.about-strip .eyebrow{margin-bottom:12px}.about-strip h2{font-size:39px;max-width:300px}.about-strip>.q-mark{display:none}.footer{padding-block:24px;gap:16px}.footer>span{font-size:12px}.footer .brand{font-size:15px}.footer .q-mark{width:23px;height:23px}.admin-link{font-size:8px}.about-page{grid-template-columns:1fr;gap:40px;padding-block:44px}.about-page h1{font-size:57px}.prose{font-size:18px;line-height:1.65}.about-art{height:290px;min-height:0}.about-art .hero-art{margin:0;height:100%}.project-page{padding-top:26px;padding-bottom:45px}.project-heading{padding-block:36px 28px;display:block}.project-heading h1{font-size:52px;overflow-wrap:anywhere}.status.large{margin-top:22px;margin-bottom:0}.project-cover{height:260px}.project-body{grid-template-columns:1fr;gap:0;padding-top:30px}.project-body>.eyebrow{margin-bottom:20px}.launch-note{font-size:10px}.not-found h1{font-size:54px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.image-contain{background:var(--paper)}.image-contain img{object-fit:contain;padding:28px}.card-image.image-contain{background:#e9e8df}

.project-gallery{padding-top:64px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.gallery-grid figure{margin:0}.gallery-grid img{height:auto;aspect-ratio:16/9;object-fit:contain;background:#dddace}.gallery-grid figcaption{padding-top:14px;font:13px/1.6 var(--sans);color:var(--muted)}.gallery-grid figure:last-child:nth-child(odd){grid-column:1/-1}@media(max-width:650px){.project-gallery{padding-top:40px}.gallery-grid{grid-template-columns:1fr;gap:26px}}

.about-art{align-self:start;height:560px}
.header-note{font-size:9px;letter-spacing:.1em}
/* Company details retain the site's typography, palette and spacing. */
.footer-project{margin-left:auto;display:flex;flex-direction:column;gap:7px;font:10px/1.6 var(--sans);letter-spacing:.04em;color:var(--muted)}
.footer-project a{align-self:flex-start;text-decoration:underline;text-underline-offset:3px}.footer .admin-link{margin-left:20px}
.contact-link{display:block;width:fit-content;font:13px/1.6 var(--sans);margin-top:18px;text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.about-page .contact-link{margin-bottom:16px}
@media(max-width:1000px){.header{height:auto;min-height:88px;flex-wrap:wrap;gap:16px 40px;padding-block:20px}.header-note{display:block;flex-basis:100%;margin-left:0;font-size:8px}.footer{flex-wrap:wrap}.footer-project{margin-left:auto}}
@media(max-width:650px){.about-art{height:290px}.header{gap:14px 18px}.header-note{font-size:9px;letter-spacing:.06em}.footer-project{order:3;flex-basis:100%;margin-left:0;gap:6px;font-size:10px}.footer .admin-link{margin-left:auto}}

/* Keep the Christmas star visible in the wide project cover. */
.project-cover img[src="/christmas/share.jpg"]{object-position:center top}

/* Preserve the existing standalone project directory. */
.project-index{padding-block:56px 80px}.project-index .eyebrow{margin-bottom:18px}
.project-index h1{font:400 72px/1 var(--serif);letter-spacing:-.055em;margin:0 0 24px}
.project-index-intro{font:20px/1.6 var(--serif);max-width:600px;margin:0 0 48px;color:var(--muted)}
.project-index .project-grid{row-gap:50px}
@media(max-width:700px){.project-index{padding-block:36px 50px}.project-index h1{font-size:56px}.project-index-intro{font-size:18px;margin-bottom:32px}}
