@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/44ce4a84f20d60f24539.woff2) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/df54dbfafba61d4911eb.woff2) format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/076831b98043f50f829b.woff2) format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/b4fc14ec283d54236fd3.woff2) format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/50357df108c5d297ec4e.woff2) format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/32971ad7976930539a11.woff2) format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/d9e0ddb4a15a0054ad84.woff2) format('truetype');
}

:root{--bg:#05070a;--surface:#0e1621;--surface2:#111d2b;--text:#f7fbff;--muted:#a8b6c6;--blue:#2185ef;--bright:#77b7ff;--line:#2b3949;--ink:#05070a;--paper:#eef3f8;--papertext:#142236;--papermuted:#47596f;--good:#87e3be;--shadow:0 24px 70px #0007;--radius:18px;--small:9px;--pill:99px;--font:'Plus Jakarta Sans',Arial,sans-serif;--mono:'JetBrains Mono',monospace;--transparent:transparent}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font)}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,summary{cursor:pointer}a,button,summary,label{-webkit-tap-highlight-color:transparent}a:hover{color:var(--bright)}a:active,button:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--bright);outline-offset:5px}.skip{position:absolute;left:-10000px}.skip:focus{left:12px;top:12px;z-index:10;padding:12px;background:var(--surface)}.wrap{width:min(1240px,calc(100% - 40px));margin:auto}.mock-note{padding:7px 20px;text-align:center;background:var(--surface2);color:var(--muted);font:11px/1.6 var(--mono)}.mock-note strong{color:var(--text);font-weight:400}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}.brand img{width:43px;height:43px;flex:none}.brand strong{display:block;font-size:17px;line-height:1.3;letter-spacing:-.6px}.brand small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.navlinks{display:none;gap:25px;align-items:center;font-size:13px}.navlinks a{padding:12px 0;text-decoration:none}.navlinks a:hover{text-decoration:underline}.btn.nav-action{display:none}.mobile{position:relative}.mobile summary{min-height:44px;padding:10px 4px;font-size:13px}.mobile nav{position:absolute;right:0;top:48px;width:220px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--small);z-index:5;box-shadow:var(--shadow)}.mobile a{display:block;padding:12px}.eyebrow{font:11px/1.7 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bright);margin-bottom:20px}h1{font-size:clamp(42px,5.5vw,76px);line-height:1.075;letter-spacing:-.055em;font-weight:800}h1 span{color:var(--bright)}h2{font-size:clamp(28px,3.1vw,44px);letter-spacing:-.045em;line-height:1.16}h3{font-size:19px;letter-spacing:-.025em}.lede{font-size:17px;color:var(--muted);max-width:560px;line-height:1.85;margin:25px 0}.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:28px 0 15px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:12px 21px;border-radius:var(--small);border:1px solid var(--line);font-size:13px;text-decoration:none;font-weight:700;background:var(--surface);color:var(--text)}.btn:hover{background:var(--surface2);color:var(--text);border-color:var(--bright)}.btn.primary{background:var(--blue);color:var(--ink);border-color:var(--blue)}.btn.primary:hover{background:var(--bright);border-color:var(--bright)}.plain{display:inline-flex;align-items:center;min-height:44px;padding:10px 3px;font-size:13px}.price-inline{font:12px/1.8 var(--mono);color:var(--muted)}.price-inline strong{color:var(--text)}.hero{padding:58px 0}.split{display:grid;gap:42px;align-items:center}.benefits{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.benefits span::before{content:'✓';color:var(--good);margin-right:8px}.browser{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.browserbar{min-height:39px;padding:11px 15px;display:flex;gap:12px;align-items:center;font:9px/1.5 var(--mono);color:var(--muted)}.dots{letter-spacing:3px;color:var(--muted)}.browser img{display:block;width:100%;height:auto;aspect-ratio:1280/840;object-fit:cover;object-position:top}.browserfoot{padding:13px 16px;display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:15px}.browserfoot small{color:var(--muted)}.work-picker{border:0;padding:0;margin:0;min-width:0}.work-picker legend{font:10px var(--mono);color:var(--muted);margin-bottom:13px}.work-picker input,.size-input{position:absolute;width:1px;height:1px;opacity:0}.tabs{display:flex;gap:6px;margin:12px 0 0;flex-wrap:wrap}.tabs label{padding:10px 12px;font-size:11px;min-height:44px;display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--small);color:var(--muted);cursor:pointer}.tabs label:hover{border-color:var(--bright)}.shot{display:none}#work-room:checked~.shots .room,#work-nanni:checked~.shots .nanni,#work-cont:checked~.shots .cont{display:block}#work-room:checked~.tabs [for=work-room],#work-nanni:checked~.tabs [for=work-nanni],#work-cont:checked~.tabs [for=work-cont]{color:var(--text);background:var(--surface2);border-color:var(--bright)}#work-room:focus-visible~.tabs [for=work-room],#work-nanni:focus-visible~.tabs [for=work-nanni],#work-cont:focus-visible~.tabs [for=work-cont]{outline:3px solid var(--bright);outline-offset:3px}.section{padding:68px 0;border-top:1px solid var(--line)}.sectionhead{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.sectionhead p{max-width:420px;font-size:13px;color:var(--muted)}.gallery{display:grid;gap:24px}.gallery figure{min-width:0}.gallery img{width:100%;height:auto;display:block;border-radius:var(--small);border:1px solid var(--line);aspect-ratio:1280/840}.gallery figcaption{padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.gallery small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.enlarge{border:1px solid var(--line);border-radius:var(--small);overflow:hidden;margin-top:5px}.enlarge summary{padding:12px;font-size:12px;min-height:44px}.enlarge img{border:0;border-radius:0}.scope{display:grid;gap:30px}.scope-card{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.price{font-size:clamp(62px,7vw,94px);font-weight:800;letter-spacing:-.07em;line-height:1.05}.price small{font-size:14px;color:var(--muted);letter-spacing:0;font-weight:400}.scope-card .eyebrow{margin-bottom:13px}.scope-card p{color:var(--muted);font-size:13px;margin:18px 0}.scope-list{list-style:none;padding:0;margin:0}.scope-list li{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;display:flex;gap:14px}.scope-list li::before{content:'✓';color:var(--good)}.scope-detail{margin-top:16px}.scope-detail summary{padding:14px 0;min-height:44px;font-size:13px}.scope-detail p{font-size:13px;color:var(--muted);max-width:680px}.steps{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:28px;counter-reset:step}.steps li{counter-increment:step;border-top:1px solid var(--line);padding-top:22px}.steps li::before{content:'0' counter(step);font:12px var(--mono);color:var(--bright);display:block;margin-bottom:16px}.steps h3{margin-bottom:10px}.steps p{font-size:13px;color:var(--muted)}.care{display:grid;gap:26px;background:var(--surface);border-radius:var(--radius);padding:30px}.care h2{font-size:26px}.care p{font-size:13px;color:var(--muted);margin-top:14px;max-width:650px}.care details{font-size:13px}.care summary{min-height:44px;padding:10px 0;color:var(--bright)}.project{display:grid;gap:30px}.project p{color:var(--muted);font-size:15px;margin:20px 0;max-width:480px}.project details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-self:start}.project summary{padding:22px;min-height:64px;font-weight:700;font-size:14px}.inquiry{padding:0 22px 25px}.inquiry ol{padding-left:20px;color:var(--muted);font-size:13px;line-height:2}.inquiry p{font-size:12px;padding-top:15px;border-top:1px solid var(--line)}footer{border-top:1px solid var(--line);padding:28px 0 38px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer a{min-height:44px;display:inline-flex;align-items:center}.local-note{font:10px/1.8 var(--mono);color:var(--muted);margin-top:14px}.portfolio .hero{padding-bottom:32px}.portfolio .hero-top{display:grid;gap:20px;align-items:end}.portfolio h1{max-width:780px}.portfolio .hero-side .lede{margin-top:0;font-size:15px}.portfolio-stage{margin-top:30px;display:grid;gap:16px;align-items:start}.portfolio-stage .feature{min-width:0}.portfolio-stage .stack{display:grid;gap:16px;min-width:0}.portfolio-stage .stack .browserbar{min-height:30px;padding:7px 12px}.portfolio-stage .stack .browserfoot{padding:10px 12px}.portfolio-stage .browser{box-shadow:none}.portfolio .scope-card{background:var(--paper);color:var(--papertext)}.portfolio .scope-card p,.portfolio .scope-card .eyebrow,.portfolio .scope-card .price small{color:var(--papermuted)}.portfolio .scope-card a:not(.btn){color:var(--papertext)}.portfolio .scope-card .local-note{color:var(--papermuted)}.offer .offer-top{display:grid;gap:36px;align-items:stretch}.offer .offer-copy{padding:4px 0}.offer-mobile{margin:4px 0 12px}.offer-mobile-price{display:block;margin:14px 0 0}.offer .offer-copy h1{font-size:clamp(42px,4.8vw,67px)}.offer-panel{background:var(--surface);border:1px solid var(--bright);border-radius:var(--radius);padding:30px}.offer-panel .price{font-size:clamp(80px,9vw,130px)}.offer-panel p{font-size:13px;color:var(--muted);margin:18px 0}.offer-panel .scope-list li{font-size:12px;padding:11px 0}.offer-panel .btn{width:100%;margin-top:23px}.offer-panel .local-note{font-size:10px}.offer-strip{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:12px}.offer-strip span{font-size:12px;color:var(--muted)}.offer-strip strong{display:block;color:var(--text);font-size:15px;margin-bottom:4px}.offer-showcase{display:grid;gap:28px;align-items:center}.offer-showcase .description p{font-size:14px;color:var(--muted);margin:20px 0}.offer-showcase .description small{font:10px var(--mono);color:var(--bright)}
@media(min-width:700px){.wrap{width:min(1240px,calc(100% - 72px))}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.scope{grid-template-columns:.85fr 1.15fr;gap:65px}.project{grid-template-columns:1fr 1fr;gap:65px}.offer-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-stage{grid-template-columns:1.65fr 1fr}.portfolio-stage .stack img{aspect-ratio:1280/720;object-fit:cover;object-position:top}.portfolio-stage .stack .browserfoot{display:none}.offer-showcase{grid-template-columns:1.4fr 1fr;gap:65px}.care{grid-template-columns:1.6fr 1fr;align-items:center}}
@media(min-width:1000px){.offer .offer-mobile,.offer-mobile-price{display:none}.navlinks,.btn.nav-action{display:flex}.mobile{display:none}.split{grid-template-columns:1fr 1fr;gap:60px}.hero{padding:76px 0 60px}.portfolio .hero-top{grid-template-columns:1.7fr 1fr;gap:65px}.portfolio .hero-side{padding-bottom:4px}.offer .offer-top{grid-template-columns:1.15fr .85fr;gap:80px}.offer-panel{padding:34px}.portfolio-stage{grid-template-columns:1.6fr 1fr;gap:24px}.portfolio-stage .stack{grid-template-columns:1fr;align-self:center;gap:16px}.portfolio-stage .stack .browser img{aspect-ratio:1280/520;object-fit:cover;object-position:top}.portfolio-stage .stack .browserbar{font-size:8px}.portfolio-stage .stack .browserfoot{display:none}.portfolio .hero{padding-top:56px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/*
Copyright 2017 The Archivo Black Project Authors (https://github.com/Omnibus-Type/ArchivoBlack)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Copyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Copyright 2020 The Bodoni Moda Project Authors (https://github.com/indestructible-type/Bodoni)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org/


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Copyright 2022 The Bricolage Grotesque Project Authors (https://github.com/ateliertriay/bricolage)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)

This Font Software is licensed under the SIL Open Font License, Version 1.1.

This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Copyright © 2017 IBM Corp. with Reserved Font Name "Plex"

This Font Software is licensed under the SIL Open Font License, Version 1.1.

This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Copyright 2020 The Plus Jakarta Sans Project Authors (https://github.com/tokotype/PlusJakartaSans)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Copyright 2016 The Space Mono Project Authors (https://github.com/googlefonts/spacemono)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/

:root{--modal-backdrop:rgba(2,5,10,.88);--cover-shade:linear-gradient(0deg,rgba(5,7,10,.85),transparent 58%);--focus:#77b7ff}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.possibilities{min-width:0}.possibilities .eyebrow{margin-bottom:12px}.feature-browser img{aspect-ratio:1280/920}.feature-browser .browserfoot{min-height:75px}.feature-browser .browserfoot small{display:block;margin-top:4px;font-size:10px}.live-button{font-size:11px;padding:9px 12px;min-height:44px}.feature-controls{display:flex;align-items:center;gap:8px;margin-top:12px}.feature-controls select{min-width:0;flex:1;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--small);padding:12px;font:12px var(--font);min-height:46px}.feature-controls button{width:46px;min-height:46px;flex:none;border:1px solid var(--line);border-radius:var(--small);background:var(--surface);color:var(--text);font:18px var(--font);cursor:pointer}.feature-controls button:hover{border-color:var(--bright)}.feature-caption{font-size:12px;line-height:1.85;color:var(--muted);margin-top:15px}.feature-caption strong{color:var(--text);font-weight:500}.possibilities-section h2 span{color:var(--bright)}.gallery-intro{max-width:790px;font-size:16px;line-height:1.9;color:var(--muted);margin-top:-5px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:30px 0}.gallery-toolbar>p{font-size:11px;color:var(--muted)}.filter-controls{display:flex;flex-wrap:wrap;gap:8px;min-width:0;border:0;padding:0;margin:0}.filter-controls input{position:absolute;width:1px;height:1px;opacity:0}.filter-controls label{font-size:11px;min-height:44px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--small);cursor:pointer;display:flex;align-items:center;gap:10px}.filter-controls label:hover{border-color:var(--bright)}.filter-controls label span{color:var(--muted);font:10px var(--mono)}body:has(#all-designs:checked) [for=all-designs],body:has(#image-designs:checked) [for=image-designs],body:has(#graphic-designs:checked) [for=graphic-designs]{background:var(--surface2);border-color:var(--bright)}body:has(#image-designs:checked) .concept[data-group=graphic],body:has(#graphic-designs:checked) .concept[data-group=image]{display:none}body:has(#all-designs:focus-visible) [for=all-designs],body:has(#image-designs:focus-visible) [for=image-designs],body:has(#graphic-designs:focus-visible) [for=graphic-designs]{outline:3px solid var(--bright);outline-offset:4px}.concept-grid{display:grid;gap:30px 24px}.concept{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:border-color .25s}.concept:hover{border-color:var(--bright)}.concept-cover{aspect-ratio:1280/920;position:relative;overflow:hidden;background:var(--bg)}.concept-cover>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease}.concept:hover .concept-cover>img{transform:scale(1.025)}.cover-open{position:absolute;inset:0;display:flex;align-items:end;justify-content:end;width:100%;border:0;background:var(--cover-shade);padding:16px;cursor:pointer;color:var(--text);opacity:0;transition:opacity .25s}.cover-open span{font:11px var(--font);background:var(--bg);padding:10px 13px;border-radius:var(--small)}.concept:hover .cover-open,.cover-open:focus-visible{opacity:1}.concept-info{padding:21px}.concept-category{font:9px/1.7 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--bright)}.concept-info h3{font-size:24px;letter-spacing:-.04em;margin:7px 0}.concept-info>p:not(.concept-category){font-size:13px;color:var(--muted)}.effect-label{font-size:10px;line-height:1.8;color:var(--muted);margin:18px 0 9px;padding-top:13px;border-top:1px solid var(--line)}.concept-notes summary{font-size:11px;min-height:44px;padding:12px 0}.concept-notes p{font-size:12px;color:var(--muted);padding:2px 0 18px}.concept-actions{display:flex;gap:8px 18px;align-items:center;justify-content:space-between;flex-wrap:wrap}.text-button,.concept-download{background:none;border:0;color:var(--bright);font:11px/1.7 var(--font);padding:10px 0;min-height:44px;display:inline-flex;align-items:center;cursor:pointer;text-decoration:none}.concept-download{color:var(--muted)}.text-button:hover,.concept-download:hover{text-decoration:underline}.not-a-template{display:grid;gap:25px;align-items:center;margin-top:35px;padding:30px;border:1px dashed var(--line);border-radius:var(--radius)}.not-a-template h3{font-size:26px;line-height:1.3}.not-a-template p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:14px;max-width:660px}.not-a-template .btn{justify-self:start}.your-direction{display:grid;gap:35px}.your-direction>div>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:22px;max-width:520px}.direction-options article{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.direction-options p{font-size:14px;color:var(--muted);margin-top:13px}.direction-options .plain{margin-top:0}.preview-dialog{width:min(1370px,calc(100vw - 32px));max-width:none;height:min(960px,calc(100dvh - 32px));max-height:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:0;overflow:hidden;box-shadow:var(--shadow)}.preview-dialog::backdrop{background:var(--modal-backdrop)}.preview-dialog[open]{display:flex;flex-direction:column}.preview-dialog:not([open]){display:none}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;border-bottom:1px solid var(--line);flex:none}.viewer-title{min-width:0}.viewer-title h2{font-size:18px;letter-spacing:-.02em}.viewer-title p{font-size:10px;color:var(--muted);margin-top:5px}.viewer-tools{display:flex;gap:8px;align-items:center}.viewer-tools button{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--small);padding:10px 14px;font:11px var(--font);min-height:44px;cursor:pointer}.viewer-tools button[aria-pressed=true]{border-color:var(--bright);color:var(--bright)}.viewer-tools button:hover{border-color:var(--bright)}#close-viewer{font-size:17px;min-width:44px;padding-inline:12px}.viewer-stage{flex:1;min-height:0;background:var(--surface2);display:flex;justify-content:center;padding:0;overflow:auto}.viewer-stage iframe{border:0;display:block;width:100%;height:100%;min-height:100%;background:var(--bg);flex:none}.preview-dialog.phone .viewer-stage iframe{width:min(375px,100%)}.viewer-bottom{padding:9px 20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);flex:none}.preview-dialog~*{min-width:0}[hidden]{display:none!important}.js-fallback{font-size:12px;color:var(--muted);margin-top:15px}@media(min-width:700px){.concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.your-direction{grid-template-columns:1fr 1fr;gap:70px}.not-a-template{grid-template-columns:1fr auto}}@media(min-width:1120px){.concept-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.preview-dialog{width:100vw;height:100dvh;border-radius:0;border:0}.viewer-top{padding:12px;flex-wrap:wrap}.viewer-title h2{font-size:16px}.viewer-tools{gap:5px}.viewer-tools button{padding:10px}.viewer-bottom{padding:9px 12px}.not-a-template{padding:24px}.hero{padding-top:45px}.possibilities .eyebrow{font-size:10px}.feature-controls select{font-size:11px}.feature-caption{font-size:11px}.gallery-intro{font-size:15px}}@media(prefers-reduced-motion:reduce){.concept,.concept-cover>img,.cover-open{transition:none!important;transform:none!important}}

/* Shared staging additions to the approved FTS Option A design. */
.stage-banner{background:var(--surface2);color:var(--bright);border-bottom:1px solid var(--line);padding:10px 20px;font:12px/1.7 var(--mono);text-align:center}.stage-banner a{min-height:44px;display:inline-flex;align-items:center}.navlinks{gap:20px}.page-main{max-width:1180px;margin:auto;padding:0 24px}.page-main>.section:first-child{padding-top:65px}.page-main h1{font-size:clamp(38px,6vw,72px);line-height:1.07;letter-spacing:-.055em;max-width:1000px;margin:15px 0 24px}.page-main h2{font-size:clamp(27px,4vw,43px);line-height:1.15;margin-bottom:20px}.page-main h3{font-size:22px;margin-bottom:12px}.page-main p{max-width:850px}.page-main .lede{font-size:18px;line-height:1.8;color:var(--muted);max-width:760px}.page-main .section{padding-block:45px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-block:28px}.service-card{min-width:0;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.service-card p{color:var(--muted)}.service-card .btn{margin-top:22px}.scope-list{padding-left:22px;line-height:1.9;color:var(--muted)}.scope-list li{margin-bottom:8px}.notice-box{border-left:3px solid var(--bright);background:var(--surface);padding:20px 24px;margin:24px 0;color:var(--muted)}.price-value{display:block;font-size:34px;line-height:1.3;font-weight:700;color:var(--text);margin:16px 0 8px}.proposed{color:var(--bright);font:12px/1.7 var(--mono)}.service-card .price-value small{font-size:15px;color:var(--muted)}.page-main a:not(.btn){color:var(--bright)}.page-main details{border-bottom:1px solid var(--line);padding:12px 0}.page-main summary{padding:10px 0;min-height:44px;font-weight:600}.page-main details p{padding-block:14px}.page-main table{width:100%;border-collapse:collapse;margin:24px 0}.page-main th,.page-main td{text-align:left;vertical-align:top;padding:16px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.page-main th{color:var(--bright)}.page-main form{max-width:760px;margin:35px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{min-width:0}.form-field.wide{grid-column:1/-1}.form-field>label{display:block;margin-bottom:8px;font-weight:600}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:48px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--small);padding:12px;font:16px var(--font)}.form-field textarea{min-height:145px;resize:vertical}.consent-row{display:flex;gap:14px;align-items:flex-start;margin:24px 0;min-height:44px}.consent-row input{margin-top:6px;flex:none;width:20px;height:20px;accent-color:var(--bright)}#lead-status{margin-block:20px;min-height:28px;color:var(--bright)}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.site-footer{width:min(1180px,calc(100% - 48px));margin:auto;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{display:inline-flex;align-items:center;min-height:44px}.site-footer small{color:var(--muted)}.concept-download{white-space:normal}.page-main .concept-grid{margin-top:25px}.viewer-top a{color:var(--bright);min-height:44px;display:inline-flex;align-items:center;font-size:12px}.viewer-tools{flex-wrap:wrap}.viewer-bottom a{color:var(--bright)}[hidden]{display:none!important}.page-main :focus-visible{outline:3px solid var(--bright);outline-offset:4px}.page-main button:disabled{opacity:.65;cursor:not-allowed}.page-main .btn:hover{filter:brightness(1.12)}.page-main .btn:active{transform:translateY(1px)}.page-main :is(a,button,summary){scroll-margin-top:20px}.credits-list article{padding:28px 0;border-bottom:1px solid var(--line)}.credits-list p{overflow-wrap:anywhere}.preview-note{font-size:12px;color:var(--muted);margin-top:12px}.page-main code{overflow-wrap:anywhere;color:var(--bright)}
@media(max-width:760px){.navlinks{display:none}.page-main{padding-inline:20px}.service-grid,.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.service-card{padding:23px}.page-main>.section:first-child{padding-top:40px}.page-main table{font-size:13px}.page-main th,.page-main td{padding:12px 6px}.site-footer{width:calc(100% - 40px)}.page-main .lede{font-size:16px}.viewer-title{min-width:0}.viewer-top{gap:12px}}
#project>.btn{align-self:center;justify-self:start;min-height:52px;padding:14px 24px}.page-main>.section>.scope-list{max-width:80ch}.service-grid{align-items:start}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* FTS site-wide navigation and service-page layer. Concept styles are separate. */
header.nav{gap:20px}.navlinks{gap:18px;white-space:nowrap}.navlinks a[aria-current=page],.mobile nav a[aria-current=page]{color:var(--bright);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.brand[aria-current=page]{text-decoration:none}.mobile nav{max-width:calc(100vw - 40px)}.mobile summary{cursor:pointer;min-width:64px;text-align:center}.stage-banner{font-family:var(--sans, sans-serif)}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:24px;color:var(--muted);font-size:13px}.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}.breadcrumbs+section.section{padding-top:28px}.service-kicker{font:12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--bright);margin-bottom:16px}.page-main .service-hero{padding-bottom:34px}.service-hero .lede{max-width:68ch}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:25px}.hero-actions a:not(.btn){display:inline-flex;align-items:center;min-height:44px;padding:8px 0}.quick-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;color:var(--muted);font-size:14px}.quick-facts span{padding-left:13px;border-left:2px solid var(--bright)}.page-main .section>p+p{margin-top:15px}.page-main .section>p{max-width:72ch}.page-main h2{max-width:29ch}.page-main .service-card h3{max-width:none}.page-main .btn{width:fit-content;max-width:100%;text-align:center}.service-card{display:flex;flex-direction:column}.service-card .btn{align-self:flex-start}.service-card .price-value{color:var(--text)}.service-card .scope-list{flex:1}.service-card p{margin-top:12px}.service-card .price-value small{display:inline-block;font:12px/1.6 var(--mono);color:var(--bright)}.service-aside{align-self:start;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.page-main .service-aside h2{font-size:25px}.service-aside p{color:var(--muted);font-size:15px;line-height:1.8}.related-services{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:20px}.related-services a{display:inline-flex;align-items:center;min-height:44px}.service-aside .related-services{flex-direction:column;gap:4px}.scope-columns,.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.comparison-item{border-top:1px solid var(--line);padding:24px 0;min-width:0}.page-main .faq summary{padding:16px 4px;cursor:pointer}.page-main .faq details p{max-width:75ch}.page-main ol.steps{padding-left:23px;max-width:78ch}.page-main ol.steps li{padding:8px 0 8px 6px;line-height:1.8}.page-main ol.steps li strong{color:var(--text)}
.example-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.example-strip>a,.example-strip article{min-width:0}.example-strip a{display:block;text-decoration:none}.example-strip img{display:block;width:100%;height:auto;aspect-ratio:1.39;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:var(--small)}.example-strip h3{font-size:19px;margin-top:14px}.example-strip a:hover h3{text-decoration:underline}.example-strip p{font-size:14px;color:var(--muted)}
.request-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:42px;align-items:start}.request-layout>div{min-width:0}.request-layout .notice-box{margin-top:0}.page-main .request-layout form{margin-top:26px}.form-field label span{color:var(--muted);font-weight:400}.form-field .field-help{margin-top:8px;font-size:13px;line-height:1.7;color:var(--muted)}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0}.form-field select{min-height:48px}.form-field textarea{min-height:180px}.honeypot{display:none}.consent{display:flex;align-items:flex-start;gap:12px;padding:20px 0;line-height:1.7;font-size:14px;cursor:pointer}.consent input{width:20px;height:20px;flex-shrink:0;margin:3px 0 0}.consent a{display:inline-block;min-height:44px;align-content:center}#lead-status{margin-top:18px;line-height:1.8;overflow-wrap:anywhere}#lead-status:empty{display:none}#lead-submit{min-height:50px}select:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--bright);outline-offset:3px}
.site-footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px;padding-top:42px;padding-bottom:42px;margin-top:45px;align-items:start}.footer-identity .footer-brand{font-size:19px;font-weight:700;color:var(--text);display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.footer-identity p{font-size:14px;color:var(--muted);line-height:1.8;margin:10px 0}.footer-identity .plain{display:inline-flex;align-items:center;min-height:44px}.site-footer .footer-links{display:flex;flex-direction:column;gap:0;align-items:flex-start}.footer-links h2{font:12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:13px 0}.footer-links a{display:inline-flex;min-height:44px;align-items:center;padding:8px 0}.footer-links a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.viewer-bottom .btn{flex-shrink:0;font-size:13px;padding:12px 16px;min-height:44px}
@media(max-width:1099px){header.nav .navlinks,header.nav .nav-action{display:none}header.nav .mobile{display:block}}
@media(min-width:1100px){header.nav .navlinks,header.nav .nav-action{display:flex}header.nav .mobile{display:none}}
:root{--field-border:#71829a}
.page-main ol.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.page-main h1{letter-spacing:-.035em}.page-main h2{letter-spacing:-.025em}.form-field input,.form-field select,.form-field textarea{border-color:var(--field-border)}
body[data-page=pricing] .comparison-item:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}body[data-page=pricing] .comparison-item:nth-child(3)>h3{align-self:center}body[data-page=pricing] .comparison-item:nth-child(3)>p{margin:0}body[data-page=pricing] .comparison-item:nth-child(3)>a{align-self:end}
.quote-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:24px;align-items:start}.quote-card{min-width:0;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.quote-card h2{max-width:none}.quote-details{display:grid;gap:14px;margin:24px 0 30px}.quote-details>div{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}.quote-details dt{color:var(--muted)}.quote-details dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}.quote-copy-block{padding-top:20px;border-top:1px solid var(--line)}.quote-copy-block h3,.quote-terms h3{font-size:16px;margin-bottom:8px}.quote-copy-block p{white-space:pre-wrap;overflow-wrap:anywhere}.quote-terms{margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:var(--small);background:color-mix(in srgb,var(--surface) 75%,var(--text) 5%)}.quote-terms-text{max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:14px;line-height:1.75}.quote-consent{padding:14px 0}.quote-card>.btn{margin-top:6px}.quote-accepted{margin-top:18px;color:var(--bright);font-weight:700}.quote-stages{display:grid;gap:12px;margin:26px 0 16px}.quote-stages .quote-pay{width:100%;justify-content:center}.quote-payment-status{min-height:28px;color:var(--muted);line-height:1.7}.quote-small{font-size:13px;color:var(--muted);line-height:1.7}.quote-footer-note{padding-top:10px}.quote-footer-note p{color:var(--muted)}
@media(max-width:760px){.quote-layout{grid-template-columns:1fr}.quote-card{padding:22px}.quote-details>div{display:block}.quote-details dd{text-align:left;margin-top:4px}.quote-terms-text{max-height:320px}}
@media(max-width:760px){.page-main ol.steps{grid-template-columns:1fr}body[data-page=pricing] .comparison-item:nth-child(3){display:block}.request-layout,.scope-columns,.comparison-grid{grid-template-columns:1fr;gap:22px}.example-strip{grid-template-columns:1fr}.example-strip img{aspect-ratio:1.7}.site-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.footer-identity{grid-column:1/-1}.service-hero .hero-actions{align-items:flex-start}.breadcrumbs{padding-top:14px}.page-main .section{padding-block:32px}.request-layout .service-aside{margin-top:14px}.quick-facts{gap:10px 20px}.service-card{padding:22px}.viewer-bottom .btn{width:100%;justify-content:center}.page-main table{font-size:15px}.page-main th,.page-main td{overflow-wrap:normal}}
