/* WordPress integration; the approved landing-page styles live in main.css. */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;padding:0.9375rem;background:var(--bg);color:var(--ink);z-index:100000}
.admin-bar .site-header{top:32px}
.primary-menu,.primary-menu .sub-menu,.footer-menu,.legal-menu,.language-switcher{list-style:none;margin:0;padding:0}
.primary-menu{display:flex;gap:1.625rem;align-items:center}.primary-menu>li{position:relative}.primary-menu a{display:block;font-size:.875rem;color:#d5d9e5;padding:0.75rem 0}.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--lavender)}
.primary-menu .sub-menu{display:none;position:absolute;top:100%;left:-1.125rem;min-width:13.75rem;padding:0.75rem 1.125rem;border:1px solid var(--line);background:#141e32;border-radius:0.625rem;box-shadow:0 1rem 2.5rem #0005}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}
.language-switcher{display:flex;align-items:center;gap:0.3125rem}.language-switcher a{display:block;padding:0.5rem;font-size:.6875rem;letter-spacing:.08em;color:var(--quiet);border-radius:0.375rem;border:1px solid transparent}.language-switcher a[aria-current],.language-switcher a:hover{border-color:var(--line);background:#a5b2eb12;color:var(--ink)}
.footer-menu{display:flex;flex-direction:column;gap:0.5625rem}.legal-menu{display:flex;gap:1.5rem}.form-trap{position:absolute;left:-625rem;width:1px;height:1px;overflow:hidden}.form-feedback{border:1px solid #85c9b680;background:#14b8a611;border-radius:0.5rem;padding:0.9375rem;margin-bottom:1.25rem;color:var(--ink);font-size:.875rem}.form-feedback.is-error{border-color:#e9a0a080;background:#dc505012}
.content-section{padding-block:6.25rem;min-height:65vh}.content-heading{margin-bottom:3.4375rem;max-width:60rem}.content-heading h1{overflow-wrap:anywhere}.archive-description{margin-top:1.5625rem}.entry-content{max-width:50rem}.entry-content>*+*{margin-top:1.5em}.entry-content h2,.comments-area h2{font-size:clamp(2rem,4vw,3rem)}.entry-content h3{font-size:1.5rem}.entry-content a,.entry-summary a,.comment-content a{color:var(--lavender);text-decoration:underline;text-underline-offset:0.1875rem}.entry-content ul,.entry-content ol{padding-left:1.5em;color:var(--muted)}.entry-content li+li{margin-top:.6em}.entry-content blockquote{border-left:0.125rem solid var(--lavender);margin-inline:0;padding:0.75rem 1.5625rem;background:#a5b2eb08}.entry-content pre{overflow-x:auto;padding:1.25rem;background:#0b1221;border:1px solid var(--line);border-radius:0.5rem}.entry-content table{display:block;width:100%;overflow-x:auto;border-collapse:collapse}.entry-content th,.entry-content td{border:1px solid var(--line);padding:0.75rem;text-align:start}.entry-featured{width:100%;max-height:38.75rem;object-fit:cover;border-radius:1.125rem;margin-bottom:2.8125rem}.entry-content iframe{max-width:100%}.entry-content figure{max-width:100%;margin-inline:0}.wp-caption-text,.gallery-caption,figcaption{color:var(--muted)}.alignleft{float:left;margin-right:1.5rem}.alignright{float:right;margin-left:1.5rem}.aligncenter{margin-inline:auto}.entry-content::after{content:'';display:table;clear:both}.sticky{border-color:#a5b2eb55}.bypostauthor{border-left:0.125rem solid var(--lavender);padding-left:1rem}
.posts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.8125rem 1.875rem}.post-card{padding:1.5625rem;border:1px solid var(--line);border-radius:1rem;background:#151e3377;min-width:0}.post-card img{aspect-ratio:8/5;object-fit:cover;width:100%;border-radius:0.625rem;margin-bottom:1.4375rem}.post-card h2{font-size:2.4rem;margin:0.625rem 0 1.125rem;overflow-wrap:anywhere}.post-date{font-size:.75rem;letter-spacing:.04em;color:var(--quiet)}.entry-summary p{font-size:.9375rem}.post-card .text-link{margin-top:1.125rem}.navigation.pagination,.post-navigation,.comments-area{margin-top:4.0625rem;padding-top:1.875rem;border-top:1px solid var(--line)}.page-numbers{display:inline-block;padding:0.5rem 0.875rem;border:1px solid var(--line);border-radius:0.375rem;margin-right:0.375rem}.page-numbers.current{background:var(--purple)}.nav-links{display:flex;gap:1.25rem;justify-content:space-between;flex-wrap:wrap}.entry-tags{display:flex;gap:0.75rem;margin-top:1.875rem;color:var(--lavender)}.search-form{display:flex;gap:0.75rem;max-width:37.5rem;margin-block:1.875rem}.search-form label{flex:1;min-width:0}.search-field{width:100%;height:100%}.search-field,.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea,.post-password-form input[type=password]{border:1px solid #a5b2eb55;border-radius:0.5rem;background:#0f172a80;color:var(--ink);padding:0.75rem;font:inherit;max-width:100%}.comment-form textarea{width:100%}.comment-form label{display:block;margin-bottom:0.375rem}.comment-form p{margin-top:1.125rem}.comment-form-cookies-consent{display:flex;align-items:start;gap:0.625rem}.comment-form .submit,.post-password-form input[type=submit]{background:var(--purple);color:white;border:0;border-radius:0.5rem;padding:0.875rem 1.375rem;font:inherit;cursor:pointer}.comment-list{list-style:none;padding:0}.comment-list article{padding:1.5625rem 0;border-bottom:1px solid var(--line)}.comment-author .avatar{display:inline-block;vertical-align:middle;border-radius:50%;margin-right:0.625rem}.comment-metadata,.reply{font-size:.8rem;margin-top:0.75rem}.comment-content{margin-top:0.9375rem}.not-found>p{margin-top:1.5625rem}.entry-content .woocommerce{max-width:none}.page:has(.woocommerce) .entry-content,.page:has(.wc-block-cart) .entry-content,.page:has(.wc-block-checkout) .entry-content{max-width:100%}
/* Keep WooCommerce's maintained templates and their standard interactions. */
.woocommerce .woocommerce-breadcrumb{color:var(--quiet);margin-bottom:1.875rem}.woocommerce .woocommerce-breadcrumb a{color:var(--lavender)}.woocommerce div.product .product_title{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4rem)}.woocommerce ul.products li.product,.woocommerce div.product div.summary{color:var(--ink)}.woocommerce ul.products li.product a img{border-radius:0.75rem}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.4rem;font-family:var(--font);line-height:1.3}.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--lavender)}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--purple);color:white;border-radius:0.5rem;padding:0.875rem 1.25rem;font-weight:500}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--purple-hover);color:white}.woocommerce .quantity .qty,.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{padding:0.625rem;border:1px solid #a5b2eb55;border-radius:0.375rem;background:var(--bg);color:var(--ink)}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--surface);border-color:var(--line)}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--bg);color:var(--ink)}.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted)}.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{border-color:var(--line)}.woocommerce table.shop_table{border-color:var(--line)}.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--line)}.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#1d2942;color:var(--ink)}.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border-color:var(--line)}.woocommerce-checkout #payment{background:var(--surface)}.woocommerce-checkout #payment div.payment_box{background:#24314a;color:var(--ink)}.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#24314a}.woocommerce .select2-container--default .select2-selection--single{background:var(--bg);border-color:#a5b2eb55}.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink)}
@media(min-width:47.5625rem) and (max-width:68.75rem){.nav{gap:0.8125rem}.primary-menu{gap:0.9375rem}.nav .btn{margin-left:0;gap:0.625rem}.header-inner{gap:1.25rem}.nav>a:not(.btn),.primary-menu a{font-size:.8125rem}.language-switcher{gap:0}.language-switcher a{padding:0.375rem}}
@media(max-width:48.875rem){.admin-bar .site-header{top:46px}}
@media(max-width:47.5rem){.primary-menu{flex-direction:column;align-items:stretch;gap:0}.primary-menu a{padding:0.75rem}.primary-menu .sub-menu{display:block;position:static;min-width:0;margin-left:0.75rem;padding:0 0 0 0.75rem;box-shadow:none;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent}.language-switcher{padding:0.75rem 0.25rem 0;gap:0.5rem}.language-switcher a{padding:0.625rem 0.75rem}.nav{max-height:calc(100dvh - 7.5rem);overflow:auto}.content-section{padding-block:4.0625rem}.content-heading{margin-bottom:2.1875rem}.posts-grid{grid-template-columns:1fr}.search-form{flex-wrap:wrap}.legal-menu{gap:0.9375rem;flex-wrap:wrap}.entry-content{overflow-wrap:anywhere}}
@media(max-width:37.5rem){.admin-bar .site-header{top:0}}
@media(max-width:47.5rem){.no-js .header-inner{height:auto;min-height:4.625rem;flex-wrap:wrap;padding-block:1.125rem}.no-js .menu-toggle{display:none}.no-js .nav{display:flex;position:static;flex-basis:100%;max-height:none;padding:0;box-shadow:none;border:0}.no-js .site-header{position:relative}}
@media(max-width:22.5rem){.post-card{padding:1.25rem}.search-form{flex-direction:column}.hero h1{overflow-wrap:normal}}

/* Project content. */
.project-card .service-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem}
.project-image{display:block}.project-image+h3{margin-top:1.4375rem}.project-card h3 a:hover{color:var(--lavender)}.project-grid{row-gap:3rem}.projects-more,.project-website{margin-top:1.875rem}
@media(max-width:30rem){.project-grid{row-gap:2.1875rem}}

