@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f7f4ec;--ink:#112640;--dark:#10243b;--accent:#efd6a2;--line:#c4b9a4;--muted:#4b5864}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "Instrument Sans",Arial,sans-serif}a{color:inherit;text-underline-offset:.24em}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit}button,.button{background:var(--accent);border:1px solid transparent;color:#132844;padding:.8rem 1.25rem;border-radius:4px;font-weight:700;text-decoration:none;display:inline-block;cursor:pointer}button:hover,.button:hover{background:#f6e4bf}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.wrap{width:min(1130px,calc(100% - 8vw));margin-inline:auto}.nav,footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav{min-height:76px}nav{display:flex;gap:2rem}nav a{text-decoration:none;font-size:.9rem;font-weight:600}.brand{display:inline-flex;gap:.65rem;align-items:center;font-size:.88rem;letter-spacing:.09em;font-weight:700;text-decoration:none;white-space:nowrap}.brand img{display:block;width:clamp(8rem,16vw,12rem);height:auto}.small{padding:.55rem .8rem;color:var(--dark);border-color:var(--dark);background:transparent}.hero{background:var(--dark);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:44px;min-height:454px;padding-block:45px}.hero-grid>div:first-child{z-index:1}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:700;margin:0 0 1rem}.hero .eyebrow{color:var(--accent)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.04;margin:0 0 .7em}h1{font-size:clamp(3rem,6.5vw,5.75rem);letter-spacing:-.065em;line-height:.98;margin-bottom:.23em}h2{font-size:clamp(2rem,3.7vw,3.4rem);letter-spacing:-.035em;margin-bottom:.45em}h3{font-size:1.65rem;margin-bottom:.45em}.lede{font-size:1.13rem;max-width:36rem;color:#ece7dc}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-top:1.7rem}.secondary{font-weight:600}.graphic{min-height:332px;position:relative;display:grid;place-items:center;border:1px solid #947c55;background:radial-gradient(ellipse at center,#25435a 0,#152b42 59%,#10243b 100%);overflow:hidden}
.orbit{position:absolute;inset:17% 12%;border:1px solid #a99162;border-radius:50%}
.orbit-a{transform:rotate(-32deg)}
.orbit-b{transform:rotate(32deg)}
.stamp{font:clamp(8rem,15vw,12rem)/1 Georgia,serif;color:var(--accent);z-index:1}
.section{padding-block:clamp(2.6rem,5vw,4rem);scroll-margin-top:1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2rem}.cards article{border-top:1px solid var(--line);padding-top:1.1rem}.cards a,.panel a{font-weight:700}.workflow{background:#eeebe2}.workflow-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);align-items:start}.panel{background:#fffdf8;border:1px solid var(--line);border-radius:6px;padding:clamp(1.1rem,3vw,2rem)}.steps{display:flex;gap:.6rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.3rem}.steps span{padding:.2rem .55rem;font-size:.85rem;color:var(--muted)}.steps [aria-current]{background:var(--dark);color:white;border-radius:3px}fieldset{margin:0;padding:0;border:0;min-width:0}legend{font-size:1.18rem;font-weight:700;padding:0;margin-bottom:.5rem}label{display:block;font-size:.9rem;font-weight:700;margin:.7rem 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;margin-top:.24rem;border:1px solid #8a97a4;background:white;color:var(--ink);padding:.52rem .62rem;border-radius:3px}textarea{min-height:5rem;resize:vertical}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}.hint{font-size:.88rem;color:var(--muted)}.form-actions{display:flex;gap:.7rem;margin-top:1rem}.outline{border-color:var(--ink);background:transparent}.check{display:flex;gap:.55rem;align-items:baseline;font-weight:500}.check input{accent-color:var(--dark);flex-shrink:0}.notice{background:#f0e4cb;padding:.75rem;margin-block:.8rem;border-radius:3px}.match{border-bottom:1px solid var(--line);padding-bottom:.5rem}.international{background:#e9e5da}output{font-weight:700;display:block}footer{background:var(--dark);color:var(--paper);padding-block:1.8rem}.skip{position:absolute;left:.5rem;top:-6rem;background:white;padding:.5rem;z-index:10}.skip:focus{top:.5rem}:focus-visible{outline:3px solid #46658d;outline-offset:3px}#status:empty{display:none}.panel.confirmed{padding-block:3rem}
@media(max-width:760px){.wrap{width:calc(100% - 2rem)}.nav{min-height:64px;gap:.75rem}nav{display:none}.hero-grid,.cards,.workflow-layout{grid-template-columns:1fr}.hero-grid{padding-block:2.5rem;gap:1.5rem}.graphic{min-height:190px;width:min(100%,320px);margin-inline:auto}.stamp{font-size:8rem}.cards{gap:1.1rem}footer .wrap{flex-wrap:wrap}h1{font-size:clamp(2.8rem,10vw,4.9rem)}}@media(max-width:420px){.grid{grid-template-columns:1fr}.brand{font-size:.72rem}.nav .small{font-size:.78rem}}
.fee-heading{margin-top:1.6rem}.filing-fees{margin:0}.filing-fees div{display:grid;grid-template-columns:1fr auto;gap:1rem;border-bottom:1px solid var(--line);padding:.55rem 0}.filing-fees dd{margin:0;font-weight:700;white-space:nowrap}footer address{font-style:normal;font-size:.9rem}

#services .cards{margin-top:0}
#services article{border-top-color:#ad9a7b}
#services article p{color:var(--muted)}
#check-status{border-top:1px solid var(--line)}
#services h2{font-size:clamp(1.48rem,2.4vw,1.9rem);letter-spacing:0}

.practice-intro{max-width:740px;margin:0 0 1.4rem}
.patent-details{margin:1.75rem 0;gap:2rem}
.resource-list{padding-left:1.2rem}
#patents .cards h3,#experience .cards h3{font-size:1.65rem}

.profile{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:1.5rem;padding-block:1.5rem;border-top:1px solid var(--line);scroll-margin-top:1rem}
.profile img{width:100%;height:auto;display:block;border-radius:4px;aspect-ratio:6/7;object-fit:cover}
.guide .profile h3{margin-top:0}
.profile .hint{margin-top:-.15rem}
.disclosure-group{margin-top:1.6rem;padding-top:.7rem;border-top:1px solid var(--line)}
.disclosure-group legend{font:1.4rem Georgia,serif;padding-right:.5rem}
.disclosure-more summary{cursor:pointer;font-weight:700;margin-block:.6rem}
@media(max-width:550px){.profile{grid-template-columns:1fr;gap:.8rem}.profile img{max-width:160px}}

.firm-address{font-style:normal;line-height:1.5}
.footer-links{display:grid;gap:.35rem}
footer .brand img{width:12rem}

.policy-copy{max-width:70ch}
.inquiry-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
#contactForm{scroll-margin-top:1.5rem}
