:root{--muted:#c5c5c5;--inset-surface:rgba(255,255,255,.055)}
[hidden]{display:none!important}
.brand-logo{object-fit:contain;width:40px;height:36px;vertical-align:middle;margin-right:11px}
.desktop-nav{display:flex;gap:clamp(20px,2.6vw,42px);align-items:center}
.desktop-nav a{font-size:14px;line-height:1.5;padding:9px 0;color:#ccc;transition:color .2s}
.desktop-nav a:hover{color:#fff}
.header-actions{display:flex;gap:22px;align-items:center}
.header-contact{font-size:14px;line-height:1.5;white-space:nowrap;display:flex;gap:22px;align-items:center;padding:9px 0}
.header-contact span{font-size:20px}
.header-contact:hover{text-decoration:underline;text-underline-offset:6px}
.menu-toggle{display:none;align-items:center;gap:12px;padding:10px 0;font-size:14px}
.menu-toggle span{font-size:18px}
.is-reading .site-header{background:rgba(0,0,0,.94);backdrop-filter:blur(14px)}
.company-content{position:relative;z-index:12;background:linear-gradient(180deg,transparent,rgba(0,0,0,.32) 250px);padding:40px var(--edge);pointer-events:auto}
.content-window,.company-footer{border:0;border-radius:18px;background:var(--panel-surface);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:1280px;margin:0 auto 32px;padding:clamp(28px,4.2vw,64px)}
.content-window{scroll-margin-top:112px}
.content-window:focus{outline:none}
.content-window h2{font-size:clamp(32px,3.7vw,52px);font-weight:500;line-height:1.14;letter-spacing:-.04em;margin:0;overflow-wrap:break-word}
.content-window h3{font-size:20px;font-weight:400;line-height:1.35;letter-spacing:-.02em;margin:0 0 12px}
.content-window p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 23px}
.content-window .eyebrow{display:inline-flex;align-items:center;max-width:100%;padding:7px 12px;border-radius:6px;background:rgba(255,255,255,.1);font-size:.875rem;font-weight:500;letter-spacing:.04em;line-height:1.5;color:#eee;margin-bottom:22px}
.section-heading{margin-bottom:42px}
.split-heading{display:flex;align-items:end;justify-content:space-between;gap:60px}
.split-heading>div>p:not(.eyebrow){max-width:360px;margin-bottom:13px}
.about-layout{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:70px}
.about-layout .lead-copy{font-size:clamp(19px,2vw,25px);line-height:1.5;letter-spacing:-.02em;color:#d4d4d4;margin-bottom:21px}
.brand-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.brand-stats>div{display:flex;flex-direction:column;gap:12px;padding:28px 24px;border-radius:12px;background:var(--inset-surface)}
.brand-stats strong{font-size:clamp(48px,5vw,68px);line-height:1;font-weight:400;letter-spacing:-.05em;color:white}
.brand-stats span{font-size:14px;color:#c5c5c5}
.text-action{display:inline-flex;align-items:center;justify-content:space-between;gap:17px;font-size:.9375rem;line-height:1.5;padding:8px 0;color:white}
.text-action>span,.project-card i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);font-size:21px;color:white;font-style:normal;transition:background .2s,transform .2s}
.text-action:hover>span,.project-card:hover i{background:#fff;color:#111;transform:translate(2px,-2px)}
.text-action:hover{text-decoration:underline;text-underline-offset:6px}
.principles{display:flex;gap:14px 24px;flex-wrap:wrap;font-size:.875rem;color:#ddd;margin-top:32px}
.principles>span{display:inline-flex;align-items:center;gap:10px;line-height:1.5}
.principles i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:rgba(255,255,255,.1);color:white;font-size:14px;font-style:normal}
.team-details{margin-top:28px;scroll-margin-top:125px}
.team-details summary,.package-details summary{display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:1rem;line-height:1.5;cursor:pointer;list-style:none;padding:17px 20px;border-radius:10px;background:var(--inset-surface)}
.team-details summary::-webkit-details-marker,.package-details summary::-webkit-details-marker,.enquiry-details summary::-webkit-details-marker{display:none}
.team-details summary>span,.package-details summary>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:rgba(255,255,255,.08);font-size:24px;font-weight:300;transition:transform .2s}
.team-details[open]>summary>span,.package-details[open]>summary>span,.enquiry-details[open]>summary>span{transform:rotate(45deg)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:26px 0 0}
.team-grid h3{font-size:17px;margin-bottom:7px}
.team-grid p{font-size:14px;margin:0;color:#bbb}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-grid article{display:flex;flex-direction:column;align-items:start;padding:26px 22px;background:var(--inset-surface);border:0;border-radius:12px;min-width:0}
.service-marker{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;margin-bottom:26px}
.service-icon{width:46px;height:46px;padding:11px;flex-shrink:0;border-radius:10px;background:rgba(255,255,255,.09);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.item-number{font-size:.875rem;color:#b7b7b7}
.service-grid h3{font-size:25px;line-height:1.15;margin-bottom:20px;letter-spacing:-.035em}
.service-grid p{flex:1;max-width:230px;font-size:16px;line-height:1.65;margin-bottom:17px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 22px}
.project-card{display:block;text-align:left;padding:0;min-width:0;background:var(--inset-surface);border:0;border-radius:12px}
.project-card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 42%;display:block;border-radius:12px 12px 0 0;background:#111;transition:filter .25s}
.project-card>span{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1rem;line-height:1.5;padding:16px;color:#eee}
.project-card:hover>img{filter:brightness(1.12)}
.process-list{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.process-list li{display:flex;flex-direction:column;gap:20px;align-items:start;padding:24px;border-radius:12px;background:var(--inset-surface)}
.step-marker{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.step-marker>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;background:rgba(255,255,255,.1);border-radius:50%;font-size:.875rem;color:white}
.step-marker i{font-size:24px;font-style:normal;color:#b7b7b7}
.process-list h3{font-size:17px;line-height:1.4;letter-spacing:0;margin:0;max-width:130px}
.solid-button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;max-width:100%;min-height:48px;background:#f5f5f5;color:#080808;border:0;border-radius:8px;padding:14px 22px;font-size:.9375rem;font-weight:500;line-height:1.5;transition:background .2s}
.solid-button:hover{background:#d8d8d8}
.solid-button span{font-size:20px}
.package-controls{display:flex;gap:22px;align-items:center;padding:20px 0 32px;font-size:14px;color:#aaa}
.package-controls select{width:300px;max-width:100%}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.package-grid article{padding:26px 22px;background:var(--inset-surface);border:0;border-radius:12px;display:flex;flex-direction:column;align-items:start;min-width:0}
.content-window .package-tier{font-size:.875rem;letter-spacing:.08em;color:#ccc;margin-bottom:20px}
.package-grid h3{font-size:36px;font-weight:400;line-height:1.2;white-space:nowrap;letter-spacing:-.04em;margin-bottom:18px}
.package-grid h3 small{font-size:14px;color:#bbb;letter-spacing:0}
.package-grid article>p:not(.package-tier){flex:1;font-size:16px;line-height:1.65;max-width:280px}
.spec-link{display:inline-block;font-size:14px;color:#bbb;margin-top:24px;line-height:1.7}
.spec-link:hover{text-decoration:underline;text-underline-offset:6px}
.content-window .pricing-note{font-size:14px;line-height:1.7;color:#b7b7b7;max-width:760px;margin:22px 0 0}
.rate-table-wrap{overflow-x:auto;margin-top:32px}
.rate-table{width:100%;border-collapse:collapse;font-size:15px;text-align:left;min-width:450px}
.rate-table caption{text-align:left;margin-bottom:18px;color:#aaa;font-size:15px}
.rate-table th{font-weight:400;color:#ccc}
.rate-table thead,.rate-table tbody tr:nth-child(even){background:var(--inset-surface)}
.rate-table td,.rate-table th{border:0;padding:15px 16px;line-height:1.5}
.rate-table th:first-child,.rate-table td:first-child{padding-left:16px}
.partner-group{padding:0;margin-top:35px}
.partner-group h3{font-size:14px;color:#bbb;margin-bottom:18px;letter-spacing:0}
.partner-list{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap;color:#eee;font-size:1rem;line-height:1.5}
.partner-list li{padding:15px 20px;border-radius:8px;background:var(--inset-surface)}
.partner-group p{max-width:960px;margin:0;font-size:16px;color:#c5c5c5;line-height:1.9}
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;align-items:start}
.contact-phone{font-size:clamp(25px,3vw,40px);font-weight:400;line-height:1.4;letter-spacing:-.035em;display:block;white-space:nowrap}
.secondary-phone{font-size:17px;display:block;color:#aaa;margin:10px 0 25px}
.contact-email{font-size:17px;color:#bbb;overflow-wrap:anywhere}
.address-block{margin-top:39px}
.small-label{font-size:.875rem;letter-spacing:.04em;color:#ccc}
.address-block address{font-size:16px;line-height:1.65;font-style:normal;color:#aaa;margin:16px 0 11px}
.enquiry-details{padding:26px;background:var(--inset-surface);border-radius:12px;min-width:0}
.enquiry-details summary{display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;list-style:none;font-size:28px;line-height:1.3;letter-spacing:-.03em;padding:0}
.enquiry-details[open] summary{margin-bottom:22px}
.enquiry-details summary>span{font-size:30px;font-weight:300;transition:transform .2s}
.enquiry-details .enquiry-intro{font-size:16px;color:#c5c5c5;margin:0 0 25px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin-bottom:22px}
.form-grid label{font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:10px;color:#bbb}
.form-grid .optional{display:inline;color:#777;font-size:12px;margin-top:-8px}
input,select,textarea{font:inherit;font-size:16px;line-height:1.4;min-width:0;border:0;border-radius:8px;box-shadow:none;background:#242424;color:#f5f5f5;padding:14px;width:100%;min-height:48px}
textarea{resize:vertical;min-height:110px}
input::placeholder,textarea::placeholder{color:#adadad}
input:focus,select:focus,textarea:focus{outline:2px solid white;outline-offset:2px}
.full-width{grid-column:1/-1}
.enquiry-form .form-help{font-size:14px;line-height:1.6;margin:14px 0 0;color:#bbb}
.enquiry-ready{padding:22px 0;margin-top:17px;background:none;border:0}
.enquiry-ready p{font-size:14px;margin:0 0 12px}
.enquiry-ready p:last-child{margin:12px 0 0}
.enquiry-ready p a{text-decoration:underline;text-underline-offset:4px}
.company-footer{display:grid;grid-template-columns:1.2fr 1fr .65fr;gap:40px;margin-bottom:0}
.company-footer p{font-size:14px;color:#bbb;line-height:1.6;margin:15px 0 0}
.company-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;align-content:start}
.company-footer a:not(.wordmark){font-size:14px;color:#aaa;line-height:1.5}
.company-footer a:hover{color:white}
.social-links{display:flex;flex-direction:column;gap:14px;align-items:start}
.legal-row{grid-column:1/-1;padding-top:15px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:#aaa}
.legal-row a{font-size:13px!important;color:#bbb!important}
dialog{color:#f5f5f5;border:0;box-shadow:none;background:#080808;padding:28px;max-height:90svh;overscroll-behavior:contain}
dialog::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(14px)}
.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:20px}
.dialog-bar>button{font-size:31px;line-height:1;padding:4px 10px;min-width:44px;min-height:44px}
.menu-dialog{width:min(520px,calc(100vw - 32px))}
.menu-dialog nav{display:flex;flex-direction:column}
.menu-dialog nav a{padding:13px 0;font-size:25px;line-height:1.3;letter-spacing:-.025em}
.menu-phone{display:inline-block;margin-top:24px;font-size:16px;color:#888}
.project-dialog{width:min(1180px,calc(100vw - 32px));padding:20px 25px}
.project-dialog h2{font-size:18px;letter-spacing:0;line-height:1.4;margin:0}
.project-dialog>img{display:block;width:100%;height:auto;max-height:72svh;object-fit:contain}
html.dialog-open{overflow:hidden}
@media(max-width:1120px){.desktop-nav{gap:22px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-stats{gap:12px}.about-layout{gap:32px}.package-grid h3{font-size:30px}.contact-layout{gap:32px}}
@media(max-width:960px){.desktop-nav{display:none}.menu-toggle{display:inline-flex}.split-heading{align-items:start;flex-direction:column;gap:24px}.about-layout{grid-template-columns:1fr}.brand-stats{max-width:440px;gap:16px;margin-top:8px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.team-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr;gap:32px}.enquiry-details{max-width:650px}.package-grid{grid-template-columns:1fr}.package-grid article>p:not(.package-tier){max-width:none}.company-footer{grid-template-columns:1fr 1fr}.social-links{grid-column:1/-1;flex-direction:row;gap:25px}}
@media(max-width:760px){.brand-logo{width:35px;height:31px;margin-right:8px}.header-contact{display:none}.company-content{padding:24px var(--edge)}.content-window,.company-footer{padding:28px 24px;border-radius:14px}.content-window{margin-bottom:22px;scroll-margin-top:100px}.content-window h2{font-size:clamp(1.875rem,5vw,2.25rem)}.section-heading{margin-bottom:30px}.principles{gap:14px 22px;margin-top:28px}.team-details{margin-top:24px}.team-grid{grid-template-columns:1fr 1fr;gap:25px}.team-grid h3{font-size:16px}.service-grid{gap:14px}.service-grid h3{font-size:23px}.service-grid p{font-size:16px}.service-marker{margin-bottom:22px}.project-grid{gap:20px 14px}.project-card>span{font-size:14px;gap:8px;padding:12px}.project-card i{width:30px;height:30px;flex-basis:30px;font-size:19px}.process-list{gap:12px}.process-list li{padding:20px;gap:18px}.process-list h3{font-size:16px}.package-controls{align-items:start;flex-direction:column;gap:11px}.package-controls select{width:100%}.package-grid h3{font-size:35px}.partner-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:16px}.partner-list li{padding:14px}.partner-group{margin-top:30px}.contact-phone{font-size:31px}.enquiry-details summary{font-size:26px}.enquiry-details{padding:22px}.company-footer{gap:30px}.social-links{gap:22px;flex-wrap:wrap}.legal-row{justify-content:flex-start;gap:18px}.legal-row>span{flex-basis:100%}}
@media(max-width:640px){.service-grid{grid-template-columns:1fr}.service-grid article{padding:24px}.service-grid p{max-width:none}.service-grid .text-action{width:100%}.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:1fr}.project-card>span{font-size:16px;padding:16px}.project-card>img{aspect-ratio:4/3}.form-grid{grid-template-columns:1fr}.company-footer{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.contact-phone{font-size:28px}}
@media(max-width:420px){.site-header{gap:12px}.wordmark{font-size:23px}.brand-logo{width:31px;height:28px}.content-window,.company-footer{padding:26px 20px}.content-window .eyebrow{font-size:.875rem;letter-spacing:0;padding:7px 10px}.brand-stats{gap:12px}.brand-stats>div{padding:22px 18px}.brand-stats strong{font-size:46px}.contact-phone{font-size:26px}.process-list li{padding:18px 14px}.step-marker{gap:10px}.enquiry-details{padding:20px 18px}.enquiry-details summary{font-size:22px;gap:14px}.team-details summary,.package-details summary{padding:15px;gap:14px}.solid-button{gap:16px;padding:14px 18px}}
@media(max-height:570px){.project-dialog>img{max-height:65svh}}
/* Website management and direct project enquiries. */
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-grid p{max-width:none}
.floating-project{position:fixed;right:var(--edge);bottom:max(24px,env(safe-area-inset-bottom));z-index:30;display:inline-flex;align-items:center;gap:25px;padding:15px 22px;min-height:54px;border:0;border-radius:12px;background:#fff;color:#111;font-size:1rem;font-weight:600;box-shadow:0 8px 36px #0006;transition:transform .2s,background .2s}
.floating-project>span:last-child{font-size:24px;font-weight:400}
.floating-project:hover{background:#e8e8e8;transform:translateY(-3px)}
.company-content{padding-bottom:110px}
.enquiry-dialog{width:min(700px,calc(100vw - 28px));border-radius:18px;padding:30px;overflow-y:auto;background:#101010}
.enquiry-dialog .dialog-bar{position:sticky;top:-30px;background:#101010;z-index:1;padding:10px 0}
.enquiry-dialog h2{font-size:30px;line-height:1.2;letter-spacing:-.03em;margin:0}
.enquiry-ready{padding:18px;border-radius:10px;background:#1c2a22;color:#e3f3e9;font-size:1rem;line-height:1.6}
.enquiry-ready.error{background:#382323;color:#ffdddd}
button:disabled{opacity:.6;cursor:wait}
.spam-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.project-gallery{display:flex;gap:12px;overflow-x:auto;padding:15px 0}
.project-gallery button{padding:0;flex:0 0 96px;border-radius:7px;overflow:hidden}
.project-gallery img{display:block;width:96px;height:70px;object-fit:cover}
.project-detail-meta{font-size:14px;line-height:1.6;color:#bbb;margin:12px 0}
.project-detail-description{font-size:16px;line-height:1.7;white-space:pre-wrap;margin:14px 0}
.content-window .content-update-notice{font-size:14px;color:#ccc;margin:25px 0 0}
@media(max-width:760px){.chapter-copy{bottom:100px;max-height:calc(100svh - 200px)}.floating-project{bottom:max(18px,env(safe-area-inset-bottom));right:var(--edge);padding:13px 18px;font-size:.9375rem;min-height:50px}.enquiry-dialog{padding:24px 20px}.enquiry-dialog .dialog-bar{top:-24px}.enquiry-dialog h2{font-size:26px}}
@media(max-width:640px){.service-grid{grid-template-columns:1fr}}
@media(max-height:570px){.chapter-copy{bottom:90px;max-height:calc(100svh - 178px)}}
.partner-logo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.partner-logo-grid li{min-width:0}
.partner-logo-frame{display:flex;align-items:center;justify-content:center;padding:16px;background:#fff;border-radius:10px;height:110px}
.partner-logo-frame img{width:100%;height:100%;object-fit:contain}
.partner-logo-grid li>span{display:block;font-size:14px;line-height:1.5;color:#ddd;margin-top:12px}
.partner-selector{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;font-size:16px;color:#ddd}
.partner-selector select{width:230px;max-width:100%}
@media(max-width:760px){.partner-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.partner-logo-frame{height:90px;padding:12px}.partner-selector{align-items:start;flex-direction:column;gap:12px}.partner-selector select{width:100%}}