/* Compact footer: brand left, social icons right, legal information below. */
.site-footer {
  padding-block: 2.5rem 1.75rem;
  padding-inline: 0;
}
.footer-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding-block-end: 2.5rem;
}
.footer-brand { min-inline-size: 0; }
.footer-brand .logo,
.footer-brand .logo img {
  inline-size: 6.9375rem;
  block-size: auto;
}
.footer-brand .logo { margin-block-end: .5rem; }
.footer-brand > p {
  max-inline-size: 21.875rem;
  color: var(--quiet);
  font-size: .875rem;
  line-height: 1.5;
}
.site-footer .social-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .625rem;
  margin-inline-start: auto;
  padding-block-start: .125rem;
}
.site-footer .social-link {
  display: grid;
  place-items: center;
  inline-size: 2.375rem;
  aspect-ratio: 1;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--quiet);
  background: transparent;
  transition: color .2s, background .2s, border-color .2s, transform .2s;
}
.site-footer .social-link:hover {
  color: var(--lavender);
  background: #a5b2eb12;
  border-color: #a5b2eb66;
  transform: translateY(-.125rem);
}
.social-link svg { inline-size: 1.125rem; block-size: 1.125rem; }
.footer-bottom {
  align-items: baseline;
  gap: 1rem 1.75rem;
  padding-block-start: 1.625rem;
  line-height: 1.6;
}
.footer-legal {
  margin-inline-start: auto;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.footer-legal,
.legal-menu { gap: .75rem 1.5rem; }
.site-footer a:focus-visible {
  outline: .125rem solid var(--lavender);
  outline-offset: .3125rem;
  border-radius: .1875rem;
}
@media (max-width: 37.5rem) {
  .site-footer { padding-block: 1.75rem 1.5rem; }
  .footer-main {
    flex-direction: row;
    gap: 1.25rem;
    padding-block-end: 1.75rem;
  }
  .footer-bottom { flex-wrap: wrap; padding-block-start: 1.375rem; }
  .footer-legal,
  .legal-menu { justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer .social-link:hover { transform: none; }
}
